Web service 标准

因特网标准的其中一个关键属性是它们注重协议而不是注重实现。因特网由通过共享协议成功互操作的不同种类的技术组成。这防止单个供应商在因特网上强行实施某一标准。“开放式源代码”软件开发在保留供应商标准实现的互操作性中起了重要作用。

下列标准在 Web service 中起到了关键作用:统一描述、发现和集成(UDDI)、Web 服务描述语言(WSDL)、Web 服务检查语言(WSIL)、SOAP 和 Web service 互操作性(WS-I)。图 2 描述了这些标准之间的关系。

UDDI 规范定义开放式的独立于平台的标准,这些标准使各企业能够共享全球业务注册中心中的信息,发现注册中心上的服务,以及定义它们之间如何通过因特网交互作用。有关 UDDI 的更多信息,请参阅 www.uddi.org

WSIL 是一种基于 XML 的开放式规范。通过指定如何检查 Web 站点以获得可用的 Web service,WSIL 定义了分布式服务发现方法,该方法提供了对服务提供者服务所在位置处的服务描述的引用。WSIL 文档定义 Web 站点上可以查找 Web service 描述的位置。由于 WSIL 的重点在于分布式服务发现,因此 WSIL 规范通过使可能在 UDDI 注册中心中尚未列出的 Web 站点上可用的服务更容易发现,从而对 UDDI 进行了补充。此文档中有一个单独的主题讨论了 UDDI 与 WSIL 之间的关系。要了解有关 WSIL 的更多信息,请参阅 www.ibm.com/developerworks/webservices/library/ws-wsilspec.html

WSDL 是一种基于 XML 的开放式规范,它描述了与网络上的 Web service 的接口以及这些服务的实例。它是可扩展的,因此可描述端点而不必理会用来通信的消息格式或网络协议是什么样的。企业可以通过 UDDI、WSIL 或通过电子邮件或 Web 站点广播它们的 WSDL 的 URL 来提供它们的 Web service 的 WSDL 文档。在此文档中,将 WSDL 作为单独的主题进行了描述。有关 WSDL 的更多信息,请参阅 www.w3.org/TR/wsdl

SOAP 是一个通过 HTTP 和其他因特网协议进行消息传递的基于 XML 的标准。它是在分散的分布式环境中用于信息交换的轻量级协议。它基于 XML 且由三部分构成: SOAP 通过为路由消息定义消息路径来启用发现的 Web service 的绑定和使用。SOAP 可用来为 Web service 查询 UDDI。有关 SOAP 1.1(SOAP 1.2 不受 Web service 工具支持)的更多信息,请参阅 www.w3.org/TR/SOAP

图 2. SOAP、UDDI、WSIL 与 WSDL 之间的关系。

图 2 说明了 SOAP、UDDI、WSIL 与 WSDL 之间的关系。

服务提供者主管 Web service,并使用诸如 SOAP/HTTP 或 SOAP/JMS 之类的协议以便可访问 Web service。Web service 由存储在提供者的服务器上或存储在特殊存储库中的 WSDL 文档描述。WSDL 文档可由 UDDI 业务注册中心和 WSIL 文档引用。这些注册中心和文档包含指向 Web service 的 WSDL 文件的指针。

WS-I Simple SOAP Binding Profile 和 WS-I Attachments Profile 是 WSDL 和 Web service 协议(SOAP/HTTP)流量必须符合的需求(以便声明 WS-I 一致性)的概述。Web service WS-I 验证工具当前支持 WS-I Simple SOAP Binding Profile 1.0 和 Attachment Profile 1.0。要查看这些规范,请参阅 WS-I Web 站点,在 Resources 下面选择 Documentationhttp://www.ws-i.org

Rational® Developer 产品还支持若干新的 Web service 标准。这些样本 WSDL 文件包括:
JAX-RPC
JAX-RPC 代表 Java™ API for XML-based RPC,也称为 JSR 101。它是一种规范,描述用于构建使用远程过程调用(RPC)和 XML 的 Web service 和 Web service 客户机的 Java“应用程序编程接口”(API)和约定。它使 Java 至 WSDL 和 WSDL 至 Java 的映射标准化并提供用于在 Java 平台上开发和部署 Web service 和 Web service 客户机的核心 API。要了解更多信息,请参阅正式规范
JSR-109 和 JSR-921
JSR-109 和 JSR-921(实现企业 Web service)定义编程模型和运行时体系结构以在 J2EE 环境中(更具体地说,是在 Web、EJB 和客户机应用程序容器中)部署和查找 Web service。它的其中一个主要目标就是确保供应商的实现能够具有互操作性。要了解更多信息,请参阅下列正式规范:
WS-S
这些工具支持 OASIS Web Services Security 1.0 标准。要了解有关此标准的各种组件的更多信息,请参阅:

Web service 工具支持下列规范:

技术或规范 受支持的版本或级别
传输
HTTP/HTTPS V1.0 和 V1.1
JMS  
消息传递
SOAP 规范 V1.1
SOAP 附件  
描述
UDDI V2.0
WSDL V1.1
WSIL V1.0
安全性
WS-Security OASIS 标准 1.0
互操作性
WS-I Basic Profile 1.1.2
WS-I Simple SOAP Binding Profile 1.0.3
WS-I Attachments Profile 1.0
其他标准  
JAX-RPC V1.0(适用于 J2EE 1.3)和 V1.1(适用于 J2EE 1.4)
JSR 109 J2EE 1.3
JSR 921 J2EE 1.4