ESB ? web service,可以认为是“跨平台(OS)、跨语言(java、C等)系统间的一种整合方案,以实现各系统间的协同作业”。举例来说,某个公司由小发展到大,可能有很多部门,有很多系统,但系统开发语言并不一致(可能有自己开发的,也有买来的):例如OA是用VB开发的,ERP是Java开发的,而CRM是Delphi开发的,现在又有一个C#开发的进销存系统,而且还想把这些系统整合到一起,不仅仅是在局域网内,在internet的时候也可以达到各系统间的无障碍通信。咋办呢?web service就是最佳的解决方案之一。 ? 所谓上述系统间的通信,其实也就是数据的交互,那什么样的数据是跨语言的呢?--文本。这是最简洁的数据类型,也是各开发语言都支持的。但是,每个系统对外开发的信息都自有一套,你不可能为每个系统开发针对其他三个系统的信息接口,这样的话,要实现上述系统间的整合,你得再开发3*4套信息接收程序,工作量巨大而且难以维护。web service的构想就是将各个系统间的交互数据视为文本类型,再以一种既定的规范封装各系统open的数据,然后再分发到各系统。简单的理解,可以视为将各个系统挂接到一个统一的介质上,然后再由这个介质中转数据,看上去点像MOM,不过不是,因为这个介质不是真实存在的。请参见下列示意图(NND,禁止传图,害得俺只能一个字符一个字符地敲,泪。。俺容易么。。) ?????????????????????????? |<-------| ERP(Java) | 中间的这根线就是上面所说的介质,但是并没有类似MOM这样的实体存在(当然,实际应用中,你也可以把MOM放在这个位置),只是为了方便理解而设计的,只是一种逻辑概念。而这根线就是ESB。 ? SOAP ? SOAP,Simple Object Access Protocal,简单对象访问协议,其实可以看作是上述二者的结合,即XML+HTTP,所以,SOAP其实本质上还是HTTP协议,不过是一种加了限制的HTTP协议,限制的内容即,传输的数据要求是XML类型,而且必须用“SOAP信封”封装。 ? 不过维基给出的定义更广泛: ? WSDL ? WSDL规定了诸如方法名,传入参数,返回值以及在哪个地址(例如某网址)上公开服务等信息。简单地说,一个系统对外公开其服务,其实就是公开其WSDL文档。而一个系统要访问另一个系统,就必须先查找到这个系统公开的WSDL文档。 ?
ESB,Enterprise Service Bus,企业服务总线。这个概念哪来的呢?得先从web service讲起,话说。。。(balabala~~~)
|----------|?????????? |
| OA(VB)? |------->|
|----------|?????????? |?????????? ?|-----------|
??? ?????????????????????? |??????????? |-----------|
|----------|????????? |?
| CRM(VB) |------>|
|----------|????????? |?????????? |------------|
??? ?????????????????????? |<------| 进销存(C#) |
???????????????????????????|????????? ?|------------|
????????????????????????? ?|
??? ?????????????????????? |--->这根线即可视为ESB
web service是一种(1)实现跨平台跨语言系统协同的一种方案,而且(2)能够保证在internet上也能够访问。技术上要做到(1),就是要保证各语言都能识别传送和接收的数据类型,前文说的是文本类型,不过这里说的文本不是指text,而是xml;而要做到(2),支持http协议就是最佳选择。
SOAP:一个基于XML的可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是HTTP或HTTPS,但也可能是SMTP或XMPP。
WSDL,Web Service Description Language,web service描述语言。上文所说的web service“以一种既定的规范封装各系统open的数据”,这个“规范”就是WSDL。
详细解决方案
传智播客-web service(二)-ESB、SOAP和WSDL
热度:106 发布时间:2012-11-10 10:48:50.0
相关解决方案
- 小弟我想做一个多功能web service client
- Servlet.service() for servlet [jsp] in context with path解决方案
- 关于websphere V7.0 解析 cxf 的 wsdl 错误有关问题
- web service 第一天接触不懂 仍是那个访问天气预报的例子 代码很简单
- Web Service 错误:服务器未能识别 HTTP 头 SOAPAction 的值: http://tempuri.org/
- web service No services have been found.解决方法
- 学习Web Service,用哪种框架好?AXIS,XFire,CXF?该如何处理
- soap调用webservice,报错:Root element of a SOAP message must be: 'http://schemas.xmls,该怎么处理
- java service 项目有关问题
- 对象集,数组,web service,该怎么解决
- org.apache.catalina.core.ApplicationDispatcher invoke Servlet.service() for se解决思路
- JMS:Java讯息服务(Java Message Service)初学笔记
- 新手学习j2me,请教调用.net service 时用ksoap,还是用JSR172好
- javax.xml.soap.SOAPException: System.Web.Services.Protocols.
- WCF service 下传订单文件到ftp
- 请教:有人开发过OPOS驱动吗,撰写 service object?
- vc写的 windows service 控制台程序有关问题
- 请教一上有没有C++调用WEB SERVICE 做成DLL的例子
- vs2008中怎么使用vc++构建web service
- 客户端用vc2005的c++来编写,web service 只是连接就报错解决方法
- Reporting service 中使用储存过程有关问题
- Reporting Service 报表订阅 到win2003 系统的有关问题
- Reporting Service 分组排列有关问题
- Silverlight学习数据跟RIA服务时,找不到domain service class模板
- 生手学习web service
- asp reporting service 只显示一起,大神进
- ajax怎么调用带有SoapHeader的 web service
- ASP.NET web service 中 怎么保持状态
- !AJAX的autocompleteextender控件实现自动输入一定需要Web Service
- 无法打开登录所请求的数据库 "xxx"登录失败用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败解决方案