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