UDDI
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄[隱藏] |
什麼是UDDI[1]
UDDI是一套基於Web的、分散式的、為WebService提供信息註冊中心的實現標準規範,同時也是促使企業能將自身提供的Web服務進行註冊,以使別的企業能夠發現服務的訪問協議的實現標準。
它主要由Ariba、IBM、Intel、Microsoft和SAP等公司共同推出,其v1版本於2000年9月正式發佈,20o1年6月發佈了v2版本,意圖建立一個全球化的、平臺無關的、開放式的架構,通過創建、使用一個全球性的商務註冊中心,以共用信息在定義的Intemet交互方式下使得企業能對外發佈自己的服務並且輕鬆快捷地尋找到需要的Web服務,從而加速全球B2B電子商務的應用。
UDDI是webService中的用來進行服務發佈操作的關鍵技術,它對web服務進行統一描述、發現和集成,同時UDDI和WSDL(WebServiceDefinitionLanguage)技術組合用來實現web服務的查找操作。web服務的另一個操作是使用wS—DL和SOAP(SimpleObjectAccessProtoco1)技術來實現服務的綁定。沒有UDDI,web服務就不能發佈和查找,也就談不上Web服務的實現,所以說UDDI是Web服務的基石。
UDDI核心技術和核心部件[1]
UDDI核心技術包括核心部件、UDDI運用、互操作協議棧、技術發現層、P2P(PeertoPeer)數據同步以及商務發現功能等六部分。
UDDI的核心部件是UDDI商務註冊,即一種描述商務實體及其Web服務所使用的XML文件。就其基本概念而言,UDDI商務註冊所提供的信息由3個部件組成:
(1)白頁(WhitePage):內容包括了公司名稱、企業公司聯絡信息、對人而言易讀的描述、企業標識(DUNS,納稅帳號等);
(2)黃頁(Yellowpage):包括了基於標準分類法的行業類別、服務和產品索引、工業代碼、地理索引等內容;
(3)綠頁(GreenPage):包括了關於該企業所提供的WebService的技術信息,其內容形式有電子商務規則、服務描述、應用的調用方法、數據綁定等,其發佈形式可能是一些指向文件或URL的指針,而這些文件或URL是為服務發現機制服務的。
UDDI包括商家在網上註冊的共用操作。當開發人員開發新的應用時,可以通過UDDIOperator或UDDISearchEngine的Web界面在UDDIRegistry上找到需要的WebService;然後在UDDIRegistry內,或通過UDDIRegistry中的連接找到該WebService的調用規範。編程人員或者各種程式運用UDDI“商務註冊”功能查找服務信息。編程人員還可以編和發佈與Web服務兼容的系統,或對其他商家介紹自己的Web服務。UDDI“商務註冊”主要是用在企業級,查對某個商務伙伴是否具備特定的Web服務介面,從而查到在某個行業中採用特定服務形式的公司,並找到商務伙伴或預定商務伙伴披露Web服務的信息,以便瞭解與那種服務發生聯繫所需的技術細節。
棧能夠實現豐富多彩的Web服務,而UDDI在互操作協議棧中居第2層(見表1)。UDDI在互操作協議棧中採用TCP/1P、HTTP、XML和SOAP(簡單對象訪問協議)等標準協議,生成一體化的服務描述格式和服務發現協議。就XML和SOAP而言,在這兩個協議中可使集成和互操作問題得以簡化。XML可使數據實現跨平臺編碼和格式化。SOAP建立在XML基礎之上,它對跨系統交換的信息打包定義一種簡單方式。通過SOAP和HTTP捆綁運行實現信息打包交換,並定義一種方法使系統實現遠程程式調用。通過使用XML和SOAP,這種跨語言、跨平臺方法使兩家公司的系統兼容問題得以簡化。
互操作協議棧 | 統一服務互操作協議(這些層次尚未定義) |
統一描述、發現和集成協議(UDDI) | |
簡單對象訪問協議(SOAP) | |
擴展標註語言(XML) | |
通用Intemet協議(HTTP,TCP/IP) |
統一描述、發現和集成協議(UDDI)規範是一個由Web服務所構成的邏輯上的雲狀服務,同時也定義了一種編程介面,這種編程介面提供了描述Web服務的簡單框架。規範包括幾份相關的文檔和一份XMLSchema,用來定義基於SOAP的註冊和發現Web服務的協議。
下圖表示UDDI規範、XML模式(UDDIAPI模式)和UDDI商務註冊團體之間的關係,即使用UDDI規範和APl模式在Internet上建立發現服務。這些發現服務提供一致的界面,並使服務發現井然有序。而且,只要註冊一次便可訪問隨處發佈的Web服務信息。
通過使用UDDI的發現服務,企業可以單獨註冊那些希望被別的企業發現的自身提供的Web服務。企業可以通過UDDI商業註冊中心的Web界面,或是使用實現了”UDDIProgram—meresAPI標準”所描述的編程介面的工具,來將信息加入到UDDI的商業註冊中心。UDDI商業註冊中心在邏輯上是集中的,在物理上是分散式的,由多個根節點組成,相互之間按一定規則進行數據同步。當一個企業在UDDI商業註冊中心的一個實例中實施註冊後,其註冊信息會被自動複製到其它UDDI根節點,於是就能被任何希望發現這些Web服務的人或公司所發現。
在UDDI的核心系統實施中,採用的是P2P(PeertoPeer)的體系架構。UDDIRegistry從外部來看對於用戶是一個整體的服務,而不同的UDDI操作入口站點(OperatorSite)則作為UDDIRegistry服務的不同的訪問入口是與用戶信息相關聯的,但是用戶註冊的信息在查詢上與訪問入口無關。
所有用戶可以任意選擇OperatorSite進行信息查詢,獲得的數據的範圍是覆蓋所有UDDIRegistry中邏輯存在的數據的。OperatorSite的職責是具備註冊數據的托管權,每個註冊數據條目的所有權有兩級,第一層次它是屬於某個操作入口站點的,第二層次它是屬於某個操作入口站點上註冊的用戶(發佈者)的。值得註意的是,不同的操作入口站點可以有不同的用戶認證機制和不同的用戶管理方法。
UDDI是為增強現有線上市場和搜索引擎而設計的,用以對有序商務和服務發現提供標準化的信息格式。UDDI規範中沒有直接涉及到具體的商業發現流程,例如找出一個以某一個給定的價格或在某一特定區域內提供某種特定的產品或服務的企業。高級的發現特性需要買方和賣方更進一步的合作與設計。UDD1只是為定義這些上層應用提供了基礎。
UDDlRegistry(UDDI註冊中心)[2]
UDDIRegistry是所有提供公共UDDI註冊服務的站點的通稱。
UDDIRegistry是一個邏輯上的統一體,在物理上則是以分散式系統的架構實施的,而不同站點之間是採用P2P(對等網路)架構實施的,因此訪問其中任意一個站點就基本等於訪問了UDDIRegistry。UDDIOperatorSite(UDDI註冊中心操作入ISl站點,簡稱UDDI操作入E1)是UDDIRegistry中每一個對等結點,對UDDIOperatorSite的查詢所獲得的結果是覆蓋全UDDIRegistry中的信息的,信息查詢無需身份認證;而在UDDIOperatorSite上進行信息發佈則必須使用該UDDIOperatorSite自身的用戶方能實施,同時以後的更新、刪除都必須通過這個OperatorSite,並使用初始發佈時使用的用戶進行許可權認證。
UDDI信息模型[2]
UDDI註冊使用的核心信息模型由XMLSchema定義。UDDIXMLSchema定義了4種主要信息類型,它們是技術人員在需要使用合作伙伴所提供的Web服務時所必須瞭解的技術信息,即:商業實體信息(businessEntity)、服務信息(businessService)和綁定信息(bindingTemplate)、服務調用規範(tModel)的說明信息。
下圖描述了層次信息與關鍵的XML元素名被用於描述與發現web服務之間的相關信息。
1.商業實體信息:businessEntity元素
“businessEntity”結構中包含了支持對UDDI商業註冊的商業信息發佈和發現的核bXML元素,如企業提供的服務的相關信息、企業的名稱以及一些關鍵性的標識、可選的分類信息和聯絡方法等。這個結構是商業機構專屬信息集的最高管理者,位於整個信息結構的最上層。
所有”businessEntity”中的信息支持”黃頁”分類法。因此可以執行這樣的搜索,如可以定位屬於某個行業分類或提供某種產品的企業,也可以定位處於某個地域範圍內的企業。
2.服務信息:businessService元素和bindingTemplate元素
“綠頁”數據是Web服務的技術和商業描述,是businessEntity的子結構。在這一層次,定義了兩個結構:businessService和bindingTemplate。businessService結構是一個描述性的容器,它將一系列有關商業流程或分類目錄的Web服務的描述組合到一起。例如,一組相關的Web服務信息,包括採購服務、運輸服務和其它的高層商業流程,就可以構成一個簡單的商業流程例子。
3.規範描述的指針和技術標識
調用一個服務所需要的信息是在bindingTemplate的結構中定義的。一般來說,僅知道Web服務所在的地址是不夠的。例如,某企業知道其合作伙伴提供一個Web服務來給其下訂單,同時也知道這個服務的URL,但是假如不知道一些具體的信息,如訂單的具體格式、應該使用的協議、需要採用的安全機制、調用返回的響應格式等,那樣的話,通過Web服務將兩個系統集成起來仍然是非常困難的。
當一個程式需要調用某個特定的Web服務時,必鬚根據應用要求得到足夠充分的調用規範等相關信息,才能使調用被正確地執行。因此,每一個bindingTemplate元素都包含一個特殊的元素,該元素包含了一個列表,列表的每個子元素分別是一個調用規範的引用。這些引用作為一個標識符的雜湊集合,組成了類似指紋的技術標識,用來查找、識別實現給定行為或編程介面的Web服務。
這項服務的UDDI註冊包括以下內容:用於描述商業合作伙伴的信息條目,描述訂單服務的邏輯服務的信息條目,描述訂單服務技術調用規範的bindingTemplate信息條目,其中bindingTemplate信息條目包含了服務的URL和一個tModel引用。