UDDI v2新特性: 第三方分类法和标识系统

UDDI v2 新特性 :

第三方分类法和标识系统

( 本文最初由 IBM developerWorks 中国网站发表,其网址是 http://www.ibm.com/developerWorks/cn/ )

( 本文是我在 developerWorks 专栏发表的 UDDI v2新特性: 第三方分类法和标识系统 的缩减版,需要浏览未缩减版原文,请访问 http://www.ibm.com/developerWorks/cn/ )

UDDI 的全球化提出的挑战

如果大家自己研究过 UDDI 1.0 规范的话,应该知道在 UDDI 1.0 规范中,用户可以使用诸如 save_business 、 save_service 和 save_tModel 等的 API 消息来注册和更新注册中心中的 businessEntity 、 businessService 以及 tModel 等实体信息。这些实体信息可选的会附加了类别信息 ( 属于某个分类法下的某个类别 ) 以及标识信息 ( 在某个标识系统中拥有一个标识 ) 等信息。类别信息是使用 categoryBag 元素来指定的,其中包含了具备命名空间修饰的对分类法键值和描述的引用。标识信息是使用 identifierBag 元素来指定的,其中包含了具备命名空间修饰的对标识符和描述的引用。

我们知道在 UDDI 规范 1.0 版中内置了这样三个分类法:

**_ tModel Description: _ ** Business Taxonomy: NAICS (1997 Release)

**_ tModel UUID: _ ** uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2

**_ Categorization: _ ** categorization

**_ Checked: _ ** Yes

这个 tModel 定义了 NAICS 工业分类法。

**_ tModel Description: _ ** Product Taxonomy: UNSPSC (Version 3.1)

**_ tModel UUID: _ ** uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384

**_ Categorization: _ ** categorization

**_ Checked: _ ** Yes

这个 tModel 定义了 UN/SPSC 产品分类法。

**_ tModel Description: _ ** UDDI GeographicTaxonomy

**_ tModel UUID: _ ** uuid:61668105-B6B6-425C-914B-409FB252C36D

**_ Categorization: _ ** categorization

**_ Checked: _ ** Yes

这个 tModel 定义了 ISO 3166 地理分类法命名空间。

以及这样两个标识系统:

**_ tModel Description: _ ** Dun & Bradstreet D-U-N-S® Number

**_ tModel UUID: _ ** uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823

**_ Categorization: _ ** identifier

**_ Checked: _ ** No

这个 tModel 被用于表示 Dun & Bradstreet D-U-N-S® Number 标识符。这个 tModel 最初被注册成为 UDDI 核心 tModel 的一部分。一旦注册中心开始运行,这个 tModel 就将期望被传送到 Dun & Bradstreet 信息发布者那里进行管理。更多信息请参考 http://www.dnb.com

**_ tModel Description: _ ** Thomas Registry Suppliers

**_ tModel UUID: _ ** uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039

**_ Categorization: _ ** identifier

**_ Checked: _ ** No

这个 tModel 是用于表示 Thomas 注册中心的供应商标识符编码。这个 tModel 最初被注册成为 UDDI 核心 tModel 的一部分。一旦注册中心开始运行,这个 tModel 的监管权将被期望移交给 Thomas 注册中心的信息发布者。更多信息请参考 http://www.thomasregister.com

然而 UDDI 注册中心的创立是为了全球商业注册的使用,全球的不同文化社会背景的商业实体自然不可能都采用美国的商业惯例,都使用这些分类法和标识系统。同时让 UDDI 注册中心去内置全球各地的分类法和标识体系也是一个不切实际的想法,作为一个面向技术运作的系统,不应该也不可能去内置如此多的带有地区商业特征和使用习惯的商业机制。因此如果即能提供种类繁多的分类法和标识系统,又无需太多地增加 UDDI 注册中心的运作代价,以满足全球用户的需要,这就是 UDDI 规范 2.0 需要面对的一个重要的问题。

UDDI 2.0 的新特性

UDDI 规范 2.0 版引入了已校验 (checked) 的外部命名空间的概念。这一机制使得第三方的分类系统或标识系统的提供者能够扩展 UDDI 操作入口站点的能力,使得 UDDI 操作入口站点能够支持新的类别模式和标识模式,同时将其集成到 UDDI 注册中心的数据表示中去。这一新的功能为 UDDI 注册中心中的数据表达提供了全新的支持,使得 UDDI 注册中心得以包含新的类别和标识符系统,同时将这些类别和标识附属一个或多个商业实体。

上图描述了这个外部命名空间所描述的外部分类法 ( 获标识系统 ) 的工作模式,工作流程一般为:

1. 分类法 ( 或标识系统,两者可以统归为命名空间,因为可以把 KeyName/KeyValue 值对看成是命名空间中的取值 ) 提供商首先将其自身提供的分类法的技术信息注册到 UDDI 注册中心中去,然后在 UDDI 注册中心中注册了对应于该分类法的分类校验服务 (Taxonomy Validation Service) 。

2. 商业实体将自身信息注册进入 UDDI 注册中心,同时采用了外部的分类法提供商提供的分类法类别对其信息加以分类。

3. UDDI 注册中心发现了这个外部分类,因此调用外部的对应该分类法的分类校验服务 (Taxonomy Validation Service) 来实施校验,如果校验成功则实体包含的相关分类信息被标志为已校验,否则就被标注为未通过校验。

第三方的机会

对于那些希望为 UDDI 操作入口站点提供作为核心服务的附加行为的增值服务的第三方实体,将存在很多机会。这些机会包括:提供外部分类法和命名空间校验认证服务,在基础的 UDDI API 之上提供更丰富的搜索机制等。无论是何种情况,第三方实体都被鼓励直接与 UDDI 操作入口站点个体进行磋商以建立合适的合约化的商务关系。

如何检查 第三方提供的分类法和标识系统

无论是何时调用 save_business , save_service 或 save_tModel ,任何在参数集中包含的 categoryBag 或 identifierBag 信息的所有内容都将被检查,检验其中包含的代码值是否是合法的值。这样的检验将会作用与任何被分类为 ” 已校验 ” 的分类法或标识符模式。 UDDI 规范 2.0 版中提供了一种机制,使得第三方实体能够注册新的分类法或标识符模式,而对于校验流程也是完全由这样的第三方控制, UDDI 注册中心将会使用第三方提供的机制来处理对内容的检查。

对于那些希望提供如上所述机制的第三方实体,必须实现一个与 UDDI 有着同样风格 ( 比如,使用在 HTTP 之上的 SOAP 1.1 作为消息传输机制 ) 的 Web 服务,同时发布一个简单的名为 validate_values 的方法。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus