




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
山東大學計算機學院第6章:Web服務的注冊與發現山東大學計算機學院目錄服務注冊服務發現UDDI:統一描述、發現和集成山東大學計算機學院服務注冊為充分發揮電子商務的作用,不同的企業必須能彼此發現、了解各自的需求和所能提供的功能,還能將不同企業的Web服務組合成新的服務和業務流程這一解決方案使得不同企業之間能夠發現和利用彼此的業務、合作伙伴所能提供的功能,并能不斷發現新的潛在合作伙伴,了解這些潛在合作伙伴所能提供的功能,以及將電子商務與這些潛在合作伙伴進行無縫對接該解決方案需要創建一個服務注冊體系結構,使得企業可以采用一個全球的、平臺獨立的、開放的業務框架,從而使得這些企業能夠發現彼此的業務定義這些業務如何通過互聯網進行交互共享全球注冊資料庫中的信息,從而加快電子商務在全球范圍的推進山東大學計算機學院服務注冊通過在服務注冊庫中發布一個Web服務,其他的應用將能發現該服務,這需要兩個同樣重要的操作:Web服務的描述和注冊服務發布需要從業務、服務和技術方面對Web服務進行合適的描述注冊則涉及在Web服務注冊庫中持久化存儲在Web服務的描述服務注冊主要關于服務的辨別和控制在最簡單的層次,服務注冊記錄企業所能提供的服務,以及那些服務的特性5UDDI消息在客戶機和注冊中心之間的流動UDDI工作原理下面我們通過圖示來講述UDDI的工作方式該圖說明了企業如何往UDDI注冊中心送入Web服務數據,企業又如何能發現和使用這些信息的7UDDI工作原理教材:圖6-28UDDI具體工作步驟第1步,在軟件公司和標準組織定義關于在UDDI中注冊的行業或企業的規范時,開始向注冊中心發布有用的信息。這些規范叫做技術模型或者更常見的說法是tModel。第2步,公司還會注冊關于其業務及其提供的服務的描述。第3步,UDDI注冊中心會給每個實體指定一個在程序中唯一的標識符,叫做唯一通用標識符(UniqueUniversalIdentifier,UUID)鍵,從而能隨時了解所有這些實體的情況。UUID鍵必須是唯一的,并且在一個UDDI注冊中心中從來都不會變化。這些鍵看上去象格式化好的十六進制隨機字符串(例如C0B9FE13-179F-413D-8A5B-5004DB8E5BB2)??梢岳眠@些鍵來引用與之相關聯的實體。在一個注冊中心中創建的UUID鍵只在該注冊中心的上下文中有效。9UDDI具體工作步驟第4步,諸如電子交易場所和搜索引擎等其它類型的客戶機與商業應用程序使用UDDI注冊中心來發現它們感興趣的服務。接著,客戶就可以調用這些服務,簡便地進行動態集成。山東大學計算機學院電子商務的注冊電子商務注冊通常有兩類山東大學計算機學院基于文檔的服務注冊基于文檔的服務注冊通過在注冊庫中存儲基于XML的服務文檔,諸如業務概況或技術規范(包括服務的WSDL描述),客戶端可以發布信息服務提供者也必須以服務元數據的形式提供每一個文檔的描述信息元數據可用來描述不同系統和流程中的信息結構,所以元數據是任何集成解決方案中的關鍵元素之一元數據:XML模式結構、接口定義、跨網絡的端點位置、整個流程的詳細描述元數據存儲在服務注冊庫中,描述文檔也持久化存儲服務注冊庫本身不關心服務文檔的具體內容山東大學計算機學院基于元數據的服務注冊在基于元數據的服務注冊中,采用了不同的方法來處理與服務相關的一些信息服務提供者提交包含服務信息的文檔注冊庫不會原樣存儲這些文檔,而是獲取服務文檔中所包含的信息,然后創建元數據,這些元數據從本質上反映了所提交文檔的內容元數據按內部格式存儲在服務注冊庫中元數據可以包含對于注冊庫沒有注冊的內容的引用注冊庫不會管理這些文檔,而是提供這些文檔的鏈接山東大學計算機學院目錄服務注冊服務發現UDDI:統一描述、發現和集成山東大學計算機學院服務發現服務發現是SOA的一個重要基礎服務發現的實質是確定Web服務提供者的位置,并獲取已經發布的Web服務的描述Web服務發現需要確定Web服務的位置以及了解Web服務的定義,這是訪問Web服務的一項基本工作Web服務客戶端可以了解是否存在所需的特定Web服務,以及了解相關Web服務的能力和如何與Web服務進行合適的交互山東大學計算機學院服務查詢服務查詢在注冊庫中查詢滿足服務請求者需求的Web服務查詢由一些搜索條件組成所需的服務類型、首選價格、返回結果的最大數量查詢將對服務提供者所發布的信息進行搜索在進行發現處理之后,服務開發者或者客戶端應用將了解到Web服務的具體位置(所查找到的服務的URI)、Web服務的能力,以及如何與其進行交互對于服務發現返回的Web服務集合,服務選擇將決定從中選擇調用哪一個服務山東大學計算機學院服務發現靜態服務發現通常發生在設計階段確定了服務實現細節,并從服務注冊庫中檢索服務設計者需要分析檢索操作的結果,并將檢索操作所返回的結果合并動態服務發現發生在運行時,設計時并不確定具體的服務實現細節Web服務請求者必須指定首選項應用將在服務注冊庫上進行檢索操作,以確定與應用所使用的服務接口定義相匹配的一個或多個服務實現定義山東大學計算機學院目錄服務注冊服務發現UDDI:統一描述、發現和集成UDDI數據結構WSDL到UDDI的映射模型UDDIAPIUDDI模型的查詢UDDI用例模型與部署的多樣性山東大學計算機學院通用描述、發現和集成規范為實現服務注冊和發現,創建通用描述、發現和集成(UDDI)規范UDDI是一個跨行業的注冊標準草案基于該規范以及支持服務發布和發現處理的注冊工具,可實現Web服務的描述和發現UDDI利用了W3C的一些標準,如XML、HTTP和DNS協議UDDI的目的是供開發工具以及使用Web服務標準的應用使用UDDI提供一個全球的、平臺獨立的、開放的框架,使得企業更容易開展業務、發現合作伙伴以及與這些合作伙伴在互聯網上進行互操作山東大學計算機學院UDDIUDDI是一個包含輕量級數據的注冊庫目的是提供它所描述的資源(例如模式、接口定義和跨網絡的端點)的網絡地址核心概念是UDDI業務注冊庫,用來描述業務實體和它的Web服務的XML文檔UDDI業務注冊提供的信息包含三個相關的組成部分白頁:地址、聯系方式以及其他的一些聯系信息
?企業可以發現潛在的合作伙伴以及有關這些合作伙伴的基本信息黃頁:基于行業分類法對信息進行分類
?可以發現按照具體行業進行分類的公司綠頁:關于服務的業務能力和相關信息
?如何與提供服務的企業進行聯系山東大學計算機學院UDDI用例模型通用業務注冊庫是免費的,IBM、微軟、SAP和NTT運營這些公共注冊庫駐留UDDI全球注冊庫中的公司成為運營者節點可以在Web上發布業務信息以及業務所提供的服務的相關信息,并且這些運營者都遵循良定義的復制模式UDDI用例模型產業聯盟、標準化組織、服務提供者(發布服務類型定義)UDDI注冊庫(構建和發布遵循服務類型定義的服務)服務提供者服務客戶端(基于不同的標準發現服務類型定義和服務)UDDI注冊庫服務客戶端(獲取服務類型定義細節)產業聯盟、標準化組織、服務提供者服務客戶端(調用所發現的服務)服務提供者山東大學計算機學院UDDI數據結構UDDI的主要目的是Web服務的數據和元數據表示無論是在公共域還是在防火墻后使用,UDDI注冊庫都提供了對Web服務分類、編目和管理的機制,從而可以發現和使用那些Web服務發現Web服務實現:基于公共的抽象接口定義發現Web服務提供者:按照分類模式或標識系統進行分類基于常規的關鍵字搜索服務確定一個特定的Web服務所支持的安全性和傳輸協議存儲Web服務的技術信息,并在運行時更新那些信息山東大學計算機學院UDDI數據結構對于表示公司和服務描述信息,UDDI定義了一個數據結構標準在XML模式中定義了UDDI注冊庫所使用的數據模型XML提供一個平臺中立的數據視圖,并可以以中立方式來描述層次關系UDDIXML模式定義了提供白頁、黃頁、綠頁功能的四類核心信息類型業務實體業務服務綁定模板服務規范(技術或tModel)UDDI數據結構類型
UDDI的數據類型從概念上講,UDDI注冊中心里的數據可以分為以下四類:1.商業實體信息(businessEntity)2.服務信息(businessService)3.綁定模板(bindingTemplate)4.技術模型(tModel)24UDDI數據結構businessEntity表示商業實體的主要信息,如聯系信息、根據特定分類法或者分類機制分類的公司類別、標識與其他商業實體之間的關系和特定業務的說明。businessService表示商業實體提供的服務,通過商業服務標識、商業實體標識、名稱、描述、綁定模板等元素,對特定企業所提供的特定服務進行描述。一個businessEntity可以有多個businessService。bindingTemplate,對于每一個businessService,存在一個或多個技術實現方式,這些方式的技術描述通過bindingTemplate來實現。bindingTemplate包括應用程序連接遠程Web服務并與之通訊所必須的信息,例如綁定標識、服務標識、接入地址等。1.商業實體信息商業實體信息即發布服務信息的商業實體的詳細信息,包括企業名稱、關鍵性的標識、可選的分類信息和聯絡方法等。這個數據結構在商業機構專屬信息集中是最高管理者,位于整個信息結構模型的最上層商業實體信息中的信息都支持"黃頁"分類法,顧客可以從行業類別、產品類型、地域范圍等定位企業或Web服務。2.服務信息
服務信息即一組特定的技術服務的描述信息。
該信息是“綠頁”數據的重要組成部分,是對Web服務技術和商業描述。
服務信息是商業實體信息的子結構。
服務信息結構組合了一系列的有關商業流程或分類目錄的Web服務的描述信息。技術人員可以對這些服務信息的信息集合進行分類,使Web服務的描述可以按不同的行業、產品、服務類型或是地域范圍劃分為幾類。
每個服務信息都包括一個或多個Web服務的技術描述。在這些技術描述中,規定了應用程序連接遠程Web服務并與之通訊所必須的技術信息細節(例如Web服務的地址和調用服務前必須調用的附加應用服務)。3.綁定模板綁定模板即關于Web服務的入口點和相關技術規范的描述信息。調用一個服務所需要的信息(包括規范描述的指針和技術標識)是在綁定模板結構中定義的。當需要調用某個特定的Web服務時,技術人員必須根據實際應用要求,在得到了充足的調用規范等相關信息之后,才能保證調用的正確執行。
4.技術模型(tModel)即Web服務或分類法的規范描述信息,也就是關于調用規范的元數據,包括Web服務名稱、注冊Web服務的企業信息和指向這些規范本身的URL指針等。這四類數據中的每一類表示UDDI中的一種實體。任何一個這樣的實體在UDDI注冊中心都指定有自己的UUID(通用唯一ID號)。利用這個標識符人們可以在UDDI注冊中心的上下文中找到它所代表的實體。當企業需要使用合作伙伴所提供的Web服務時,上述四類數據是技術人員必須了解的技術信息。30UDDI數據模型businessEntitybusinessServicebindingTemplatetModelpublisherAssertion3132businessService數據結構描述業務實體提供的webserviceprovidedbythebusinessentity.如何綁定?什么類型?屬于什么行業?33anexampleofabusinessservicestructurefortheHelloWorldwebservice34bindingTemplate數據結構Bindingtemplates是webservice的技術描述.一個服務可有多個bindingtemplates.bindingtemplate描述了webservice的具體實現35anexampleofabindingtemplateforHelloWorld36tModel數據結構tModel:technicalmodel.如果你定義了一個新的WSDLporttype,就有一個tModel在UDDI表示該接口.然后,通過關聯該tModel和業務服務的bindingtemplates指定一個businessservice實現該接口。37tModel一個webservice定義包含了抽象的可復用的信息和具體的實現信息.假設另外一家公司想實現同一個服務,就不應重復注冊抽象的服務信息,因為僅僅服務的endpoint地址不同.抽象的服務接口定義就是一個tModel.38anexampleofAtModelrepresentingtheHelloWorldInterfaceporttype39tModel屬性tModelKey—tModel唯一標識.一旦賦值,不能修改operator—擁有UDDI節點的運營商authorizedName—注冊tModel的鑒定用戶tModel元素name—必須.tModel的名字.description—可選.tModel的文字描述.overviewDoc—可選.tModel概述以及使用意愿identifierBag—可選.關聯tModel到一個預先定義的名字空間categoryBag—可選.通過各種各樣的分類法進行的分類40publisherAssertion數據結構publisherAssertion由三個元素組成:fromKey(thefirstbusinessKey),toKey(thesecondbusinessKey)keyedReference.keyedReference指派斷言關系類型.山東大學計算機學院服務提供者信息企業服務的合作伙伴或者潛在客戶需要了解服務的位置信息以及服務提供者的相關信息businessEntity元素和businessKey屬性作為頂層結構,包含了特定業務單元(服務提供者)的白頁信息在UDDI中,可使用businessEntity結構對業務和提供者進行建模包含businessKey屬性,具有唯一性的業務標識符businessKey的屬性值是UUID第一次創建businessEntity,UDDI注冊庫自勱生成該UUID,并賦給businessKey山東大學計算機學院一個<businessEntity>結構的實例山東大學計算機學院服務提供者信息discoveryURL元素這是一個可選元素,包含一些URL,執行其他的可Web尋址的發現文檔<discoveryURLuseType=“businessEntity”>
?businessKey=uddi::registry:sales:55</discoveryURL>name元素:包含了業務實體表示的組織的通用名稱description元素:對業務的簡短的敘述性說明contacts元素:主要關于組織的聯系信息,是一個可選元素businessServices元素:描述業務實體所提供的業務服務山東大學計算機學院Web服務描述信息businessEntity實體可以依次包含一個或多個businessServices數據結構,其中每個businessService構成都是一個businessEntity的邏輯后代businessService結構是一個描述性的容器對于一系列與業務流程或服務類別相關的Web服務,可以使用businessService結構對這些Web服務進行分組一個businessService包含一個或多個bindingTemplate實體兩者之間的關系類似于WSDL的service和port元素之間的關系包含在businessService元素中的信息映射到有關公司的黃頁信息山東大學計算機學院一個<businessService>結構的樣例山東大學計算機學院Web服務訪問與技術信息每個bindingTemplate表示了一個不同的Web服務port或binding描述了調用服務所需的所有訪問信息,提供了應用綁定Web服務所需的技術信息,以及與所描述的Web服務進行交互所需的技術信息businessEntity和businessService結構提供有關提供者和服務的輔助信息bindingTemplate元素必須包含下列兩者之一一個特定服務的接入點通向接入點的間接途徑綠頁數據是Web服務的技術描述,它駐留在bindingTemplate元素中山東大學計算機學院一個<bindingTemplate>結構的樣例設計者聲明<accessPoint>或<hostRedirector>,但不能同時聲明這兩者accessPoint是一個指向服務進入點的屬性指針有一個URLType屬性,可幫助搜索與特定服務類型相關的進入點hostingRedirector標識了實際的bindingTemplate元素,該元素指向最終提供所需的綁定信息的另一個bindingTemplate山東大學計算機學院Web服務訪問與技術信息tModel提供了描述服務的技術細節的綠頁信尤其對于包含服務的WSDL描述信息的文件,tModel包含一個指向該文件的指針當描述Web服務如何與它的客戶端進行交互時,tModel的主要作用就是提供一個技術規范當在UDDI注冊庫中發布數據時,使用分類法是非常重要的tModel定義一個抽象的命名空間引用,可用它對業務實體、業務服務甚至tModel進行標識和分類tModel結構的tModelKey屬性唯一標識了一個特定的tModel結構山東大學計算機學院一個<tModel>條目的樣例山東大學計算機學院最佳做法使用UDDI注冊庫存儲WSDL服務的信息的最佳做法是bindingTemplate包含兩個不同的tModelKey屬性,它們指向一個具體的Web服務的兩個不同的tModel正如WSDL一樣,UDDI也對抽象和實現進行了明顯的區分tModel提供技術指紋、元數據的抽象類型、接口山東大學計算機學院發布者斷言結構因為許多企業的描述和發現很可能是不一樣的,所以有時單個的businessEntity并不能有效地表示許多企業可以發布多個businessEntity,每個表示企業的一個部分或一個子公司使用publisherAssertion結構可以實現這一目標山東大學計算機學院WSDL到UDDI的映射模型UDDI和WSDL都清晰地、系統地刻畫了接口和實現,它們可以相互補充、相互協作WSDL到UDDI的映射模型可幫助用戶發現那些實現了標準定義的服務。映射模型描述了WSDLportType元素和binding元素規范如何變成tModelWSDLport如何變成UDDIbindingTemplate每個WSDL服務如何注冊為businessService對于UDDI業務和服務條目中的信息,WSDL文檔中定義的服務信息是對其的一個補充。UDDI的目標是提供多種類型的服務描述,不直接支持WSDL山東大學計算機學院WSDL到UDDI的映射模型一個完整的WSDL服務描述是服務接口、服務綁定和服務實現文檔的組合山東大學計算機學院發布服務接口與服務綁定當發布服務時,第一步就是創建服務接口定義服務接口定義包括服務接口和協議綁定,需要能夠公開訪問它們山東大學計算機學院發布服務的實現UDDIbusinessService元素表示了一個WSDL服務,并且WSDL端口實體映射到bindingTemplate假如WSDL服務表示了一個已有服務的Web服務接口,則可以有一個相關的、現有的UDDIbusinessService假如尚沒有合適的服務,則可以創建一個新的UDDIbusinessService必須部署這個新的服務,并將該服務注冊到UDDI注冊庫中根據WSDL服務實現文檔中的服務名生成businessService名對于每個服務訪問端點創建一個bindingTemplate對與所描述的服務端點相關的tModel,在bindingTemplate中創建tModelInstanceInfo山東大學計算機學院WSDL服務實現創建businessService山東大學計算機學院WSDL到UDDI的映射模型小結從wsdl:portType到uddi:tModel的映射山東大學計算機學院WSDL到UDDI的映射模型小結從wsdl:binding到uddi:tModel的映射山東大學計算機學院WSDL到UDDI的映射模型小結山東大學計算機學院UDDIAPI對于分類、編目和管理Web服務,UDDI注冊庫提供了一個標準方式,以便于能夠發現和使用這些Web服務業務和提供者可以按標準方式使用UDDI來表示Web服務信息UDDI使用SOAP作為它的傳輸層UDDIAPI是一個接口,可以接受封裝在SOAP信封中的XML消息所有的UDDI交互都使用請求/響應模式可以使用出查詢API來搜索和讀取UDDI注冊庫中的數據,并可使用發布API來添加、更新和刪除UDDI注冊庫中的數據山東大學計算機學院查詢APIUDDI查詢API有兩類使用模式瀏覽開發者可以使用瀏覽模式(發現API調用)來獲取滿足比較寬泛的查詢標準的進入點、服務或者技術特性瀏覽模式中,可以使用find_business、find_relatedBusiness、find_service、find_bindin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出口坯布采購合同樣本
- 制作度協議合同標準文本
- 劃撥平房買賣合同標準文本
- 出租門市協議合同標準文本
- 出讓房屋合同標準文本
- 二手車位銷售合同標準文本
- 弱關系理論下青年群體“搭子”社交行為研究
- 晴空對流層大氣微波傳播特性研究
- 2025天津建筑安全員-B證考試題庫及答案
- 公司餐廳場地租賃合同標準文本
- 2025年河南交通職業技術學院單招職業適應性測試題庫及答案1套
- 嚴重過敏反應診斷和臨床管理專家共識(2025年版)解讀
- 國際壓力性損傷-潰瘍預防和治療臨床指南(2025年版)解讀課件
- 2025-2030中國電子支付行業市場發展分析及發展前景與投資戰略研究報告
- 2025年中國PCR擴增儀市場發展前景預測及投資戰略咨詢報告
- 數學全等三角形課件++2024-2025學年北師大版七年級數學下冊
- LBT 235-2022綠色食品設施甜櫻桃生產操作規程
- 英語-北京市朝陽區2025年高三年級第二學期質量檢測一(朝陽一模)試題和答案
- 編織老師考試試題及答案
- 2025年03月重慶市涪陵區新妙鎮選聘本土人才1人筆試歷年參考題庫考點剖析附解題思路及答案詳解
- 2025年國家電投集團內蒙古能源有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論