公用 tModel 和约定规则
( 本文最初由 IBM developerWorks 中国网站发表,其网址是 http://www.ibm.com/developerWorks/cn/ )
( 本文是我在 developerWorks 专栏发表的 tModel体系和公共tModel 的缩减版,需要浏览未缩减版原文,请访问 http://www.ibm.com/developerWorks/cn/ )
为便捷地实现服务描述 (tModel) 注册的一致性,并且为在 UDDI 注册中心给服务描述的基本组织提供一个框架,因此建立了一套约定规则。本节描述了服务描述 (Service Description) 的注册规则,及一系列为便捷常用信息注册的公用 tModel ,以及 UDDI 注册中心本身提供的服务的 tModel 。
UDDI 类型分类法
UDDI 规范为可能注册的信息类型提供了很高的适应性和灵活性。 UDDI 规范中预先建立了一个类型分类法来协助对注册信息的类别进行概要层次的分类。在本规范版本中,类型分类法是为了服务描述或 tModels 的分类而开发的。以后商业实体或服务的类型可能被引入并与该分类法合并。
在 UDDI 类型分类法 (UDDI Type Taxonomy) 中对 tModel 分类的方法与用其他分类法对 tModel 分类的方法是一致的。每一个 tModel 的分类信息都加入到 save_tModel 消息的 categoryBag 元素中。 一个 keyedReference 元素被加入到 categoryBag 中用于表示将被注册的 tModel 的类型。
分类法的值
下表描述了 UDDI 类别分类法。这个分类结构是层次组织的,在 ParentID 列表明了结构的父子关系。而 tModel 键是整个结构的根。除了根外,在分类法的每一层次都可以有分类类别。
** ID **
|
** ParentID **
|
** Allowed **
|
** Description **
---|---|---|---
tModel
|
tModel
|
否
|
这些类型是用于 tModel 的
Identifier
|
tModel
|
是
|
唯一标识符
Namespace
|
tModel
|
是
|
命名空间
Categorization
|
tModel
|
是
|
分类类别 ( 分类法 )
Specification
|
tModel
|
是
|
Web 服务的调用规范
xmlSpec
|
specification
|
是
|
使用 XML 消息的 Web 服务的调用规范
soapSpec
|
xmlSpec
|
是
|
使用 SOAP 消息的与 Web 服务交互的规范
wsdlSpec
|
specification
|
是
|
使用 WSDL 描述的 Web 服务的调用规范
Protocol
|
tModel
|
是
|
协议
transport
|
protocol
|
是
|
报文 / 传输协议
signatureComponent
|
tModel
|
是
|
签名组件
UDDI 注册中心的 tModel
UDDI 注册中心定义了许多 tModels ,这些 tModel 用于定义它的核心服务。每一个核心 tModels 都在本节被罗列。
**_ tModel Name: _ ** uddi-org:inquiry
**_ tModel Description: _ ** UDDI Inquiry API - Core Specification
**_ tModel UUID: _ ** uuid:4CD7E4BC-648B-426D-9936-443EAAC8AE23
**_ Categorization: _ ** specification, xmlSpec, soapSpec
这个 tModel 定义了与 UDDI 注册中心交互的查询 API 调用。
**_ tModel Name: _ ** uddi-org:publication
**_ tModel Description: _ ** UDDI Publication API - Core Specification
**_ tModel UUID: _ ** uuid:64C756D1-3374-4E00-AE83-EE12E38FAE63
**_ Categorization: _ ** specification, xmlSpec, soapSpec
这个 tModel 定义了与 UDDI 注册中心交互的发布 API 调用。
后略。
UDDI 核心 tModels – 分类法
一个 tModel 的附加集已经被预先建立,以协助使用工业分类法进行分类。它们的 tModels 描述如下:
**_ tModel Name: _ ** ntis-gov:naics:1997
**_ tModel Description: _ ** Business Taxonomy: NAICS (1997 Release)
**_ tModel UUID: _ ** uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2
**_ Categorization: _ ** categorization
这个 tModel 定义了 NAICS 工业分类法。
后略。
在类型分类中注册 tModels
当一个新的 tModel 被注册到 UDDI, 它的类型便被归类到 UDDI 类型分类法框架中。这个分类信息向应用程序提供更多 tModel 注册类型的线索。对于每一个相应的划分, tModel 的引用键值都将被加进 categoryBag 元素中。
例如, Dun & Bradstreet D-U-N-S® Number 是一种商业实体或组织机构的标识符。在 UDDI 类型分类法中, dnb-com:D-U-N-S 的 tModel 被归类为标识符 (identifier) 类型。
已注册的 tModel 中的 categoryBag 的内容一般为如下所示 :
1<categorybag>
2<keyedreference keyname="tModel is a unique identifier" keyvalue="identifier" tmodelkey="uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4">
3</keyedreference></categorybag>
** tModelKey: ** UDDI 类型分类法的 UUID 。这是必需存在的。
** keyValue: ** 这个标识符是 UDDI 类型分类法中的分类类别的标识符。同样是必需存在的。
** keyName: ** 这是用来描述 UDDI 类型分类法中的标识符的。在注册中它不是必需的,但是它是提供被选择键值的附加信息的简单机制。
[1] OASIS – 参阅 xml.org
[2] Eco Framework – 参阅 commerce.net
[3] 在 2000 年 9 月的 beta 版中, tModelKey 值被生成为 UUID 串。以后的工作会致力于通过使用数据拥有者提供的 URN/URI 值将 tModel 的键值定义得更有用一点。在 URN 值方面的流程细节使得这个特征不能在 beta 版中体现。将引用转换成 URN/URI 值的工具会在适当的时间提供。