分享

tModel体系和公共tModel

 开心豆豆2010 2013-10-09

为便捷地实现服务描述(tModel)注册的一致性,并且为在UDDI注册中心给服务描述的基本组织提供一个框架,因此建立了一套约定规则。本节描述了服务描述(Service Description)的注册规则,及一系列为便捷常用信息注册的公用tModel,以及UDDI注册中心本身提供的服务的tModel。

本文所引用的资源主要包括两类,一类是UDDI的规范、白皮书及相关文档,另一类是协助UDDI规范解决B2B电子商务应用交互和集成的系列技术标准规范,他们与UDDI是一个不可分割的技术体系,包括SOAP、WSDL、XML等。本文的最后给出了这些资源的链接,有兴趣的读者可以通过这些 资源链接找到所需的内容。

UDDI类型分类法

UDDI规范为可能注册的信息类型提供了很高的适应性和灵活性。UDDI规范中预先建立了一个类型分类法来协助对注册信息的类别进行概要层次的分类。在本规范版本中,类型分类法是为了服务描述或tModels的分类而开发的。以后商业实体或服务的类型可能被引入并与该分类法合并。

在UDDI类型分类法(UDDI Type Taxonomy)中对tModel分类的方法与用其他分类法对tModel分类的方法是一致的。每一个tModel的分类信息都加入到save_tModel消息的categoryBag元素中。一个keyedReference元素被加入到categoryBag中用于表示将被注册的tModel的类型。

在UDDI类型分类法(UDDI Type Taxonomy)中定义的可通过键值标识的引用(keyed reference)的值定义在下面的tModel描述表格中。

tModel Name:uddi-org:types
tModel Description:UDDI Type Taxonomy
tModel UUID:uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4

回页首

tModel的层次分类

下表描述了UDDI类别分类法。这个分类结构是层次组织的,在ParentID列表明了结构的父子关系。而tModel键是整个结构的根。除了根外,在分类法的每一层次都可以有分类类别。

这样的一种描述完全是承自对象的描述方法,充分运用了继承和特化的机制。整个UDDI类别分类结构可以看成是一个对象树。而这棵树中的每个结点都是一种tModel的类型,也就是说这也是一棵型(Type)的树。在这棵树中,根并没有太多实际的意义,只是为了描述的完美性而添加的一个根(否则就不得不以森林的形式来维护),或者也可以把它看成是一个抽象类,这与一般的类型系统是类似的。

ID ParentID Allowed Description
tModeltModel这些类型是用于tModel的
identifiertModel唯一标识符
categorizationtModel分类类别(分类法)
specificationtModelWeb服务遵循的规范
xmlSpecspecification使用XML消息的Web服务的调用规范
soapSpecxmlSpec使用SOAP消息的与Web服务交互的规范
wsdlSpecspecification使用WSDL描述的Web服务的调用规范
protocoltModel协议
transportprotocol报文/传输协议
signatureComponenttModel特征组件

x

关于这个层次关系图,我们可以参阅下面的图1。


Figure 1. UDDI tModel的类型层次图
UDDI tModel的类型层次图

tModel: UDDI类别分类法是结构化的,允许对tModel外的注册信息条目进行分类。tModel键是在UDDI注册中心中的使用tModel作为分类标识的分类法树型结构的根。不允许使用这个键值表示分类法。每个分类法的表示都是一个tModel。

identifier: 标识符tModel表示了用于唯一标识信息的一系列特定的值。例如,一个Dun & Bradstreet D-U-N-S?号在全球范围唯一代表某公司。 D-U-N-S?号分类学是一个标识符分类法。

namespace: 命名空间tModel表示了一个信息集合的范围约束或域约束。与标识符不同,一个命名空间在域内没有一系列事先定义的值,但达到了避免冲突的效果。它与XML命名空间的功能相似。

categorization: 分类类别tModel 用于在UDDI注册中心内表示信息分类法。NAICS和UNSPSC是分类tModel的例子。

specification: 规范tModel用于定义了如何与一个Web服务交互的tModel。这些交互信息典型地包含请求集和响应集的定义,或该Web服务指定的其他类型交互信息。那些描述了XML、COM、Corba,或其他服务的tModel是规范 tModel(specification tModel)。

xmlSpec: xmlSpec tModel是规范tModel类型的一个细分。它用于表示与Web服务之间的交互是通过XML的。UDDI API tModel都是xmlSpec tModel。

soapSpec: soapSpec tModel是对xmlSpec tModel类型的进一步细分,soapSpec tModel用于表示与Web服务之间的交互是通过SOAP的。UDDI API tModel除了都是xmlSpec tModel以外,也都是soapSpec tModel。

wsdlSpec: 用于描述使用WSDL描述的Web服务的 tModel 被分类为wsdlSpec tModel。

protocol:一个描述了任何类型协议的tModel。

transport: 传输tModel描述的是一种特定类型的协议。HTTP、FTP 和 SMTP 是传输 tModel的几种类型。

