理解 UDDI(3): bindingTemplate 與 Web 服務調用 ( 本文最初由 IBM developerWorks 中國網站發表,其網址是 http://www.ibm.com/developerWorks/cn/ ) ( 本文是我在 developerWorks 專欄發表的 bindingTemplat" name="description" />
(本文最初由 IBM developerWorks 中國網站發表,其網址是http://www.ibm.com/developerWorks/cn/)
(本文是我在developerWorks專欄發表的bindingTemplate與Web服務調用
,需要瀏覽未縮減版原文,請訪問http://www.ibm.com/developerWorks/cn/)
Web服務的技術描述是通過單獨包含的bindingTemplate結構的實例來實現的。這些結構提供對決定技術入口點的支持,或者可選地支持遠端主機宿主的服務,同時還提供一個輕量級的工具用于描述指定服務實現的唯一技術特征。技術和應用相關的參數和配置文件也同時被支持。
由于UDDI的主要作用是用來描述和發現Web服務信息,所以bindingTemplate被用來描述最令人感興趣的技術信息。
每一個bindingTemplate結構都有一個單一的businessService邏輯父結構,并且該businessService也有一個單一的businessEntity邏輯父結構。
結構規范:
|
<element name = "bindingTemplate"> <complexType> <sequence> <element ref = "description" minOclearcase/" target="_blank" >ccurs = "0" <choice> <element ref = "accessPoint" minOccurs = "0"/> <element ref = "hostingRedirector" minOccurs = "0"/> </choice> <element ref = "tModelInstanceDetails"/> </sequence> <attribute ref = "bindingKey" use = "required"/> <attribute ref = "serviceKey"/> </complexType> </element> |
字段名 |
描述 |
數據類型 |
長度 |
bindingKey |
給定的bindingTemplate的唯一的鍵值。當保存一個新的bindingTemplate結構時,應當傳入一個值為空的bindingKey值。上述操作將促使UDDI注冊中心生成一個新的UUID值。為更新一個已經存在的bindingTemplate結構,應當傳入與該綁定信息相對應的UUID值。如果數據是通過一個查詢操作得到,bindingKey值可以不為空。 |
UUID |
41 |
serviceKey |
當bindingTemplate數據包含在一個已經完整表達信息的同時已經包含一個serviceKey值的businessService父結構時,這個屬性是可選的。如果bindingTemplate數據被生成為XML文檔,同時這個文檔中沒有包含一個具有serviceKey的businessService父結構,那么必須在bindingTemplate中提供父結構的serviceKey值。這種行為支持了以任何核心元素作為起點而進行瀏覽的行為,在這種情況下這樣的數據描述能夠輕松地處理核心元素給定的父/子關系。 |
UUID |
41 |
description |
可選的可重復元素。對技術服務入口點的具備國家語言代碼修飾的零個或多個文本描述。 |
string |
255 |
accessPoint |
必要的由屬性修飾的數據元素。本元素是用來描述為調用服務所需的合適入口點地址的文本字段。它可以是URL、e-mail地址,或者是一個電話號碼。在對于該Web 服務的技術要求有所了解之前,不應當對該文本欄中出現的信息有任何的理解假設。 |
string w/attributes |
255 |
hostingRedirector |
如果沒有提供accessPoint元素,那么本元素是必須的。這個字段是一個可重定向到另一個bindingTemplate的引用。如果你查詢一個bindingTemplate并且在其中找到一個hostingRedirector的值,你就應該獲取這個重定向的bindingTemplate,并且將該bindingTemplate取代原先那個包含hostingRedirector的bindingTemplate。 |
empty w/attributes |
|
tModelInstanceDetails |
本結構是一個tModelInstanceInfo的列表。這些信息的全體形成了一個可區別的技術指紋,可用于標識兼容的服務(具有相同技術指紋的可認為是兼容服務)。 |
structure |
|
accessPoint和hostingRedirector子元素應當必須出現一種,并且僅能出現一種。
名為tModelInstanceDetails 的結構的內容可以在bindingTemplate結構中被發現同時是作為技術指紋服務于服務描述的。這一技術指紋是一系列對可唯一標識的規范和/或概念的引用。為了實現一個與某個tModel兼容的新的服務,該tModel所對應的規范是必須被正確理解的。而為了注冊一個服務并聲明它是與某個規范相兼容的,那么應當在該服務下的bindingTemplate實例中的tModelInstanceDetails下包含一個對該規范的tModel的引用,引用的鍵值是tModelKey。
原文轉自:http://www.anti-gravitydesign.com