早期的分布计算中,两个分布式程序之间的通信在原始物理网络协议的基础上直接实现。
编程人员必须处理物理网络的细节。通信中间件的出现,封装了低级通信机制的技术,对开发人员隐藏了通信技术库的细节。
按照时间出现的先后顺序分别出现了以下三种通信中间件。
1、 RPC(远程过程调用)
RPC将对远程函数的调用就如同对本地函数的调用一样。大多数RPC实现都基于同步式请求-应答协议。
通信步骤:
客户应用程序->客户占位程序->rpc库->(网络协议)->rpc库->服务端占位程序->服务端应用程序
2、 分布式对象
分布式对象建立在rpc之上。由orb(对象请求代理)支持。Orb管理与可能的远程对象通信和数据交换。Orb基于互操作对象应用的概念,允许通过对象工厂和其他辅助对象,方便地远程创建,定位,调用和删除对象。
通信步骤:
客户应用程序->客户代理->orb->网络协->orb->服务器架构->服务器应用程序
-----------------------------------------------------------------------------------------------
创建、定位、删除、调用
Orb实现技术有corba,dcom,rmi。
缺点:A、同步通信,客户发出调用后,必须等待服务对象完成处理并且返回结果才能继续执行
B、客户和服务对象的生命周期紧密耦合,客户进程和服务对象进程都必须正常运行,如果服务对象崩溃或者网络故障导致客户端请求不可达,客户会接收到异常。
C、点对点通信,客户一次调用只能发送给某个单独的目标对象。
3、 MOM(面向消息的中间件)
Mom解决了以上中间件的缺点,常见的mom都是基于消息队列实现的。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候讲消息发送给接收者。消息队列是客户应用程序和服务器应用程序的中介。已有的Mom系统包括IBM的Mqseries,Microsoft的MSMQ和BEA的MessageQ
发布者---- ----- 订阅者
消息队列
发布者---- ----- 订阅者
发布订阅模型使得消息发布给多个订阅者。
虽然中间件技术解决了系统之间的通信问题。但是由于概念,标准不统一,产品过多。却产生了副作用。Xml技术的出现很好的解决了这个问题。Xml是独立于中间件的格式,可以在不同应用程序之间交换数据和文档。Xml不与特定技术或者中间件标准绑定,作为一种特殊格式来处理各个不兼容中间件平台的数据。基于xml的webservice在以soap为消息传输格式的情况下诞生了。Soap就是webservice的标准通信协议,是标准化的xml格式传输消息。这样便于大家使用同一个格式,同一个标准来对话。Web service实现了服务接口的传输和调用的标准化,服务接口和服务实现的分离,以及web服务组件的可重用性。
SOA和webservice的区别
SOA是一个组件模型,他将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来。SOA整合发布平台将完全无关的平台所提供的各种服务整合起来发布给外界,客户端不知道真正的服务发布者是谁。Webservice只是实现soa的一种途径。Webservice服务接口需要绑定具体实现的服务组件来实现服务,并且对具体的服务实现完成了封装,他本身知道服务是如何实现的,客户端调用webservice组件时,需要知道webservice的具体位置和传输协议。但是soa架构平台只和服务接口进行绑定,实现了服务接口的透明化,服务位置的透明化,服务传输协议的透明化。Soa本身也不知道服务具体是如何实现的。SOA实现了更高程度的抽象。
分享到:
相关推荐
SOA和Web+Service的区别,SOA和Webservice概念与应用,SOA架構
SOA -Webservice SOA -Webservice SOA -Webservice SOA -Webservice
WebService&SOA&ESB
SOA & Webservice The Essentials of Service Orientation
SOA、WebService、UDDI、WSDL、SOAP、MSMQ概念.docx
微软讲座ppt,介绍SOA以及Webservice的一些知识
测试SOA_WebService工具(SOAPUI,JMeter等)介绍和使用 SOA Testing 工具介绍 1 目 录 2 一、 SOAP UI 3 1. 介绍 3 2. 安装、运行SOAP UI 3 3. 使用指南 4 1.3.1创建、导入工程 4 1.3.2执行web service操作请求 7 ...
Soa Using Java WebService
测试SOA_WebService工具(SOAPUI_JMeter等)介绍和使用
包含了广工soa和webservice的四次实验源代码以及四次实验的报告,如创建Web Service,编写Web Service的客户端程序,对SOAP消息包的操作,基于Jersey框架创建RESTful服务端和客户端
测试SOA_WebService工具(SOAPUI,JMeter等)介绍和使用.doc
SOA Using Java in Webservice
内含ppt,视频,文档,示例!!!!!!!
实验报告【全集】https://blog.csdn.net/qq_41587612/article/details/106428769
WebService 因其中立的技术标准、松散耦合、通用的协议规范成为 SOA 的主流实现技术,本文重点研究了 Web- Service 的核心技术和工作原理,开发并使用了 WebService。
面向服务的架构SOA分为2种 SOAP即Webservice和REST.zip
内含ppt,视频,文档,示例!!!!!!!
内含ppt,视频,文档,示例!!!!!!!
ESB减少了你的SOA体系中的接口的数量,大小和复杂度。 ESB在请求者和服务之间实现了: 路由服务间的消息 转化请求者和服务之间的传输协议 转换请求者和服务之间的消息格式 处理分离资源间的业务事件
关于Web服务与SOA的一个讲座的PPT,内容虽然较为简短,但准确精辟地说明了Web服务与SOA的区别及联系。