在 UDDI 注册中心有 4 种主要的数据类型: businessEntity、 businessService、 bindingTemplate和 tModel。 图 1展示了所有这些数据类型之间的关系。
businessEntity 提供关于商家的信息,可以包含一个或多个 businessService。 这个商家是服务提供者。Web 服务的技术和业务描述在 businessService 和其 bindingTemplate 中被定义。每个 bindingTemplate 包含一个对一个或多个 tModel 的引用。tModel 被用于定义服务的技术规范。
为帮助在 UDDI 注册中心发布和查找 WSDL 服务描述,WSDL 文档被分为两种类型: 服务接口(service interface )和 服务实现(service implementations)(请参阅 图 2)。
服务接口由 WSDL 文档来描述,这种文档包含服务接口的 types、 import、 message、 portType和 binding等元素。服务接口包含将用于实现一个或多个服务的 WSDL 服务定义。它是 Web 服务的抽象定义,并被用于描述某种特定类型的服务。
通过使用一个 import 元素,一个服务接口文档可以引用另一个服务接口文档。 例如,一个仅包含 message 和 portType 元素的服务接口可以被另一个仅包含此 portType 的绑定的服务接口引用。
WSDL 服务实现文档将包含 import和 service元素。服务实现文档包含实现一个服务接口的服务的描述。import 元素中至少会有一个将包含对 WSDL 服务接口文档的引用。一个服务实现文档可以包含对多个服务接口文档的引用。
WSDL 服务实现文档中的 import 元素包含两个属性。 namespace的属性值是一个与服务接口文档中的 targetNamespace相匹配的 URL。 location属性是一个用于引用包含完整的服务接口定义的 WSDL 文档的 URL。port 元素的 binding属性包含对服务接口文档中的某个特定绑定的引用。
服务接口文档由 服务接口提供者开发和发布。服务实现文档由 服务提供者创建和发布。服务接口提供者与服务提供者这两个角色在逻辑上是分离的,但他们可以是同一个商业实体。