传智播客-web service(2)-ESB、SOAP和WSDL
来源:互联网 发布:java写入word模板 编辑:程序博客网 时间:2024/05/26 12:02
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文档。
- 传智播客-web service(2)-ESB、SOAP和WSDL
- ESB、SOAP和WSDL
- WSDL & SOAP & Web Service
- Web-Service-SOAP&WSDL
- (转)Web Service之SOAP ,WSDL 和UDDI
- Web Service, SOAP和WSDL的关系
- Web Service Soap WSDL (陈涛)
- Web Service基础(WSDL、SOAP)
- SOAP、WSDL、Web Service详解
- ESB、SOAP和WSDL java注入
- Web Service, SOAP和WSDL的关系
- <iOS>网络编程(一)SOAP, WSDL, Web Service
- <iOS>网络编程(二)SOAP, WSDL, Web Service
- <iOS>网络编程(三)SOAP, WSDL, Web Service
- <iOS>网络编程(四)SOAP, WSDL, Web Service
- Web Service笔记(三):wsdl 与 soap协议详解
- Web Service笔记(三):wsdl 与 soap协议详解
- WEB SERVICE JAXP、JAXM SOAP、UDDI,WSDL
- 关于linux内核cpu进程的负载均衡
- linux内核抢占的几个细节
- 周六早上读核感悟
- TLB刷新的深入理解
- TLB刷新的深入理解(续)
- 传智播客-web service(2)-ESB、SOAP和WSDL
- 2.6.29的一个节省内存的补丁
- ...
- JAVA世界的入门引领者——郝彬老师的视频
- del_timer_sync不能睡眠的原因
- 所谓的写时复制-Dll的copy-on-write技术
- 对struct cred新理解
- 2.6.28内核的进程load_balance
- 重读balance_pgdat函数