Web服务技术标准与规范

Web服务技术标准与规范
Web服务技术标准与规范

Web服务技术标准

与规范

1

第十讲 Web服务技术标准与规范

所谓Web服务(Web Services)是指由企业发布的完成其特别商务需求的在线应用服务,其它公司或应用软件能够经过Internet来访问并使用这项在线服务。Web服务技术促进了Internet上企业之间的协作,使用Web服务能够使合作伙伴的信息系统之间更容易地进行通信。但随之而来的问题是:如何集成来自不同企业的服务?为了使Web服务易于使用,众多组织已经致力于Web服务技术,进行标准协议的制定,提供Web服务的创立工具和解决方案。

本讲将以Web服务栈为中心介绍Web服务技术涉及的一些关键标准和规范,如SOAP、WSDL、UDDI等。Web服务标准本身是不断发展变化的,文中着重介绍当前被普遍接受的底层标准,并对还需要进行标准化的领域进行简单的讨论。

1.Web服务

Web服务是能够在组织内部或者公司之间的异构计算资源中被共享、组合、使用和复用的商业资产。Web服务是一个可编程的部件,它提供一种易于经过Internet获取的商业服务。Web服务能够是独立的,也能够连接在一起向外部世界提供更强大的系统功能。

Web服务将逐渐成为构建电子商务应用的基础体系结构。基于Web服务的体系结构是从一个分布式面向对象部件的系统向一个

2

服务网络的逻辑演进,该服务网络提供一个能够跨企业集成的松散耦合的底层基础结构。

Web服务是基于Internet的模块化应用,它们执行特定的商业任务并遵循特定的技术格式。如果应用中的某过程能够在Internet上以一种标准格式被调用,称之为Web服务的服务器;类似的,如果经过Internet调用本应用以外的某过程,则是Web服务的客户。因此,实质上Web服务是Internet上应用之间的客户服务器,目的是实现B2B伙伴之间的个性化信息交换,并以一种易用的格式提供和发布应用模块。为了实现这种开放工作,必须要有标准的格式和方法。

几乎所有的主流技术公司都已相继涉足Web服务的标准化工作,参与了各种标准化组织。当前,最主要的标准化组织是W3C(World Wide Web Consortium)。其它组织也做了大量的工作,如https://www.360docs.net/doc/ac17064293.html,,OASIS,UN/CEFACT,https://www.360docs.net/doc/ac17064293.html,,以及https://www.360docs.net/doc/ac17064293.html,等。

Web服务栈(Web Services Stack)

Web服务不同于已有的构件对象模型以及相关的对象模型协议,如CORBA和IIOP(Internet Inter-ORB Protocol)、COM和DCOM 以及Java和RMI(Remote Method Invocation)。Web服务能够用任何语言编写,而且能够使用HTTP访问。从技术上看,一个Web服务是一个由内容、应用代码、过程逻辑、或者这些部分的任意组合所构成的XML对象,而且能够经过任何TCP/IP网络访问,只要网

3

4

络中使用SOAP 标准集成,使用WSDL 标准进行自描述,使用UDDI 标准在一个公共的或者私有的目录中注册和发现。

如图1所示,Web 服务由多个层构成,这些层堆叠在一起形成了发现和调用一个独立的Web 服务所提供功能的标准机制的基础。即,Web 服务栈以层次结构来表示,高层在低层的基础之上构建。

图中HTTP 提供了分布式应用之间的通信机制,XML 定义了数据交换和描述的格式,SOAP 是调用Web 服务的协议, WSDL 描述Web 服务的格式,而UDDI 则是注册、查找和使用Web 服务的中枢组织。下面分别介绍这些协议及相关的规范。

2. HTTP

Web 服务栈中的最底层是网络层,也能够称为协议层。分布式的应用需要有网络协议来定义两个并发过程之间的通信机制。概

服务发现服务描述基于XML 的网络层

图1 W e b 服务栈

念上,Web服务的设计是与协议无关的,在图1的分层体系结构模型中,从底向上任何标准的Internet协议都能够用于在网络上调用Web服务。但当前主要是HTTP(Hypertext Transport Protocol)和HTTPS(Hypertext Transport Protocol Secure )协议。

HTTP/1.1是一个基于文本的、”请求-响应”(request-response)型的协议,它规定一个客户打开到服务器的一个连接,然后以专门的格式发送一个请求,服务器进行响应,同时如果必要则保持连接的打开状态。HTTP使用的普遍性及其固有的穿防火墙的能力使它成为主导的Web服务网络协议。但同时由于HTTP是基于文本的协议而缺乏表示远程过程调用(RPC)消息参数值的机制。

其它的请求/响应类型的传输协议,如文件传输协议(File Transfer Protocol,FTP)和简单邮件协议(Simple Mail Transport Protocol,SMTP)也能够使用,可是并没有在Web服务的各种标准中定义,当前也只有极少数实现支持这些协议。

另外,最近IBM发布了一个可靠通信协议的提案,称作HTTPR。HTTPR在HTTP的基础上加强了可靠性,在保持HTTP 优点的同时能够保证消息能够不受阻碍地发送到目的地。可靠的通信对Web服务来说是一个非常关键的方面,虽然当前对由协议层实现是否最适合依然有争议,但在不远的将来它肯定会以某种形式出现。

5

相关主题
相关文档
最新文档