为便捷地实现服务描述(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
| tModel | tModel | 否 | 这些类型是用于tModel的 | identifier | tModel | 是 | 唯一标识符 | categorization | tModel | 是 | 分类类别(分类法) | specification | tModel | 是 | Web服务遵循的规范 | xmlSpec | specification | 是 | 使用XML消息的Web服务的调用规范 | soapSpec | xmlSpec | 是 | 使用SOAP消息的与Web服务交互的规范 | wsdlSpec | specification | 是 | 使用WSDL描述的Web服务的调用规范 | protocol | tModel | 是 | 协议 | transport | protocol | 是 | 报文/传输协议 | signatureComponent | tModel | 是 | 特征组件 |
x
关于这个层次关系图,我们可以参阅下面的图1。
Figure 1. 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类型分类法中的标识符的。在注册中它不是必需的,但是它是提供被选择键值的附加信息的简单机制。
参考资料
- UDDI技术规范及白皮书
-
UDDI
Technical White Paper, Ariba Inc., IBM Corporation and
Microsoft Corporation, 6 Sep 2000
-
UDDI
Executive White Paper, Ariba Inc., IBM Corporation and
Microsoft Corporation, 6 Sep 2000
-
UDDI Programmer's API Specification, Ariba Inc., IBM
Corporation and Microsoft Corporation, 27 Mar. 2001
-
UDDI Data Structure Reference, Ariba Inc., IBM Corporation and
Microsoft Corporation, 30 Sep 2000
- 解决B2B电子商务应用交互和集成的InterOP
Stack系列技术标准规范
-
Web Service Description Language (WSDL) 1.0, IBM, 25 Sep
2000
-
SOAP:
Simple Object Access Protocol Specification 1.1, IBM,
Microsoft, DevelopMentor, 2000
-
Extensible Markup
Language (XML) 1.0 (Second Edition), W3C, 6 Oct 2000
-
XML Schema Part 0:
Primer, W3C, 16 Mar 2001
关于作者
柴晓路: 上海得易电子商务技术有限公司(
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技术站点。
|