公用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的内容一般为如下所示:
<categoryBag>
<keyedReference
tModelKey = "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4"
keyValue = "identifier"
keyName = "tModel is a unique identifier">
</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值的工具会在适当的时间提供。