UDDI V3架构与WSDL、WS-Policy的整合

UDDI V3架构与WSDL、WS-Policy的整合

背景简介

UDDI(Universal Description, Discovery, and Integration)作为一种服务发现的标准,对于Web服务的集成至关重要。随着技术的发展,UDDI V3作为该标准的最新版本,旨在解决更复杂的集成需求。本文将详细探讨UDDI V3架构中的关键概念,并分析其与WSDL和WS-Policy的整合方法,为读者提供深入的理解。

UDDI V3 数据模型

UDDI V3的数据模型包含多个核心元素,每个元素都有其特定的定义和用途。理解这些元素是掌握UDDI V3架构的关键。

businessEntity

businessEntity 代表任何服务提供者,包括企业、部门或项目团队。它包含了服务提供者整体的信息,如名称、描述和联系信息。企业可以使用 keyedReference 进行分类,并包含零个或多个 businessServices

businessService

businessService 代表可被调用的单一服务或相关操作的集合。它由 businessEntity 拥有,但可以投影到其他 businessEntity businessService 可以包含多个 bindingTemplates ,但自身不包含联系信息。

bindingTemplate

bindingTemplate 代表服务或服务部分的部署实现。它包括网络端点URL,用于客户端与服务通信。 bindingTemplate 可以包含多个 tModelInstanceInfo ,提供服务的技术信息。

tModel

tModel 在UDDI中用于广泛的用途,包括表示识别系统、分类系统、命名空间、传输和邮政地址格式。 tModel 可以包含多个描述和 overviewDoc 元素,且通常会被多个 keyedReferences 分类。

publisherAssertion

publisherAssertion 表示两个 businessEntities 之间的关联,涉及所有权声明。它由两个业务实体的键、表示两者之间关系的 keyedReference ,以及零个或多个数字签名组成。

分类系统

分类是UDDI架构中一个重要的方面。 categoryBag 元素包含多个 keyedReferences ,每个 keyedReference 表示特定分类系统的分类。例如,ISO 3166地理分类系统用 uddi:uddi.org:ubr:categorization:iso3166 作为 tModelKey 。搜索时,可以根据 tModelKey keyValue 进行精确匹配、不区分大小写的匹配或使用通配符的近似匹配。

UDDI 与 WSDL

UDDI V3与WSDL的整合允许将WSDL定义的服务和端口映射到UDDI中,支持服务发现。UDDI/WSDL技术说明书中详细介绍了如何将WSDL的不同元素映射到UDDI实体中。

WSDL portType 元素的映射

WSDL的 portType 元素在UDDI中被表示为一个 tModel ,通过 categoryBag 中的 keyedReference 引用。这允许根据命名空间和本地名称查询 tModels

WSDL Binding 元素的映射

WSDL的 binding 元素在UDDI中通过 tModel 表示,并通过 categoryBag 中的 keyedReference 来捕捉绑定和其 portType 之间的关系。

WSDL Service 元素的映射

UDDI的 businessService 代表一个WSDL服务,可以包含WSDL描述。其名称可以是易于理解的,而WSDL服务名称则通过 keyedReference 引用。

WSDL Port 元素的映射

WSDL服务的端口通过 bindingTemplates 表示,端口的WSDL绑定在 tModelInstanceInfo 中建模。

UDDI 与 WS-Policy

WS-PolicyAttachment规范描述了如何将策略附加到UDDI实体上。可以远程引用策略表达式或通过 tModel 表示策略表达式。

直接引用远程策略表达式

在UDDI V3中,策略表达式与UDDI实体关联。使用 tModelKey keyValue categoryBag 中引用远程策略表达式。

间接引用远程策略表达式

通过 tModel 代表个体远程策略表达式,以支持策略表达式的发布。

总结与启发

UDDI V3架构为服务的发现和集成提供了丰富的工具和方法。通过分类系统,企业可以更精确地描述其服务并被潜在客户找到。与WSDL的整合进一步增强了服务发现的能力,而与WS-Policy的整合则允许服务提供者表达其服务的安全和策略要求。这些整合不仅提升了UDDI的实用性,也促进了Web服务生态系统的成熟。

作为开发人员和架构师,理解和运用UDDI V3架构中的概念对于构建和维护复杂的分布式系统至关重要。通过本文的介绍,希望能够加深您对UDDI V3的理解,并在实际工作中应用这些知识以提高效率和互操作性。

你可能感兴趣的:(UDDI,V3,WSDL,WS-Policy,数据模型,服务发现)