要在 Web 的多样性世界里取得成功,在涉及到操作系统、对象模型和编程语言的选择时,XML Web 服务不能有任何倾向性。同样,要使 XML Web 服务像其他基于 Web 的技术一样被广泛采用,必须符合下列条件:
-
松耦合的:如果对两个系统的唯一要求是要理解前面提到的自我描述的文本消息,那么这两个系统就被认为是松耦合的。另一方面,紧耦合系统要求大量自定义系统开销来进行通信,并要求系统之间有更多的了解。
-
常见的通信:大概不会有人会在现在或不远的将来构建一个无法连接到 Internet 的操作系统,因此,需要提供常见的通信信道。同样,能够将几乎所有系统或设备连接到 Internet 的能力将确保这样的系统和设备可以供连接到 Internet 的所有其他系统或设备使用。
-
通用数据格式:通过用现有的开放式标准而不是专用的封闭通信方法,任何支持同样的开放式标准的系统都能够理解 XML Web 服务。在采用自我描述的文本消息时,XML Web 服务及其客户端无须知道每个基础系统的构成即可共享消息,这使得自治系统和不同的系统之间能够进行通信。XML Web 服务使用 XML 实现此功能。
XML Web 服务采用的基础结构提供下列内容:定位 XML Web 服务的发现机制、定义如何使用这些服务的服务描述以及通信时使用的标准连网形式。下图显示了此基础结构的一个示例。
XML Web 服务基础结构
基础结构组件 | 角色 |
XML Web 服务目录提供一个用于定位其他组织提供的 XML Web 服务的中心位置。XML Web 服务目录(如 UDDI 注册表)充当此角色。XML Web 服务客户端可能参考也可能不参考 XML Web 服务的目录。 | |
XML Web 服务发现是定位(或发现)使用 Web 服务描述语言 (WSDL) 描述特定 XML Web 服务的一个或多个相关文档的过程。DISCO 规范定义定位服务描述的算法。如果 XML Web 服务客户端知道服务描述的位置,则可以跳过发现过程。 | |
要了解如何与特定的 XML Web 服务进行交互,需要提供定义该 XML Web 服务支持的交互功能的服务描述。XML Web 服务客户端必须知道如何与 XML Web 服务进行交互才可以使用该服务。 | |
为实现通用的通信,XML Web 服务使用开放式连网形式进行通信,这些格式是任何能够支持最常见的 Web 标准的系统都可以理解的协议。SOAP 是 XML Web 服务通信的主要协议。 |