UDDI(通用發(fā)現(xiàn)與發(fā)布規(guī)范)簡(jiǎn)介
UDDI是微軟新一代.NET框架的核心技術(shù)之一(其他還包括WEB SERVICE、SOAP、XML),讓我們來看看它到底是什么?
Universal Discovery Description and Integration(UDDI,即通用發(fā)現(xiàn)與發(fā)布方法集)規(guī)范定義了一種發(fā)布和發(fā)現(xiàn)網(wǎng)絡(luò)服務(wù)信息的方式。它是一套公開的實(shí)現(xiàn)規(guī)則,允許企業(yè)注冊(cè)他們所提供的網(wǎng)絡(luò)服務(wù)信息,以便其他的企業(yè)能夠找到他們。“網(wǎng)絡(luò)服務(wù)”一詞指一個(gè)公司所實(shí)現(xiàn)的特定的商業(yè)功能,通常通過Internet連接為其他公司或軟件程序使用這些服務(wù)提供途徑。
網(wǎng)絡(luò)服務(wù)正成為電子商務(wù)的編程重心。例如,一個(gè)公司使用另外一個(gè)公司的服務(wù),通過Internet連接直接發(fā)送購(gòu)買單。另一個(gè)例子是計(jì)算通過某種運(yùn)輸方式,運(yùn)送一定大小或質(zhì)量的包裹一定距離的費(fèi)用。
初看起來網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)過程好像是非常簡(jiǎn)單的。如果一個(gè)已知的商務(wù)伙伴有一個(gè)已知的電子商務(wù)網(wǎng)關(guān),還需要發(fā)現(xiàn)什么呢?然而這是在默認(rèn)所有信息都知道的情況下。當(dāng)您想找出哪個(gè)商務(wù)伙伴具有某種服務(wù),問題馬上就變困難了。一種選擇是打電話給各個(gè)商務(wù)伙伴,然后找到合適的人選。對(duì)于一個(gè)網(wǎng)絡(luò)服務(wù),雇傭高科技技術(shù)人員來滿足任意發(fā)現(xiàn)的需要是難于完成的。
解決這個(gè)問題的另外一種方法是通過使用在每個(gè)公司網(wǎng)站上的網(wǎng)絡(luò)服務(wù)描述文件。畢竟網(wǎng)絡(luò)爬行者可以訪問一個(gè)已注冊(cè)的URL,并且能夠發(fā)現(xiàn)和索引網(wǎng)頁上的文字。然而這種“robots.txt”方法,決定于網(wǎng)絡(luò)爬行者定位每個(gè)網(wǎng)站及網(wǎng)站上服務(wù)描述文件的能力。這種分布式方法具有升級(jí)潛力,但是缺少一種機(jī)制來保證服務(wù)描述文件格式的一致性以及跟蹤它們所發(fā)生的變化的方便性。
UDDI所采用依賴于一個(gè)企業(yè)分布式注冊(cè)方法,它們的服務(wù)描述文本是使用通用的XML格式。
UDDI業(yè)務(wù)登記邏輯和UDDI業(yè)務(wù)登記數(shù)據(jù)庫
UDDI方案的核心部分是UDDI業(yè)務(wù)登記邏輯,即UDDIBusinessRegistrations,一個(gè)XML格式的用來描述事物實(shí)體和它的事物服務(wù)的文件。從概念上看,一個(gè)UDDI業(yè)務(wù)登記邏輯所提供的信息包括三個(gè)部分:“白頁”包括地址、協(xié)議和已有標(biāo)識(shí);“黃頁”包括基于分類標(biāo)準(zhǔn)的工業(yè)類型;“綠頁”是關(guān)于企業(yè)所包含的服務(wù)技術(shù)信息,包括網(wǎng)絡(luò)服務(wù)說明參考和根據(jù)發(fā)現(xiàn)機(jī)制對(duì)各種文件和網(wǎng)址提供的標(biāo)識(shí)支持。
使用UDDI
UDDI包括企業(yè)在網(wǎng)上往冊(cè)的共享操作。在很大程度上,程序和程序員使用UDDI業(yè)務(wù)登記數(shù)據(jù)庫即UDDIBusinessRegistry查找有關(guān)服務(wù)的信息,對(duì)于程序員,可以準(zhǔn)備與廣告宣傳的網(wǎng)絡(luò)服務(wù)相一致的系統(tǒng),或者向其他調(diào)用的人描述他們的網(wǎng)絡(luò)服務(wù)。UDDIBusinessRegistry可以在企業(yè)層面上檢查一個(gè)特定的合作伙伴是否擁有特定的網(wǎng)絡(luò)服務(wù)接口,以發(fā)現(xiàn)在特定行業(yè)內(nèi)擁有特定類型服務(wù)的公司,找到有關(guān)某個(gè)合作伙伴或預(yù)期的合作伙伴的信息,以便了解與該服務(wù)進(jìn)行交互所需的技術(shù)細(xì)節(jié)。
從XML和SOAP中,可以往意到,集成和互用性問題已經(jīng)在各層簡(jiǎn)化了。XML提供了一個(gè)跨平臺(tái)的方法來進(jìn)行數(shù)據(jù)編碼和格式化。SOAP是以XML為基礎(chǔ)的,它定義了一種對(duì)系統(tǒng)間的交換信息進(jìn)行打包的簡(jiǎn)單方法。SOAP對(duì)于HTTP的綁定是以這個(gè)打包協(xié)議為基礎(chǔ)的,并且定義了在系統(tǒng)之間進(jìn)行遠(yuǎn)程調(diào)用的方法,這種方法與個(gè)別公司選擇的程序設(shè)計(jì)語言或操作系統(tǒng)無關(guān)。以前的方法包括復(fù)雜的分布式對(duì)象標(biāo)準(zhǔn)或技術(shù)橋接軟件。最后,這些方法沒有一種被證明是經(jīng)濟(jì)的。采用XML和SOAP,這種跨語言、跨平臺(tái)的方法簡(jiǎn)化了兩個(gè)公司的系統(tǒng)彼此兼容的問題。
即使某個(gè)公司考慮到了XML和SOAP,任何兩個(gè)公司都可能在實(shí)施通信基礎(chǔ)設(shè)施中,仍存在巨大的差異。正如任何一個(gè)行業(yè)權(quán)威人士將會(huì)告訴您的:“需要的是建立在為每一個(gè)計(jì)算平臺(tái)普遍支持的標(biāo)準(zhǔn)之上的、完全終端到端(end-to-end)的解決方案。”顯然,要實(shí)現(xiàn)這個(gè)目標(biāo)有更多的工作要做。UDDI規(guī)范吸取了XML和SOAP的教訓(xùn),定義了一個(gè)上層結(jié)構(gòu),使得兩個(gè)公司可以共享一個(gè)方法來查詢彼此的特性,并對(duì)他們自己的特性進(jìn)行描述。
UDDI技術(shù)發(fā)現(xiàn)層
UDDI規(guī)范描述了網(wǎng)絡(luò)服務(wù)的概念。以及一種簡(jiǎn)單的定義描述任何種類的網(wǎng)絡(luò)服務(wù)的架構(gòu)的編程接口。這個(gè)規(guī)范有幾個(gè)相關(guān)文件和一個(gè)XML模式組成,這個(gè)XML模式定義了用于注冊(cè)和發(fā)現(xiàn)網(wǎng)絡(luò)服務(wù)的基于SOAP的程序設(shè)計(jì)協(xié)議。這些規(guī)范由來自幾個(gè)領(lǐng)先的公司的技術(shù)人員和管理人員用幾個(gè)月的時(shí)間確定的。同時(shí),這些公司承擔(dān)了首先實(shí)施UDDI服務(wù),并將這些服務(wù)作為共享所有注冊(cè)信息的可公開訪問的、多站點(diǎn)合作運(yùn)行的任務(wù)。
注冊(cè)(BusinessRegistry)規(guī)范之間的關(guān)系,這種方式提供了對(duì)有關(guān)網(wǎng)絡(luò)服務(wù)信息的“一次注冊(cè),處處發(fā)布”的訪問方式。
利用UDDI發(fā)現(xiàn)服務(wù),企業(yè)可以單獨(dú)地注冊(cè)有關(guān)他們公開的以便其他企業(yè)使用的網(wǎng)絡(luò)服務(wù)的信息。這些信息可以通過網(wǎng)站或使用采用在UDDIAPI規(guī)范中描述的編程服務(wù)接口的工具,添加到UDDI企業(yè)注冊(cè)中。UDDI企業(yè)注冊(cè)是一個(gè)邏輯上集中、物理上分布式的、擁有多個(gè)根節(jié)點(diǎn)的服務(wù),它可以定期彼此復(fù)制數(shù)據(jù)。一旦某個(gè)企業(yè)利用一個(gè)企業(yè)注冊(cè)服務(wù)示例進(jìn)行注冊(cè),數(shù)據(jù)自動(dòng)與其他UDDI根節(jié)點(diǎn)共享,并且可以為任何需要了解某個(gè)特定企業(yè)所提供的網(wǎng)絡(luò)服務(wù)的人自由使用。
請(qǐng)注意UDDI并未構(gòu)成一個(gè)功能齊全的發(fā)現(xiàn)服務(wù)是很重要的。UDDI服務(wù)旨在使得能夠采用技術(shù)發(fā)現(xiàn)服務(wù)。利用UDDI定義的工具,某個(gè)程序或程序員可以找到有關(guān)某個(gè)合作伙伴提供的服務(wù)的信息,可以了解某個(gè)合作伙伴是否擁有與內(nèi)部技術(shù)相兼容的服務(wù),并且可以按照連接找到適合某個(gè)網(wǎng)絡(luò)服務(wù)的規(guī)范,這樣某個(gè)集成層可以按照與合作伙伴服務(wù)兼容的方式構(gòu)建。企業(yè)還可以直接通過UDDI,或者通過使用UDDI作為其增值服務(wù)數(shù)據(jù)源的在線商場(chǎng)和搜索引擎找到潛在的合作伙伴。這樣可以發(fā)現(xiàn)技術(shù)兼容性,以便軟件公司可以使用網(wǎng)絡(luò)上的UDDI注冊(cè),在軟件安裝和配置時(shí),自動(dòng)對(duì)某些特定的技術(shù)連接進(jìn)行配置。
到這里,我們有條件也有必要做一個(gè)總結(jié)來理順.NET核心技術(shù)間的邏輯關(guān)系,從而理解它們?nèi)绾螄@Web服務(wù)相互作用。
.NET技術(shù)使用HTTP/TCP等標(biāo)準(zhǔn)的網(wǎng)絡(luò)協(xié)議完成底層的傳輸,以XML作為數(shù)據(jù)表示的基礎(chǔ),通過SOAP說明了用XML在系統(tǒng)間交換信息的方法,通過WSDL(同樣基于XML)等服務(wù)描述語言來描述和記錄Web服務(wù)所產(chǎn)生和接收的消息,通過UDDI來登記和尋找服務(wù)。
未來的工作
在UDDI方面工作的小組正在計(jì)劃對(duì)OpenDraft規(guī)范中的功能性進(jìn)行擴(kuò)展,使其能夠解決更多問題,而不僅僅是技術(shù)發(fā)現(xiàn)問題。將來的特性將提供查找產(chǎn)品和服務(wù)、定義網(wǎng)絡(luò)服務(wù)實(shí)施規(guī)范的能力,以及提供管理分層的商務(wù)組織、團(tuán)體和貿(mào)易集團(tuán)的能力。推動(dòng)目標(biāo)是為網(wǎng)絡(luò)服務(wù)互用性提供一個(gè)公共規(guī)范。
posted on 2008-09-26 10:19
阿蜜果 閱讀(651)
評(píng)論(0) 編輯 收藏 所屬分類:
網(wǎng)絡(luò)通信相關(guān)