`

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文档。

分享到:
评论

相关推荐

    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开发的核心技术和实践应用。这本书是...

    mule esb 的简单介绍

    Mule ESB对于SOAP的支持尤其出色,对流行的Web服务框架如Axis和Xfire提供了良好的支持,虽然它不直接提供根据WSDL生成客户端的功能,但其主要关注点在于消息的接入、转换和路由,而非客户端的生成。 综上所述,Mule...

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

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

    Web Services and Service-Oriented Architecture

    Web服务基于开放标准,如简单对象访问协议(SOAP)、Web服务描述语言(WSDL)和统一资源标识符(URI)。SOAP用于定义消息结构和交换格式,WSDL用来描述服务接口,而URI则用于唯一地标识服务位置。通过这些标准,不同...

    ESB原理及Mule ESB实践

    - Web服务:基于SOAP/WSDL等标准的Web服务集成。 - Messaging:消息中间件集成。 - Adapters:特定应用的适配器,用于连接不同的系统。 6. **服务调用管理与监控:** - ESB提供强大的管理工具,可以对服务调用...

    SOA 下的基于Axis2和Tuscany的web service

    在基于Axis2和Tuscany的Web Service实现过程中,首先需要理解Web Service的基本概念,包括WSDL(Web Services Description Language)用于描述服务接口,UDDI(Universal Description, Discovery, and Integration)...

    第2章(Web Service)

    在本章中,我们将深入探讨Web服务的核心概念、架构和技术,特别是围绕Service-Oriented Architecture(SOA)思想进行讲解。 **1. SOA(面向服务架构)** SOA是一种设计原则,它提倡将业务功能分解为独立的服务,...

    Web service开发指南

    Web服务基于一系列开放标准,如XML(可扩展标记语言)、WSDL(Web服务描述语言)和SOAP(简单对象访问协议)。WSDL用于描述服务接口,SOAP则定义了数据交换格式。通过HTTP协议传输,使得Web服务能够跨越防火墙,易于...

    Web+Services发布与调用(axis,xfire).doc

    Web服务基于开放的标准,如SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)和UDDI(Universal Description, Discovery, and Integration)。SOAP定义了消息格式,WSDL描述了服务...

    ESB接入接出技术规范(超实用)

    ESB(Enterprise Service Bus)是一种设计模式,旨在集成企业内部的应用系统,以提高业务流程的灵活性和可扩展性。ESB的主要特点是提供一个统一的接口来访问不同的应用系统,从而简化了系统之间的集成和通信。 在...

    WebService&SOA&ESB入门介绍(手把手xfire开发WS入门实例)

    Axis 1.x/2.x也是流行的Web Service开发工具,它包含了更多的功能和对不同版本SOAP的支持。 【AJAX】 AJAX(Asynchronous JavaScript and XML)是Web开发技术,允许创建更快速、更互动的用户界面,通过异步与服务器...

    用于实现Web服务的SOA编程模型.

    Web服务是基于开放标准(如XML、SOAP、WSDL和UDDI)的自包含、自解释的应用程序,可以通过网络进行交互。它们通常通过HTTP协议传输数据,使得跨平台集成变得简单。 **2. SOAP(Simple Object Access Protocol)** ...

    servicemix代理web service

    【Servicemix代理Web Service】是企业级集成平台Apache Servicemix中的一个重要功能,它允许开发者通过Servicemix来代理和管理外部的Web服务。这种代理方式提供了多种优势,包括服务的路由、转换、监控以及安全性...

    ESB标准产品功能模型与商业ESB对标表

    - **服务接口定义(WSDL)**:WSDL(Web Service Description Language)用于定义服务接口,使服务消费者可以理解服务的输入、输出和操作。 - **寻址**:ESB支持服务的寻址机制,确保消息能够正确送达目标。 - **...

    ESB介绍讲座PPT

    - **SOAP (Simple Object Access Protocol)**: 一种轻量级协议,用于在Web服务中交换结构化的和封装的数据。 #### 二、ESB的概念与作用 - **定义**: 企业服务总线(Enterprise Service Bus, ESB)是一种软件架构...

    WebService&SOA&ESB入门介绍

    它利用XML(Extensible Markup Language)作为数据交换的格式,通过WSDL(Web Service Description Language)来描述服务,使用SOAP(Simple Object Access Protocol)作为通信协议。WSDL描述了服务的接口,SOAP则...

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

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

    Microsoft Esb 2.1 Overview

    Microsoft ESB通常基于BizTalk Server,这是一个强大的集成平台,支持多种协议和标准,如XML、SOAP和WSDL。BizTalk Server提供了ESB所需的基础架构,包括管理工具、监控和故障处理能力。 **能力** - **服务注册/...

Global site tag (gtag.js) - Google Analytics