`
newleague
  • 浏览: 1504513 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

传智播客-web service(2)-ESB、SOAP和WSDL

 
阅读更多

ESB
ESB,Enterprise Service Bus,企业服务总线。这个概念哪来的呢?得先从web service讲起,话说。。。(balabala~~~)

 

web service,可以认为是“跨平台(OS)、跨语言(java、C等)系统间的一种整合方案,以实现各系统间的协同作业”。举例来说,某个公司由小发展到大,可能有很多部门,有很多系统,但系统开发语言并不一致(可能有自己开发的,也有买来的):例如OA是用VB开发的,ERP是Java开发的,而CRM是Delphi开发的,现在又有一个C#开发的进销存系统,而且还想把这些系统整合到一起,不仅仅是在局域网内,在internet的时候也可以达到各系统间的无障碍通信。咋办呢?web service就是最佳的解决方案之一。

 

所谓上述系统间的通信,其实也就是数据的交互,那什么样的数据是跨语言的呢?--文本。这是最简洁的数据类型,也是各开发语言都支持的。但是,每个系统对外开发的信息都自有一套,你不可能为每个系统开发针对其他三个系统的信息接口,这样的话,要实现上述系统间的整合,你得再开发3*4套信息接收程序,工作量巨大而且难以维护。web service的构想就是将各个系统间的交互数据视为文本类型,再以一种既定的规范封装各系统open的数据,然后再分发到各系统。简单的理解,可以视为将各个系统挂接到一个统一的介质上,然后再由这个介质中转数据,看上去点像MOM,不过不是,因为这个介质不是真实存在的。请参见下列示意图(NND,禁止传图,害得俺只能一个字符一个字符地敲,泪。。俺容易么。。)
|----------|           |
| OA(VB)  |------->|
|----------|           |            |-----------|

                           |<-------| ERP(Java) |
                           |            |-----------|
|----------|          | 
| CRM(VB) |------>|
|----------|          |           |------------|
                           |<------| 进销存(C#) |
                           |           |------------|
                           |
                           |--->这根线即可视为ESB

中间的这根线就是上面所说的介质,但是并没有类似MOM这样的实体存在(当然,实际应用中,你也可以把MOM放在这个位置),只是为了方便理解而设计的,只是一种逻辑概念。而这根线就是ESB。

 

SOAP
web service是一种(1)实现跨平台跨语言系统协同的一种方案,而且(2)能够保证在internet上也能够访问。技术上要做到(1),就是要保证各语言都能识别传送和接收的数据类型,前文说的是文本类型,不过这里说的文本不是指text,而是xml;而要做到(2),支持http协议就是最佳选择。

 

SOAP,Simple Object Access Protocal,简单对象访问协议,其实可以看作是上述二者的结合,即XML+HTTP,所以,SOAP其实本质上还是HTTP协议,不过是一种加了限制的HTTP协议,限制的内容即,传输的数据要求是XML类型,而且必须用“SOAP信封”封装。

 

不过维基给出的定义更广泛:
SOAP:一个基于XML的可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是HTTP或HTTPS,但也可能是SMTP或XMPP。

 

WSDL
WSDL,Web Service Description Language,web service描述语言。上文所说的web service“以一种既定的规范封装各系统open的数据”,这个“规范”就是WSDL。

 

WSDL规定了诸如方法名,传入参数,返回值以及在哪个地址(例如某网址)上公开服务等信息。简单地说,一个系统对外公开其服务,其实就是公开其WSDL文档。而一个系统要访问另一个系统,就必须先查找到这个系统公开的WSDL文档。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics