版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、,WEB SERVICES,,一.WEB服務(wù)簡(jiǎn)介,1.定義:簡(jiǎn)而言之,WEB服務(wù)就是可編程的URL,就是使用標(biāo)準(zhǔn)的INTERNET協(xié)議(比如HTTP或XML)遠(yuǎn)程可調(diào)用的應(yīng)用程序組件。它要想成功用于Internet就需要提供一個(gè)與操作系統(tǒng)無(wú)關(guān)、與程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)、與機(jī)器類(lèi)型無(wú)關(guān)、與運(yùn)行環(huán)境無(wú)關(guān)的平臺(tái) 。,二.WEB服務(wù)技術(shù)體系:,,Internet: IPv4, IPv6,Transport: HTTP, FTP, SMTP,Messa
2、ging: SOAP,Service Description: WSDL,Service Discovery, Integration: UDDI,Workflow: WSFL,Routing, Reliability and Transaction,Management,Quality of Service,Security,Wire / Wireless,WEB服務(wù)體系架構(gòu):(Web Services和Web Service),三
3、.WEB服務(wù)相關(guān)的技術(shù):,第一部分:表示數(shù)據(jù) (XML)第二部分:交換消息 (SOAP)第三部分:服務(wù)描述 (WSDL)第四部分:服務(wù)發(fā)現(xiàn)與發(fā)布 (UDDI和WS-Inspection),XML模式:(XML Schema),XML模式是DTD(Document Type Definition)的超集,DTD可以指定元素是包含字符數(shù)據(jù)還是其他數(shù)據(jù)或是一個(gè)空元素,DTD不能指定某個(gè)特殊元素是否包含整數(shù)、浮點(diǎn)數(shù)或字符串。另外,DTD
4、有自己的語(yǔ)法,而XML模式遵循XML語(yǔ)法。1.用途:數(shù)據(jù)類(lèi)型定義。2.xs:或xsd前綴一般保留給模式定義,xsi前綴用于模式實(shí)例。 xsi:schemaLocation="http://www.shu.com/lesavon1.xsd,(1).Schema聲明:,Schema元素是XML Schema中的第一個(gè)出現(xiàn)的元素,用于聲明該XML文檔是一個(gè)Schema文檔。例:,(2).元素定義:,ElementType元素
5、是用于定義XML Schema文檔中出現(xiàn)的元素。ElementType只是起到聲明元素的作用,而元素的真正引用還是要依靠element.語(yǔ)法定義如下:,(3).元素引用,element元素是用于聲明在ElemntType中引用的元素。其語(yǔ)法表達(dá)式為: 注:type唯一指定了要引用的元素類(lèi)型,因此其取值必須同ElementType中的name屬性嚴(yán)格一致。,(4).分組定義:,,(5).屬性定義:用于定義該Schema文檔中出現(xiàn)
6、的屬性類(lèi)型。,,(6).屬性引用:,AttributeType和attribute的關(guān)系與ElementType和element的關(guān)系相同。 ,(7).?dāng)?shù)據(jù)類(lèi)型:,元素和屬性的數(shù)據(jù)類(lèi)型可以使用元素datatype來(lái)定義。 datatype元素只是定義數(shù)據(jù)類(lèi)型的一個(gè)手段,我們更方便用dt:type屬性。 例如: 和 ,Schemal例子:,
7、 ,第二部分:交換消息,請(qǐng)求消息 響應(yīng)消息,服務(wù)請(qǐng)求者,服務(wù)提供者,,,1.定義,SOAP(Simple Object Access Protocol)是基于XML實(shí)現(xiàn)了一種消息格式以交換請(qǐng)求和使用,使用XML作為SOAP消息的基礎(chǔ)
8、使得任何實(shí)現(xiàn)基本的INTERNET通信服務(wù)的系統(tǒng)都能處理和傳送這類(lèi)消息 。,解釋?zhuān)?a:SOAP中的“簡(jiǎn)單”一詞是相對(duì)術(shù)語(yǔ),在這里,相對(duì)于其他用于此目的的協(xié)議來(lái)說(shuō),它是簡(jiǎn)單的,包括DCOM和CORBA,他們也能實(shí)現(xiàn)軟件之間的通信,但是也很不友好。b:而術(shù)語(yǔ)“協(xié)議”表示雙方認(rèn)可的一個(gè)標(biāo)準(zhǔn),即如何格式化消息以便雙方能夠通信。SOAP協(xié)議只是定義了一種消息格式,它并沒(méi)有為交換消息而強(qiáng)加某種特定的傳送協(xié)議,因此可采用HTTP,F(xiàn)TP ,SMT
9、P等協(xié)議來(lái)傳送消息。,2.SOAP的設(shè)計(jì)目標(biāo):,簡(jiǎn)明性:主要表現(xiàn)在SOAP的整個(gè)消息結(jié)構(gòu)非常簡(jiǎn)單(一個(gè)Envelop中只包含了Header和Body兩部分)除了消息結(jié)構(gòu)外,SOAP沒(méi)有定義額外的表述結(jié)構(gòu)標(biāo)準(zhǔn),沒(méi)有定義自己的編碼標(biāo)準(zhǔn),沒(méi)有定義自己的傳輸協(xié)議。可擴(kuò)展性:表現(xiàn)在SOAP可以使用任意的模式定義方式來(lái)定義內(nèi)部傳輸內(nèi)容的結(jié)構(gòu)(編碼方式一般使用XML Schemal),可以與任意的網(wǎng)絡(luò)傳輸方式來(lái)完成傳輸。,3.SOAP的消息交換模
10、型:,SOAP一般會(huì)和實(shí)現(xiàn)模式結(jié)合,例如:請(qǐng)求/響應(yīng) 。 soap響應(yīng) soap消息 soap消息CA中心 e-Marketplace 企業(yè),Account Service,Product Service,PurchaseOrder,,,,4
11、.結(jié)構(gòu):,SOAP(Simple Object Access Protocol )它包括四個(gè)部分:1.SOAP封裝(envelop),封裝定義了一個(gè)描述消息中的內(nèi)容是什么,是誰(shuí)發(fā)送的,誰(shuí)應(yīng)當(dāng)接受并處理它以及如何處理它們的框架;2.SOAP編碼規(guī)則(encoding rules),用于表示應(yīng)用程序需要使用的數(shù)據(jù)類(lèi)型的實(shí)例; 3.SOAP RPC表示(RPC representation),表示遠(yuǎn)程過(guò)程調(diào)用和應(yīng)答的協(xié)定;4.SOAP
12、綁定(binding),使用底層協(xié)議交換信息。,POST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-Type: text/xml; charset="utf-8“Content-Length: nnnnSOAPAction: "http://example.org/2001/06/quotes"
13、 DIS ,SOAP消息,SOAP消息響應(yīng):,HTTP/1.1 200 OKContent-Type: text/xml; charset="utf-8“Content-Length: nnnn 34.5 ,(1).SOAP包封,SOAP Header典型的擴(kuò)展例子可以是實(shí)現(xiàn)一
14、些諸如認(rèn)證、事務(wù)管理以及支付的Header條目。SOAP actor屬性: SOAP actor屬性的值是一個(gè)URI,指明下一個(gè)進(jìn)行消息處理的SOAP中介。若省略SOAP actor屬性,則表明接收者是SOAP消息的最終接收者。SOAP mustUnderstand屬性:用于指明一個(gè)Header條目是否能夠被接受方正確的理解。將返回“true”或“false”.,SOAP Body,這個(gè)調(diào)用負(fù)責(zé)指定要執(zhí)行的方法名以及所有傳遞給方法的
15、參數(shù)。在WEB服務(wù)者接受、翻譯并處理完了這個(gè)方法調(diào)用之后,它就會(huì)發(fā)送一個(gè)響應(yīng)或錯(cuò)誤消息。,SOAP Fault,SOAP Fault元素是用于在SOAP消息中傳輸錯(cuò)誤或狀態(tài)信息。如果SOAP消息需要包含SOAP Fault元素的話,它必須作為一個(gè)Body條目出現(xiàn),同時(shí)在Body元素內(nèi)它必須不出現(xiàn)多于一次(至多出現(xiàn)一次)。,SOAP Fault元素定義了如下子元素,faultcode :此元素必須在SOAP Fault 中出現(xiàn),SOAP定
16、義了一個(gè)小的錯(cuò)誤集合,用于定義覆蓋基本的SOAP錯(cuò)誤。 faultstring:是為那些錯(cuò)誤代碼提供一個(gè)人可以讀懂的錯(cuò)誤解釋。faultactor :用于指示錯(cuò)誤源,屬性的值是一個(gè)標(biāo)識(shí)該源的一個(gè)URI。Detail:它可以添加用戶(hù)自定義的錯(cuò)誤(包括錯(cuò)誤消息和錯(cuò)誤號(hào) ),(2).SOAP編碼,SOAP編碼規(guī)則(encoding rules),定義了一個(gè)數(shù)據(jù)的編碼機(jī)制,通過(guò)這樣一個(gè)編碼機(jī)制來(lái)定義應(yīng)用程序中需要使用的數(shù)據(jù)類(lèi)型,它遵循XM
17、L模式規(guī)范的結(jié)構(gòu)和數(shù)據(jù)類(lèi)型定義,其中包括簡(jiǎn)單類(lèi)型(整數(shù),字符串等)和一些復(fù)雜類(lèi)型(struct,Array等) 。,(3).SOAP與傳輸協(xié)議綁定:(一般是HTTP),將SOAP綁定在HTTP上可以利用HTTP豐富的特性集,更恰當(dāng)?shù)拿枋鰬?yīng)當(dāng)是SOAP的語(yǔ)義通過(guò)HTTP的映射而很自然地成為HTTP的語(yǔ)義。同時(shí),SOAP很自然的利用HTTP的請(qǐng)求/響應(yīng)模型。SOAPAction HTTP請(qǐng)求:可以用于指示SOAP HTTP請(qǐng)求的目的,它的
18、值是一個(gè)標(biāo)識(shí)該目的的URI。SOAP對(duì)于格式上并沒(méi)有嚴(yán)格的限制,同時(shí)對(duì)URI的描述以及是否要是可解析的都沒(méi)有嚴(yán)格的限制。當(dāng)發(fā)出SOAP HTTP請(qǐng)求時(shí),HTTP客戶(hù)必須使用該頭字段。,(4).在RPC中使用SOAP,SOAP RPC表示(RPC representation),定義了一個(gè)用于表示遠(yuǎn)端過(guò)程調(diào)用和響應(yīng)的約定,例如如何傳輸過(guò)程調(diào)用,在具體傳輸協(xié)議的哪個(gè)部分傳輸過(guò)程響應(yīng),因?yàn)槲覀兛梢栽贖TTP的響應(yīng)的時(shí)候傳遞過(guò)程響應(yīng)。,為實(shí)施一
19、個(gè)方法調(diào)用,需要以下信息:,目標(biāo)SOAP結(jié)點(diǎn)的URI· 方法名· 可選的方法或過(guò)程的特征· 方法或過(guò)程的參數(shù)· 可選的頭數(shù)據(jù),例子:fuction co
20、py(in s:string; in Index ; in Count:Integer): string;從傳入的字符串s中,從位置Index處開(kāi)始刪除長(zhǎng)度為Count的子串。(假設(shè)這些函數(shù)是位于URIwww.example.com/system遠(yuǎn)程函數(shù) )SOAPAction :http://www.example.com/system(表示請(qǐng)求的是www.example.com上的system. 。。。。
21、 。。。 。。。 響應(yīng):。。。,5.總結(jié):,SOAP簡(jiǎn)單的理解,就是這樣的一個(gè)開(kāi)放協(xié)議SOAP=RPC+HTTP+XML:采用HTTP作為底層通訊協(xié)議;RPC作為一致性的調(diào)用途徑,XML作為數(shù)據(jù)傳送的格式,允許服務(wù)提供者和服務(wù)客戶(hù)經(jīng)過(guò)防火墻在INTERNET進(jìn)行通訊交互。,SOAP的優(yōu)勢(shì):,①.SOAP是平臺(tái)獨(dú)立的:SOAP是普通的XML,可以運(yùn)行任何平臺(tái)。②.SOAP消息描述了消息負(fù)載
22、的每個(gè)數(shù)據(jù)元素,這樣就可以很容易的診斷可能出現(xiàn)的問(wèn)題 。③.自由的傳輸綁定 (不僅僅是HTTP);自由的語(yǔ)言綁定 (比如Java, C#)。④.SOAP降低了安全風(fēng)險(xiǎn):SOAP只是XML,因此它能夠使用端口80,而該端口通常配置HTTP,因此SOAP消息無(wú)需開(kāi)放其他任何端口,就能通過(guò)防火墻的優(yōu)點(diǎn),從而降低了潛在的安全風(fēng)險(xiǎn)。,SOAP的不足:,SOAP允許每個(gè)平臺(tái)按照他們認(rèn)為的方式考慮如下的特征:①. 對(duì)象調(diào)
23、用:SOAP規(guī)范不打算定義如何創(chuàng)建對(duì)象實(shí)例。②. 垃圾收集:SOAP規(guī)范沒(méi)有定義不再需要對(duì)象時(shí)如何銷(xiāo)毀對(duì)象,如沒(méi)有定義如何去除對(duì)象。③. 安全性:SOAP沒(méi)有討論,依靠其他技術(shù)(比如安全套接層SSL)④。驗(yàn)證:SOAP也沒(méi)有提到,眾多技術(shù)都可以實(shí)現(xiàn)。,第三部分:服務(wù)描述,XML是一種編碼數(shù)據(jù)的標(biāo)準(zhǔn)方法。SOAP基于XML定義了一種消息格式以便交換方法請(qǐng)求和響應(yīng),并最終完成WEB服務(wù)的
24、調(diào)用,而WSDL則是用于描述如何使用SOAP來(lái)調(diào)用WEB服務(wù)的。,1.定義:,WSDL將WEB服務(wù)描述定義為一組服務(wù)訪問(wèn)點(diǎn)。它包含對(duì)一組操作和消息的抽象定義,綁定到這些操作和消息的一個(gè)具體協(xié)議和這個(gè)綁定的一個(gè)具體服務(wù)訪問(wèn)規(guī)范。,1.Types:數(shù)據(jù)類(lèi)型的容器,它是用某種類(lèi)型系統(tǒng),很多情況下這個(gè)部分指的是XML模式定義(XML Schema Definition, XSD)2.Messages通信消息的數(shù)據(jù)機(jī)構(gòu)的抽象類(lèi)型化定義。使用
25、TYPE所定義的類(lèi)型來(lái)定義整個(gè)消息的數(shù)據(jù)結(jié)構(gòu)。3.Operation:對(duì)服務(wù)中所支持的操作的抽象描述,一般單個(gè)Operation描述了一個(gè)訪問(wèn)入口的請(qǐng)求/響應(yīng)消息對(duì)。4. PortTypes:對(duì)于某個(gè)訪問(wèn)入口點(diǎn)類(lèi)型所支持的操作的抽象集合。5. Bindings:特定端口類(lèi)型的具體協(xié)議和數(shù)據(jù)格式規(guī)范的綁定。6. Port :定義為協(xié)議/數(shù)據(jù)格式綁定與具體WEB訪問(wèn)地址組合的單個(gè)服務(wù)訪問(wèn)點(diǎn)。7. Services:相
26、關(guān)服務(wù)訪問(wèn)點(diǎn)的集合。 8. Import: 引用其他的接口服務(wù)文檔。,2.結(jié)構(gòu),類(lèi)型部分:數(shù)據(jù)類(lèi)型的容器,包含了所有在消息中使用的XML元素的類(lèi)型定義定義。,消息部分:具體定義了通信中使用消息的數(shù)據(jù)結(jié)構(gòu),Message元素包含了一組Part元素(相當(dāng)于函數(shù)中的參數(shù)),端口類(lèi)型部分:定義了一種服務(wù)訪問(wèn)入口類(lèi)型。所謂訪問(wèn)入口類(lèi)型就是傳入/傳出消息模式及其格式(WSDL中支持四種訪問(wèn)入口調(diào)用的模式:A:?jiǎn)握?qǐng)求;B:?jiǎn)雾憫?yīng);C:請(qǐng)求/響
27、應(yīng);D:響應(yīng)/請(qǐng)求)。PortType的定義會(huì)引用消息定義部分的一到兩個(gè)消息,作為請(qǐng)求或響應(yīng)消息的格式。一個(gè)PortType可以包含若干個(gè)Operation,而一個(gè)Operation則是指訪問(wèn)入口支持的一種類(lèi)型的調(diào)用 。,,小結(jié):以上三種描述了WEB服務(wù)的抽象定義(抽象定義層),這三部分與具體WEB服務(wù)部署細(xì)節(jié)無(wú)關(guān),是可復(fù)用的描述。(即這三部分可以說(shuō)是WEB服務(wù)本身,與具體的語(yǔ)言實(shí)現(xiàn),遵從的平臺(tái)的細(xì)節(jié)規(guī)范,被部署到那臺(tái)機(jī)器無(wú)關(guān)),綁定部
28、分:定義了某個(gè)PortType與具體的網(wǎng)絡(luò)傳輸協(xié)議或消息交換協(xié)議相綁定,以及具體的數(shù)據(jù)格式規(guī)范。從這一層開(kāi)始,就與具體的服務(wù)部署相關(guān)了。,服務(wù)部分:描述的是一個(gè)具體的被部署的WEB服務(wù)所提供的所提供的所有訪問(wèn)入口的部署細(xì)節(jié),一個(gè)Service往往有多個(gè)服務(wù)訪問(wèn)入口(Port)。Port描述的是一個(gè)服務(wù)訪問(wèn)入口的部署細(xì)節(jié) 。,第四部分:服務(wù)發(fā)現(xiàn)與發(fā)布,WEB 服務(wù)發(fā)現(xiàn)是定位或發(fā)現(xiàn)一個(gè)或多個(gè)說(shuō)明特定的WEB 服務(wù)的文檔的過(guò)程,WEB 服務(wù)的
29、客戶(hù)通過(guò)發(fā)現(xiàn)來(lái)知道某個(gè)Web 服務(wù)是否存在,以及從哪里功能獲取這個(gè)WEB 服務(wù)的文檔。,1.定義: UDDI是一種使貿(mào)易伙伴彼此發(fā)現(xiàn)對(duì)方和查詢(xún)對(duì)方的規(guī)范。它是最終用戶(hù)通過(guò)搜索企業(yè)列表、企業(yè)分類(lèi)或者實(shí)際WEB服務(wù)的可編程描述。使查找產(chǎn)品和服務(wù)成為可能。解釋?zhuān)篣DDI不僅是一個(gè)簡(jiǎn)易的搜索引擎,它也包含了如何通過(guò)編程來(lái)和這些WEB服務(wù)進(jìn)行交互。(對(duì)UDDI的使用可以用手動(dòng)查詢(xún)或程序查詢(xún)),UDDI工作原理,2.UDDI數(shù)據(jù)表類(lèi)型:,1.
30、白頁(yè):包含了基本的企業(yè)信息,諸如企業(yè)名稱(chēng)、文字性介紹(可能是多國(guó)語(yǔ)言)以及聯(lián)系方式,包括名稱(chēng)、電話號(hào)碼、電子郵件以及屬于這些企業(yè)的網(wǎng)站。2.黃頁(yè):按分類(lèi)法對(duì)企業(yè)信息進(jìn)行分類(lèi),在UDDI的第一個(gè)版本中,這種分類(lèi)法包括了對(duì)行業(yè)、產(chǎn)品或服務(wù)以及位置的分類(lèi)。3.綠頁(yè):包含了如何與企業(yè)進(jìn)行電子交互的信息,包含交易過(guò)程(也就是,創(chuàng)建訂單和檢查存貨等多種WEB服務(wù))、服務(wù)描述(個(gè)人WEB服務(wù)和它們的用途)以及解釋如何通過(guò)調(diào)用一個(gè)給定的WEB服務(wù)的
31、捆綁信息。,UDDI的數(shù)據(jù)結(jié)構(gòu):,,,商業(yè)實(shí)體信息:businessEntity 元素許多合作伙伴希望能準(zhǔn)確地定位到你提供的服務(wù)的相關(guān)信息,并把這些信息作為了解你們企業(yè)的開(kāi)始。技術(shù)人員、程序員或應(yīng)用程序希望知道你的企業(yè)名稱(chēng)和一些關(guān)鍵性的標(biāo)識(shí)。所有“businessEntity”中的信息支持“黃頁(yè)”分類(lèi)法。如:Business Key, Name,Description,Contacts等。,商業(yè)服務(wù)信息:businessService
32、元素businessService 和下面要提到的bindingTemplate一起構(gòu)成了“綠頁(yè)”信息。businessService 結(jié)構(gòu)是一個(gè)描述性的容器,它將一系列有關(guān)商業(yè)流程或分類(lèi)目錄的Web 服務(wù)的描述組合到一起。 (包含businessKey,serviceKey,name,description).,技術(shù)綁定信息:bindingTemplate元素對(duì)于每一個(gè)businessService,存在一個(gè)或多個(gè)Web 服務(wù)的技
33、術(shù)描述bindingTemplate。這些技術(shù)描述包括應(yīng)用程序連接遠(yuǎn)程Web 服務(wù)并與之通訊所必須的信息。這些信息包括Web應(yīng)用服務(wù)的地址、應(yīng)用服務(wù)宿主和調(diào)用服務(wù)前必須調(diào)用的附加應(yīng)用服務(wù)等。另外,通過(guò)附加的特性還可以實(shí)現(xiàn)一些復(fù)雜的路由選擇,諸如負(fù)載平衡等。包括(bindingKey,businessKey,serviceeKey,accessPoint(指向WEB服務(wù)入口點(diǎn)的URL、EMAIL、電話號(hào)碼等)等)。,規(guī)范描述的指針和技術(shù)
34、標(biāo)識(shí)tModel調(diào)用一個(gè)服務(wù)所需要的信息是在bindingTemplate的結(jié)構(gòu)中定義的。不過(guò)一般來(lái)說(shuō),僅知道Web服務(wù)所在的地址是不夠的 。因此,每一個(gè)bindingTemplate元素都包含一個(gè)特殊的元素,該元素包含了一個(gè)列表,列表的每個(gè)子元素分別是一個(gè)調(diào)用規(guī)范的引用。這些引用作為一個(gè)標(biāo)識(shí)符的雜湊集合,組成了類(lèi)似指紋的技術(shù)標(biāo)識(shí),用來(lái)查找、識(shí)別實(shí)現(xiàn)了給定行為或編程接口的Web 服務(wù)。(主要包含name,Description,ca
35、tegoryBag等),描述商業(yè)實(shí)體之間關(guān)聯(lián)關(guān)系的關(guān)聯(lián)信息: pulisherAssertion,UDDI2.0新增加了一個(gè)結(jié)構(gòu),這種機(jī)制能令多于一個(gè)的已注冊(cè)的bussinessEntity元素以某種方式互相連接,用以表示一種特定類(lèi)型的關(guān)聯(lián)關(guān)系。因?yàn)榇笮蜕虡I(yè)實(shí)體有很多小型的部分組成,UDDI允許他們以多個(gè)組成部分的形式來(lái)實(shí)施注冊(cè)。,3.UDDI程序員的API規(guī)范:,UDDI程序員的API規(guī)范是一個(gè)文檔,概述了公共課調(diào)用SOAP接口在
36、UDDI站點(diǎn)上執(zhí)行的每項(xiàng)操作。它由兩部分組成:Inquiry API,用于查詢(xún)和瀏覽UDDI注冊(cè)表來(lái)發(fā)現(xiàn)最終用戶(hù)查詢(xún)的企業(yè)和服務(wù):Publisher API,用于添加、更新和刪除UDDI注冊(cè)表中的企業(yè)和服務(wù)信息。詳細(xì)信息可查閱:http://www.uddi-china.org/pubs/ProgrammersAPI-V2.00-Open-20010608-CN.pdf,(1).查詢(xún)用API:,每個(gè)UDDI數(shù)據(jù)結(jié)構(gòu)(businessE
37、ntity,businessService,bindingTemplate和tModel)都有一個(gè)find_xxx和get_xxx函數(shù)。這8個(gè)函數(shù)構(gòu)成了查詢(xún)API。它允許用戶(hù)在數(shù)據(jù)實(shí)體上的注冊(cè)表中搜索關(guān)鍵詞或者值,然后給出所有與這個(gè)條目相關(guān)的數(shù)據(jù)。這個(gè)API主要作為查找和顯示最終用戶(hù)想查找的企業(yè)、服務(wù)等的一種方法。Find_xxx一般是用于定位特定的服務(wù),get_xxx一般是用于得到完整的信息。,(2).發(fā)布用API:,每個(gè)UDDI數(shù)
38、據(jù)結(jié)構(gòu)都有一個(gè)save_xxx和delete_xxx函數(shù)。加上權(quán)限認(rèn)證函數(shù)(get_authToken,discard_authToken)這些函數(shù)形成了Pulication(發(fā)布)API,它允許用戶(hù)(經(jīng)過(guò)注冊(cè)授權(quán)的用戶(hù))對(duì)現(xiàn)有的注冊(cè)標(biāo)目進(jìn)行更新,用save_xxx創(chuàng)建新的條目,用delete_xxx能完全刪除給出的數(shù)據(jù)結(jié)構(gòu)。但是用戶(hù)必須是已經(jīng)授權(quán)的終端使用者。,,實(shí)例:(發(fā)布一個(gè)WEB服務(wù))1.向指定的UDDI注冊(cè)中心站點(diǎn)申請(qǐng)登陸并
39、要求獲得認(rèn)證令牌。 2.如果登陸成功、驗(yàn)證通過(guò),那么UDDI注冊(cè)中心站點(diǎn)將響應(yīng)一個(gè)authToken消息,這個(gè)令牌將是其他發(fā)布函數(shù)的必備參數(shù)。 SESSION$90X0232-ABKNC ,3,如果用戶(hù)不存在或密碼錯(cuò)誤,那么將返回下列錯(cuò)誤信息(用相應(yīng)的errcode和errno表示,)。4.調(diào)用成功后,用戶(hù)可以用其他的發(fā)布API進(jìn)行發(fā)布。當(dāng)完成一系列的調(diào)用后,用戶(hù)應(yīng)該丟棄令牌。 SESSI
40、ON$90X0232-ABKNC 5.調(diào)用成功后,UDDI會(huì)返回一個(gè)成功響應(yīng)的消息。 ,例:發(fā)布tModel: 注:在發(fā)布的時(shí)候,tModel鍵應(yīng)當(dāng)是空的,表示該數(shù)據(jù)是新增的,但發(fā)布之后再返回的信息中UDDI將為這個(gè)tModel分配一個(gè)新的tModel標(biāo)識(shí)符(tModelKey)。,3.UDDI和WSDL的關(guān)系:,UDDI數(shù)據(jù)實(shí)體提供了對(duì)定義業(yè)務(wù)和服務(wù)信息的支持,WSDL中定
41、義的服務(wù)描述信息是UDDI注冊(cè)信息的補(bǔ)充,UDDI提供了許多不同類(lèi)型的服務(wù)描述的支持。因此,UDDI沒(méi)有對(duì)WSDL的直接支持,也沒(méi)有對(duì)任何其他服務(wù)描述機(jī)制的直接支持。,WSDL文檔被分成兩種類(lèi)型,即服務(wù)接口和服務(wù)實(shí)現(xiàn)。 服務(wù)接口包括types,message,portType, Binding等元素。通過(guò)使用import元素,一個(gè)服務(wù)接口文檔可以使用另一個(gè)服務(wù)接口文檔。服務(wù)實(shí)現(xiàn)文檔包含實(shí)現(xiàn)一個(gè)服務(wù)接口類(lèi)型服務(wù)的描述,包含imp
42、ort和service元素。服務(wù)接口文檔:在UDDI注冊(cè)中心被當(dāng)作tModel發(fā)布;服務(wù)實(shí)現(xiàn)文檔:包含的每個(gè)service元素都被用作UDDI businesssService;(port相當(dāng)于 bindingTemplate),,WS-Inspection(分布式WEB服務(wù)發(fā)現(xiàn)技術(shù)),1.介紹:WS-Inspection 規(guī)范并不定義一種服務(wù)描述語(yǔ)言。WS-Inspection 文檔提供一種方法來(lái)聚集不同類(lèi)型的服務(wù)描述。WS
43、-Inspection 文檔中,一個(gè)服務(wù)可以有多種對(duì)服務(wù)描述的引用。例如,可以既使用 WSDL 文件又在 UDDI 注冊(cè)中心描述一個(gè) Web 服務(wù)。對(duì)這兩種服務(wù)描述的引用應(yīng)該放在 WS-Inspection 文檔中。,,WS-Inspection的使用:,2.WS-Inspection 規(guī)范的兩個(gè)主要功能,(1).定義 XML 格式用于列舉對(duì)現(xiàn)有服務(wù)描述的引用。 (2).定義一組約定,這樣能容易定位 WS-Inspection 文檔。
44、,3.WS-Inspection 文檔格式,前面已經(jīng)提到WS-Inspection 文檔提供對(duì)服務(wù)描述的引用的集合。這些服務(wù)描述可以用任何服務(wù)描述格式(例如 WSDL、UDDI 或者簡(jiǎn)單 HTML)定義。 WS-Inspection 文檔包含對(duì)服務(wù)描述引用的列表和對(duì)其它 WS-Inspection 文檔的引用。WS-Inspection 文檔將包含一個(gè)或多個(gè) 元素和 元素。一個(gè) 元素將包含一個(gè)或多個(gè)不同類(lèi)型的對(duì)相同 Web 服務(wù)
45、的服務(wù)描述的引用。 元素可包含唯一一類(lèi)對(duì)服務(wù)描述的引用,但是這些服務(wù)描述不必引用相同的 Web 服務(wù)。, 52946BB0-BC28-11D5-A432-0004AC49CC1E
46、 ,4.查找 WS-Inspection 文檔,WS-Inspection 規(guī)范提供的第二個(gè)主要功能是如何定義一個(gè)可以訪問(wèn) WS-Inspection 文檔的位置。創(chuàng)建了兩個(gè)約定使 WS-Inspection 文檔的位置和檢索相對(duì)容易:1.WS-Inspection 文檔的固定名稱(chēng) WS-Inspection 文檔的固定名稱(chēng)是 inspection.wsil。有
47、該名稱(chēng)的文檔可以放在 Web 站點(diǎn)的通用入口點(diǎn)。例如,如果通用入口點(diǎn)是 http://example.com 或者 http://example.com/services,那么,WS-Inspection 文檔的位置將分別是 http://example.com/inspection.wsil 和 http://example.com/services/inspection.wsil。 2.鏈接的 WS-Inspection 文檔,5
48、.UDDI和WS-Inspection的關(guān)系:,1. 發(fā)現(xiàn)模式可以分為兩大類(lèi):有重點(diǎn)的和無(wú)重點(diǎn)的。2.除發(fā)現(xiàn)機(jī)制支持的模式以外,還可以根據(jù)其它兩種屬性來(lái)描繪其特性:信息傳播點(diǎn)的選擇和與發(fā)現(xiàn)過(guò)程有關(guān)的成本。在發(fā)現(xiàn)過(guò)程中,可以直接從信息源/始發(fā)者或第三方提取信息。3.開(kāi)銷(xiāo):,信息(服務(wù))的發(fā)現(xiàn)方式:,1.直接通信(語(yǔ)音) 支持一些有重點(diǎn)的和無(wú)重點(diǎn)的發(fā)現(xiàn)模式。 直接從信息源/始發(fā)者開(kāi)始傳播。
49、 無(wú)開(kāi)銷(xiāo)。2.簡(jiǎn)單的聚合標(biāo)記(名片或目錄) 支持一些有重點(diǎn)的和無(wú)重點(diǎn)的發(fā)現(xiàn)模式。 直接從信息源/始發(fā)者開(kāi)始傳播。 中等開(kāi)銷(xiāo)。 3.目錄輔助(操作員或可搜索的在線”黃頁(yè)”) 支持大量有重點(diǎn)發(fā)現(xiàn)模式及一些無(wú)重點(diǎn)的發(fā)現(xiàn)模式。 通過(guò)第三方傳播。 高額開(kāi)銷(xiāo),WS-Inspection,UDDI,總結(jié),WS-Inspection 語(yǔ)言以及它如何為任
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第5章網(wǎng)頁(yè)制作基礎(chǔ)
- 最新第5章intranet基礎(chǔ)
- 電力工程基礎(chǔ)第5章
- 化工基礎(chǔ)第5章習(xí)題答案
- 第5章-能帶理論基礎(chǔ)
- 數(shù)值分析 第5章 矩陣分析基礎(chǔ)
- plc_基礎(chǔ)及應(yīng)用---第5章
- 電力工程基礎(chǔ)第5章習(xí)題答案
- 第5章
- 經(jīng)濟(jì)數(shù)學(xué)基礎(chǔ)講義 第5章 定積分
- 第5章圖像的基礎(chǔ)及多媒體
- 第5章-熱力學(xué)基礎(chǔ)-8h
- 第5章
- 經(jīng)濟(jì)法基礎(chǔ)第5章練習(xí)及答案
- 第5章-數(shù)組
- 第22章《二次函數(shù)》基礎(chǔ)練習(xí)(5套)
- access基礎(chǔ)與應(yīng)用教程ppt課件 第5章 窗體
- 會(huì)計(jì)基礎(chǔ)講義第5章5生產(chǎn)業(yè)務(wù)的賬務(wù)處理
- 第5章-第6章中外廣告史
- 第5章湍流
評(píng)論
0/150
提交評(píng)論