新特性 : 第三方分類法和標識系統 ( 本文最初由 IBM developerWorks 中國網站發表,其網址是 http://www.ibm.com/developerWorks/cn/ ) ( 本文是我在 developerWorks 專欄發表的 UDDI v2新特性: 第三" name="description" />
(本文最初由 IBM developerWorks 中國網站發表,其網址是http://www.ibm.com/developerWorks/cn/)
(本文是我在developerWorks專欄發表的UDDI v2新特性: 第三方分類法和標識系統的縮減版,需要瀏覽未縮減版原文,請訪問http://www.ibm.com/developerWorks/cn/)
如果大家自己研究過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版引入了已校驗(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的方法。
原文轉自:http://www.anti-gravitydesign.com