UDDI 与 WSIL 之间的关系

Web 服务检查语言(WSIL)和统一描述、发现和集成(UDDI)规范都处理与发现 Web Service 相关的问题。但是,这两个规范采用不同的方法来发现 Web Service。这两个规范可以单独使用也可以配合使用;使用 WSIL 进行搜索时,可以找到 UDDI 中的内容。

UDDI 规范使用中央模型来发现 Web Service。创建一个或多个存储库来保存关于业务以及业务所提供的服务的信息。直接对存储库发出与该服务信息和企业信息相关的请求和更新。此外,UDDI 为存储的部分描述信息指定了特定的格式,并且,为了方便执行高级(聚焦)搜索,UDDI 假定还将在系统中存储和注册其他描述信息。

由于 UDDI 系统基于能够提供高级搜索功能的有组织存储库,因此,这些系统简化了聚焦发现模式。这有助于请求者查找潜在的通信伙伴。但是,为了提供高级功能,UDDI 要求部署和维护一定数量的基础结构,因而提高了运作成本。此外,除非仅将服务描述存储在 UDDI 中,否则保持不同版本同步也需要相应的成本。

WSIL 规范依靠完全的分布式模型来提供与服务相关的信息。可以将服务描述存储在任何位置,并且通常直接对提供服务的实体发出信息检索请求。WSIL 规范未规定任何特定的服务信息格式。它依靠其他标准(包括 UDDI)来定义描述格式。WSIL 规范还依靠现有的 Web 技术和基础结构来提供文档的发布和检索机制。

WSIL 能够通过现有协议直接从服务提供点传播与服务相关的信息。这使得能够对单一目标执行聚焦发现;但是,由于使用了分散的分布式模型,所以在通信伙伴未知的情况下,它并不是一种很好的聚焦发现执行机制。

应该将 UDDI 和 WSIL 规范看作互补的技术,根据情况的不同,可以同时使用这两种规范,也可以单独使用它们。例如,可以根据搜索 WSIL 文档时找到的结果来填充 UDDI 存储库。同样,当请求者检索引用 UDDI 存储库中的条目的 WSIL 文档时,会发现该存储库本身。在不需要使用 UDDI 提供的高级功能并且存在的约束不允许部署 UDDI 的环境中,WSIL 机制可以提供所需的所有功能。在需要集中管理数据的情况下,最好单独使用 UDDI 解决方案。不应该将 UDDI 和 WSIL 规范看作是相互排斥的。

注意:UDDI 和 WSIL 都是只包含对 WSDL 的引用 - 它们都不包含 WSDL 文档本身。