Web服务体系结构

来源:互联网 发布:json在线解析器代码 编辑:程序博客网 时间:2024/05/14 10:00
导读:

  Web服务体系结构最重要的优点之一就是允许在不同平台上使用不同编程语言以一种基于标准的技术开发程序,来与其它应用程序通讯。这样,因特网上的任何分布式系统就有可能被整合到一个用户定制的应用程序中。 由于Web服务不需要人工干预,自动进行系统绑定和数据交换,因此它被称为Web应用的一场革命。为了支持Web服务,WorldWideWebConsortium和一些有影响的大公司联合,制定了一系列和Web服务相关的标准,它们是:XML(eXtensible Markup Language),即Web服务的基础语言。它是WorldWideWebConsortium制订的用于进行数据交换和表示的标准语言,在Web服务中用来表示服务请求和应答的内容。UDDI(Universal Description Discovery and Integration),用于Web服务注册和查找。WSDL(WebService Description Language),用于描述Web服务的接口和功能。SOAP(Simple Object Access Protocol),用于构建Web服务和服务请求之间的通讯.下面简单说明这几种标准在Web服务中的作用。

  1) 作为Web服务基础的XML

  XML是WorldWideWebConsortium制订的作为Internet上数据交换和表示的标准语言,是一种允许用户定义自己的标记语言的元语言。XML语言的主要特性体现在4个方面,即结构化、自描述性、可扩展性和浏览器自适应性[15]。

  ①结构化。XML是一个极端标准化的语言规范,它一般利用DTD(Document Type Definition)规范来定义XML文件的语法、句法和数据结构。

  ②自描述性。在XML文档中,自描述性是可选的,但使用自描述性可以增强Web的检索功能。

  ③可扩展性。XML的一个中心特性就体现在它的可扩展性中。在XML中,标签(Tag)是由DTD定义的,标签定义了文档中数据的属性。

  ④浏览器自适应性。一个结构化的文档能够适应各种不同的浏览模式。XML在Web浏览器上得到了广泛的支持。

  Web服务所提供的服务接口、对Web服务的请求、Web服务的应答数据都是通过XML描述的。而且,UDDI、SOAP、WSDL等标准也都是通过XML来描述的。所以, XML构成了整个Web服务的基础。

  2) UDDI提供了注册和检索Web服务的机制

  UDDI的目标是建立标准的注册中心(Registry)来加速互联网环境下电子商务应用中企业应用系统之间的集成,它是一个面向基础架构的标准。UDDI使用一个共享的目录来存储企业用于彼此集成的系统界面及服务功能的描述,这些描述都是通过XML完成的。

  UDDIv1的注册中心在所支持的UDDI商业注册中,使用一个XML文档来描述企业及其提供的Web服务。从概念上来说,UDDI注册中所提供的信息包含3个部分:白页(WhitePage)包括了地址,联系方法和企业标识;黄页(Yellowpage)包括了基于标准分类法的行业类别;绿页(GreenPage)则包括了该企业所提供的Web服务的技术信息,可能是一些指向文件或是URL的指针,而这些文件或URL是为Web服务发现机制服务的。

  UDDI主要由UDDI概要(UDDISchema)和UDDI应用程序接口(UDDIAPI)两部分构成。UDDI概要构成了Web服务的注册入口(RegistryEntry),UDDIAPI描述了用于发布注册入口或查找注册入口所需的SOAP消息[16]。

  3) WSDL提供了对Web服务接口的描述

  WSDL通过定义一套XML语法来描述Web服务,WSDL把Web服务定义成一个能交换消息的通讯端点集(CommunicationCollection)。WSDL提供了Web服务的帮助文档,同时也可作为自动实现应用间通讯的解决方案。

  在WSDL中,作为一个网络端点的集合,Web服务的端点及消息的抽象定义与它们具体的实现和数据格式绑定是分离的,这样就可以重用这些抽象定义。一个WSDL文档在定义Web服务时使用如下的元素和抽象定义[17]:

  ① 类型。使用某种类型的系统来定义数据类型的容器;

  ② 消息。通讯数据的抽象类型定义;

  ③ 操作。服务支持的动作的抽象描述;

  ④ 端点类型。一个操作的抽象集合,该操作由一个或多个端点支持;

  ⑤ 绑定。针对一个特定端点类型的具体协议规范和数据格式规范;

  ⑥ 端点。一个绑定和一个网络地址的联接;

  ⑦ 服务。相关的端点的集合。

  在WSDL中并没有引入新的类型语言。为了描述消息的结构,需要具有丰富类型的系统,因此WSDL把XML的Schema规范作为自己的类型系统。

  4) 作为Web服务的核心的SOAP

  SOAP提供了一个基于XML的形式在分布式环境中交换结构化信息的机制。它通过提供一个有标准组件的包模型和通过在模块中对数据编码的机制,来定义一个简单的表示应用程序语义的机制。这使SOAP能够应用于从消息传递到RPC(RemoteProcedureCall)的各种系统中。SOAP包括3个部分,这3个部分在功能上是相互交叉的[18]。

  ① SOAP封装结构:定义了一个整体框架,用来表示消息中包含什么内容、谁来处理这些内容以及这些内容是可选的或是必需的;

  ② SOAP编码规则:定义了一系列用来交换应用程序的数据的机制;

  ③ SOAPRPC表示:定义了一个用来表示远程过程调用和应答的协议。

  SOAP消息从发送方到接收方是单向传送,但经常以请求/应答的方式实现。SOAP的实现可以通过使用特定网络系统的特性来优化。例如,HTTP可以使SOAP应答消息以HTTP应答的方式传输,并使用同一个连接返回请求。由于SOAP实现了Web服务中系统之间的绑定和请求/应答机制,使应用程序可以通过Internet和Web服务进行数据交换,完成数据交换工作,所以SOAP构成了Web服务的核心。

  Web服务的概念推出之后,得到了业界的广泛关注,IBM、HP、Micrpsoft、Sun、BEA等大公司纷纷推出了自己的Web服务开发工具。IBM的WebSphere,Microsoft的.NET,Sun公司推出的SunOne,BEA公司的WebLogic等产品都把实现Web服务列为自己的目标。目前Web服务的应用主要集中在以下几个方面[19]。

  ① 基于商业的Web服务。该类服务针对的是企业应用服务,包括企业内部的ERP系统,企业间的SCM/CRM等系统。

  ② 基于消费者的Web服务。此类服务针对的是原来的B2C网站的改造,为这些基于浏览器的Web应用增加了Web服务的界面,使得用户使用Internet更为方便,能够获得更加便捷的服务。

  ③ 基于传统系统的Web服务。一些传统意义上的系统服务,比如用户权限认证,系统监控等,如果迁移到全球范围的Internet上或者企业内部Intranet上,其作用范围将从单个系统或局部网络拓展到整个企业网络或整个Internet。这样,在同一系统服务中的不同应用将可以在整个Internet环境中部署。

  ④ 实现网格计算的Web服务。目前网格计算是把互联网中的计算机集合起来,共同协作完成大规模的计算任务。Web服务及其发展是构建网格计算环境的一个途径,使用Web服务,异构的计算机软件和硬件系统可以通过Internet联结起来,共同完成一些计算。



本文转自

http://soa.5d6d.com/redirect.php?fid=4&tid=78&goto=nextnewset