WebService简介

1.1  WebService 简介

      WebService 使用基于 XML 的消息处理,作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语言之间存在的差异,使异构

系统能作为单个计算机网络协同运行。 WebService 建立在一些通用协议的基础上,如 HTTP SOAP XML WSDL UDDI 等。这些协议在涉

及到操作系统、对象模型和编程语言时,没有任何倾向,因此具备很强的生命力。

1.2  WebService 的特点

      WebService 的主要目标是跨平台。为了达到这一目标, WebService 完全基于 XML (可扩展标记语言)、 XSD XMLSchema )等独

于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。

    WebService 主要用于如下三个方面:

     1.2.1    远距离的通信

 

              如果应用程序有成千上万的用户,而且分布在世界各地,最关键的是运行在完全不同的平台上。各个组件之间的通信是个非常棘手

传统的解决方案是通过 Web server 对外提供服务,比如 Servlet 技术,但 Servlet 花费太多的精力生成界面,组件之间的通信完全不需

 

要界面部分,而是依赖于服务的互相引用。 的问题。因为,客户端和服务器之间通常会有防火墙或者代理服务器,并且程序运行在不同

的平台上。将中间层组件换成 WebService ,组件可以直接调用中间层组件,省掉建立 Servlet 的表现层。由 WebService 组成的中间

层,完全可以在异构系统整合或其它场合下重用。最后,通过 WebService 把应用的逻辑和数据“暴露”出来,可以让其它平台上的客户

重用这些应用。

 

    1.2 .2   应用程序集成

      企业里经常需要整合不同语言的、在不同平台上运行的应用程序,这种整合将花费很大的开发力量。应用程序经常需要从 IBM 主机

上获取数据,或者把数据发送到 UNIX 应用程序中去。即使在同一个平台上,不同软件厂商的各种软件也常常需要整合。通

WebService ,应用程序可以以标准方式“暴露”功能和数据,供其他应用程序使用。 例如,面对这样的订单登记应用,用于登记客户

发来的新订单,包括客户信息、发货地址、数量、价格和付款方式等内容;还有一个订单执行程序,用于管理实际的货物发送。而两个

应用程序来自不同软件厂商。新订单进入系统之后,订单登记程序应通知订单执行程序发送货物。这样,可以在订单执行程序包装一

WebService ,将“ AddOrder ”函数“暴露”出来。订单登记程序可以调用这个函数来发送货物,而无须理会该程序的运行平台、具体

实现等细节。

   1.2 .3  B2B 的整合

      WebService 可用来整合应用,从而使公司内部的商务处理更加智能化。整合跨公司业务交易成为 B2B 整合。 通过 WebService

公司可以把关键的商务应用“暴露”给指定的供应商和客户。例如,将电子下单系统和电子发票系统“暴露”出来,客户可以发送电子单,

供应商则可以发送电子采购发票。当然,  WebService 只是 B2B 整合的关键部分,还需要许多其他部分才能实现整合。

WebService 来实现 B2B 整合好处在于:可以实现跨平台的互操作性。只要把商务逻辑“暴露”出来,成为 WebService ,可以让任何指

定的合作伙伴调用这些逻辑,不管他们的系统在什么平台上运行,使用什么开发语言。这样,可以大大减少 B2B 整合的时间和成本。

   1.2 .4   软件和数据重用

     软件重用是一个很大的主题,重用的形式很多,重用的程度各有不同。基本的形式是源代码模块或者类一级的重用,另一种形式是

二进制形式的组件重用。 当前的可重用的组件存在一个很大的限制:重用仅限于代码,数据不能重用。原因在于,发布组件甚至源代码

都比较容易,但要发布数据就没那么容易,除非是不会经常变化的静态数据。WebService 既允许重用代码,也允许重用的数据。通

WebService ,客户也不必像从前那样,要先从第三方购买、安装组件,再通过应用程序调用组件;应用程序可以直接调用远端

WebService WebService 提供商可以按时间或使用次数来对服务收费。这样的服务通过组件重用是不可能的,因为数据不可能与应

用一起发布,即使一起发布,也不能实时更新。 另一种软件重用的情况是,整合多个应用程序的功能。例如,要建立门户站点应用,让

用户既可以查看股市行情,又可以管理自己的日程安排,看可以浏览国际新闻,还可以在线购买电影票。现在 Web 上有很多供应商,在

