WebService简介

1.1 WebService简介

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

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

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

1.2 WebService的特点

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

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

    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,客户也不必像从前那样,要先从第三方购买、安装组件,再通过应用程序调用组件;应用程序可以直接调用远端的

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

件标准,支持各种通讯协议如:HTTPSMTPFTPRMI等。

 

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.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就可以被发现和调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值