signatureComponent: 特征组件是在当一个单一的tModel不能表示一个Web服务的完整调用规范的时候所使用的。 例如RosettaNet这样的规范,该规范的实现需要三个tModel的组合方能完成吗,一个tModel表示RNIF,一个用于特定的PIP,一个用于错误处理服务。每一个tModel都是特征组件的类型。

回页首

UDDI注册中心的公共tModel

UDDI 注册中心定义了许多tModels,这些tModel用于定义它的核心服务。每一个核心tModel都在本节被罗列。

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调用。

tModel Name:uddi-org:taxonomy
tModel Description:UDDI Taxonomy API
tModel UUID:uuid:3FB66FB7-5FC3-462F-A351-C140D9BD8304
Categorization:specification, xmlSpec, soapSpec
这个tModel定义了与UDDI注册中心交互的用于分类法维护的API调用。

回页首

UDDI核心tModel - 分类法

一个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工业分类法。

tModel Name:unspsc-org:unspsc:3-1
tModel Description:Product Taxonomy: UNSPSC (Version 3.1)
tModel UUID:uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384
Categorization:categorization
这个tModel定义了UN/SPSC产品分类法。

tModel Name:uddi-org:misc-taxonomy
tModel Description:Other Taxonomy
tModel UUID:uuid:A035A07C-F362-44dd-8F95-E2B134BF43B4
Categorization:categorization
这个tModel定义了未经确认的分类法。

回页首

UDDI核心tModel - 其他

其他的tModels被用来协助主流的工业编码模式和标准协议的注册。下面所列举的信息会根据UDDI商业注册中心的扩展而逐步完善。

tModel Name:dnb-com:D-U-N-S
tModel Description:Dun & Bradstreet D-U-N-S? Number
tModel UUID:uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823
Categorization:identifier
这个tModel被用来当作Dun & Bradstreet D-U-N-S? Number的标识符。这个tModel 最初被注册成为UDDI 核心 tModels的一部分。一旦注册中心开始运行,这个tModel就将被传送到Dun & Bradstreet信息发布者那里进行管理。更多信息请参考 http://www.。

tModel Name:thomasregister-com:supplierID
tModel Description:Thomas Registry Suppliers
tModel UUID:uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039
Categorization:identifier
这个tModel是用于Thomas注册中心的供应商标识符的编码。这个tModel 最初被注册成为UDDI 核心 tModels的一部分。一旦注册中心开始运行,这个tModel的监管权将被期望移交给Thomas 注册中心的信息发布者。更多信息请参考http://www.。

tModel Name:uddi-org:smtp
tModel Description:E-mail based web service
tModel UUID:uuid:93335D49-3EFB-48A0-ACEA-EA102B60DDC6
Categorization:transport
这个tModel被用来描述一个通过SMTP email传输协议来实施调用的Web服务。这些传输可以是发生在用户之间,也可以是发生在应用程序之间。

tModel Name:uddi-org:fax
tModel Description:Fax based web service
tModel UUID:uuid:1A2B00BE-6E2C-42F5-875B-56F32686E0E7
Categorization:protocol
这个tModel被用来描述一个通过FAX传输来实施调用的Web服务。这些传输可以是发生在用户之间,也可以是发生在应用程序之间。

tModel Name:uddi-org:ftp
tModel Description:File transfer protocol (ftp) based web service
tModel UUID:uuid:5FCF5CD0-629A-4C50-8B16-F94E9CF2A674
Categorization:transport
这个tModel被用来描述一个通过FTP协议传送文件来调用的Web服务。

tModel Name:uddi-org:telephone
tModel Description:Telephone based web service
tModel UUID:uuid:38E12427-5536-4260-A6F9-B5B530E63A07
Categorization:specification
这个tModel被用来描述一个通过电话调用的Web服务。该服务通过语音/音频同用户进行交互。

tModel Name:uddi-org:http
tModel Description:An http or web browser based web service
tModel UUID:uuid:68DE9E80-AD09-469D-8A37-088422BFBC36
Categorization:transport
这个tModel被用来描述一个通过Web浏览器或HTTP协议来调用的Web服务。

回页首

在类型分类中注册tModel

当一个新的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类型分类法中的标识符的。在注册中它不是必需的,但是它是提供被选择键值的附加信息的简单机制。


参考资料

关于作者

柴晓路

柴晓路: 上海得易电子商务技术有限公司( DealEasy)首席系统架构师、XML技术顾问。2000年获复旦大学计算机科学硕士学位,曾在国际计算机科学学术会议(ICSC)、亚太区XML技术研讨会(XML Asia/Pacific'99)、中国XML技术研讨会(北京)、计算机科学期刊等各类国际、国内重要会议与期刊上发表论文多篇。专长于基于XML的系统集成和数据交换的技术研究,同时对数据库、面向对象技术及CSCW等技术比较擅长。2001年加入 UDDI Advisor Group,参与了UDDI Specification V2的开发。目前作为 UDDI-China.org的主要核心成员参与UDDI-China.org的核心技术工作。UDDI-China.org是在UDDI.org和DealEasy Technology的支持下在2001年6月发布的UDDI技术站点。 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多