`
newleague
  • 浏览: 1504699 次
  • 性别: 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文档。

 

分享到:
评论

相关推荐

    传智播客jbpm教程

    【传智播客jbpm教程】是一套针对Java业务流程管理(Business Process Management,简称BPM)框架jbpm的专业教学资料。这套教程分为四个部分,旨在帮助初学者和有一定基础的学习者逐步掌握jbpm的核心概念、进阶技术和...

    mule使用SOAP工件发布和消费web Service的简单例子

    总结来说,"mule使用SOAP工件发布和消费web Service的简单例子"是关于利用Mule ESB创建和使用SOAP服务的一个实践教程。通过"hello-ws"示例,我们可以深入理解SOAP服务的生命周期,从定义WSDL到编写服务逻辑,再到...

    实战Delphi6.Kylix2.SOAP.Web Service程序设计篇李维著

    《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维撰写的一本专业书籍,主要涵盖了使用Delphi6和Kylix2进行SOAP(简单对象访问协议)以及Web Service开发的核心技术和实践应用。这本书是...

    wso2esb-tooling-composite-p2-5.0.0.zip

    官网下载,Eclipse插件:WSO2 ESB tooling,适配WSO2 ESB 5.0.0。 仅 Eclipse Mars.2 Release (4.5.2) 版本可使用(我用的是Eclipse JEE Mare.2)。 如果需要Eclipse汉化,必须先安装 WSO2 ESB tooling,再安装...

    petals-web-management:Petals ESB 的 Web 管理

    基于 PlayFramework v2 的 OW2-Petals ESB ( ) 的管理 Web 控制台。 安装和运行 在下载 PlayFramework &gt;= v2.2.1,将其添加到您的路径中,然后: git clone ...

    电信设备-大型枢纽机场的双ESB总线信息全集成.zip

    本文将深入探讨“电信设备-大型枢纽机场的双ESB总线信息全集成”这一主题,该主题涉及到的核心技术是企业服务总线(Enterprise Service Bus,简称ESB),以及它在机场信息集成中的应用。 ESB是一种中间件,它的主要...

    wso2esb-5.0.0.zip

    【标题】"wso2esb-5.0.0.zip" 指的是WSO2 Enterprise Service Bus的5.0.0版本的压缩包文件。这个产品是WSO2公司提供的一款开源的企业服务总线(Enterprise Service Bus,ESB),它在分布式系统中起到了中介的作用,...

    SOA Approach to Integration - XML, Web services, ESB, and BPEL in real-world SOA projects (2007).pdf

    ### 服务导向架构(SOA)集成方法:XML、Web 服务、ESB 和 BPEL 在实际项目中的应用 #### SOA 概念及重要性 服务导向架构(Service-Oriented Architecture, SOA)是一种设计思想,它强调通过标准化的服务接口来实现...

    apache-activemq-5.5-fuse-esb

    3. **Fuse ESB**:Fuse ESB是基于OSGi框架的轻量级ESB,它集成了多个Apache项目,如Camel(路由引擎)、 CXF(Web服务框架)和Karaf(OSGi容器)。Fuse ESB提供了服务的部署、管理和监控功能,帮助企业构建灵活、可...

    wso2 esb installation part 5

    wso2 esb installation part 5

    apache-activemq-5.5-fuse-esb.part2

    Apache ActiveMQ是开源的、基于Java消息服务(JMS)的高级消息中间件,而Apache Fuse ESB(Enterprise Service Bus)则是一个灵活的、可扩展的企业级集成平台,它使用了包括ActiveMQ在内的多种组件来提供服务总线...

    Web Service 那点事儿(2)—— 使用 CXF 开发 SOAP 服务 - ImportNew1

    【Web Service 那点事儿(2)—— 使用 CXF 开发 SOAP 服务】 Web Service是一种基于标准协议的,用于不同系统间交换数据的技术。SOAP(Simple Object Access Protocol)是Web Service常用的一种通信协议,它定义了...

    webservices-api.jar包

    webservices-api.jar包

    ESB-Enterprise Service Bus企业服务总线.ppt

    企业服务总线(Enterprise Service Bus,ESB)是现代企业级集成解决方案的核心,它旨在解决不同应用系统间的通信问题,实现服务的解耦和互操作性。ESB概念起源于传统中间件技术与XML、Web服务等新兴技术的融合,它的...

    银行esb开发全过程(使用webservice)

    1. esb开发全过程:包括下载apache-cxf、配置环境变量、测试wsdl2java命令、esb开发、接口开发和测试等步骤。 2. webservice技术:使用javawebservice技术进行esb开发。 3. apache-cxf:一个开源的webservice框架,...

    soap-rest-attachments:如何在 Mule ESB 中通过 SOAP 和 REST 调用处理附件的 E2E 示例

    - 定义 SOAP 调用的 WSDL(Web 服务描述语言)URL,该 URL 描述了服务接口和操作。 - 在 SOAP 调用中,可以将文件作为附件通过 Mule 的 DataWeave 或者 CXF 组件进行处理。 2. **处理 REST 调用**: - 使用 ...

    ESB应用Web_Service_Consumer

    【ESB应用Web_Service_Consumer】是JBoss ESB中的一个重要应用场景,主要用于演示如何通过ESB的Action调用遵循JSR181注解规范的Web服务,即ESB作为一个Web服务的消费者。JSR181(JavaTM API for Web Services ...

    WSO2ESB服务总线部署及使用说明.doc

    - 代理服务:代理服务配置文件位于 `&lt;wso2esb-5.0.0&gt;\repository\deployment\server\synapse-configs\default\proxy-services`。 - 端点:端点配置文件位于 `&lt;wso2esb-5.0.0&gt;\repository\deployment\server\synapse-...

    Mule ESB Studio 3.3中文使用手册(官方翻译)

    Mule ESB Studio 3.3 是一款功能强大且灵活的集成平台,旨在帮助开发者快速构建、部署和管理企业级集成解决方案。该手册旨在指导用户如何安装、配置和使用 Mule ESB Studio 3.3,以便快速上手使用该平台。 安装 ...

    WSO2 ESB 协议转换示例(http to jms)

    在企业级服务集成中,WSO2 Enterprise Service Bus (ESB) 是一个强大的中间件平台,它提供了丰富的功能来连接不同协议、数据格式和服务。本示例将探讨如何在WSO2 ESB中实现协议转换,特别是从HTTP协议转换为JMS ...

Global site tag (gtag.js) - Google Analytics