其应用中分别实现了这些功能。一旦他们把这些功能通过 WebService “暴露”出来,就可非常容易地将这些功能集成到你的门户站中,

为用户提供统一的、友好的界面。

   总结起来, WebService 有如下特点:

 

a. 封装性: WebService 是一种部署在 Web 应用上的对象,具备良好的封装性。对使用者而言,仅能看到服务描述,而该服务的具体

实现、运行平台都是透明,调用者无须关心,也无法关心。 WebService 作为整体提供服务。

b. 松散耦合:当 WebService 的实现发生改变时,调用者是无法感受到这种改变的。对调用者而言,只要服务实现的接口没有变化,

具体实现的改变是完全透明的。

c. 使用标准协议: WebService 所有的公共协议都使用标准协议描述、传输和交换。这些标准协议在各种平台上完全相同。

d. 高度整合的能力:由于 WebService 采用简单的、易理解的标准 Web 协议作为通信协议,完全屏蔽了不同平台的差异,无论

CORBA DCOM 还是 EJB ,都可以通过这种标准的协议进行互操作,实现系统的最高可整合性。

e. 高度的开放性: WebService 可以与其他的 WebService 进行交互,具有语言和平台无关性,支持 CORBA EJB DCOM 等多种组

件标准,支持各种通讯协议如: HTTP SMTP FTP RMI 等。

 

1.3  WebService 的主要技术

WebService 建立在一些技术标准上,设计的主要技术 SOAP Simple Object Access Protocol  简单对象访问协议),

WSDL WebService Description Language WebService 描述语言),

UDDI Universal Description Description and Integration 统一描述、发现和整合协议)。

    1. 3 .1 SOAP (简单对象访问协议)

SOAP Simple Object Access Protocol  简单对象访问协议)是 WebService 的根本。它是一种具有扩展性的 XML 消息协

          议。 SOAP 允许一个应用程序向另一个应用程序发送 XML 消息, SOAP 消息是从 SOAP 发送者传至 SOAP 接收者的单路消息,任何应用

          程序均可 作为发送者或接收者。 SOAP 仅定义消息结构和消息处理的协议,与底层的传输协议独立。因此, SOAP 协议能通过 HTTP

  JMS SMTP 议传输。目前,大多采用 HTTP 传输 SOAP 消息。 SOAP 包括如下三个部分:

a.  SOAP 封装结构:该结构定义消息的整体框架,确定消息中的内容,内容的处理者,     内容哪些部分是可选的,哪些部分是必

    需的

     b.  SOAP 编码规则:定义应用程序程序之间数据交换机制。

c.  SOAP RPC 表示:定义远程过程调用的应答的协议。

SAOP 封装、 SOAP 编码规则和 SOAP RPC 协议之外,该规范还定义了两个协议绑定,分别确定在有 HTTP 扩展框架、无 HTTP 扩展框

架的情况下,如何在 HTTP 消息中传输 SOAP 消息。

    1. 3 . 2  WSDL WebService 描述语言)

WSDL WebService Description Language WebService 描述语言)使用 XML 描述 WebService, 包括访问和使用

WebService 所必需的信息,定义该 WebService 的位置、功能以及如何通信等描述信息。 WSDL 文件包含如下三个部分:

a.  WHAT 部分:包括类型( types )、消息( messages )、 portType 元素,它们定义   客户端及服务器端交互的消息及数

      据类型。

b.  HOW 部分:包括 binding 元素,用于描述 WebService 的实现细节。 binding 素将 portType 绑定到一种特定的协议。

C.  WHERE 部分:包括 Service 元素,它将端口类型元素, binding 元素以及 WebService 实际的地址放在一起,可在 WSDL

      件的最后部分看 Service 元素。

    1. 3 .  UDDI (统一描述、发现和整合协议)

UDDI Universal Description Description and Integration 统一描述、发现和整合协议)是一套信息注册规范,

它具有如下特点:

a.  基于 Web

b.  分布式。

UDDI 还包括一组使企业能将自身提供 WebService 注册,以使别的企业发现访问协议的实现标准。 UDDI 的核心组件是 UDDI

业注册,它使用 XML 文件来描述企业及其提供的 WebService 通过使用 UDDI 的发现服务,企业可以注册 WebService ,允许别的企

业调用本身的 WebService 。企业通过 UDDI 商业注册中心的 Web 界面,将这些 WebService 的信息加入 UDDI 商业注册中心。该

WebService 就可以被发现和调用。

你可能感兴趣的:(webservice)