申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
AMTeam.org
Web Services體系
1 總括
服務(wù)被服務(wù)提供者service
providers部署deploy到web上,由一個(gè)給定的web service提供的功能使用WSDL描述。
部署的服務(wù)被發(fā)布publish到web上,服務(wù)代理service broker幫助服務(wù)提供者和服務(wù)請(qǐng)求者service
requestor互相發(fā)現(xiàn)。
一個(gè)服務(wù)請(qǐng)求者使用一個(gè)API向服務(wù)代理請(qǐng)求需要的服務(wù),當(dāng)服務(wù)代理返回結(jié)果后,服務(wù)請(qǐng)求者使用這些結(jié)果綁定bind到一個(gè)實(shí)際的服務(wù)上。
這里討論的所有通訊可以使用任何協(xié)議,但為了簡(jiǎn)單,選擇SOAPVersion 2.0 協(xié)議,它允許應(yīng)用程序調(diào)用遠(yuǎn)程對(duì)象的方法。
2 Web Services 組件
有三種組件:
◆服務(wù)提供者:提供服務(wù),進(jìn)行注冊(cè)以使服務(wù)可用
◆服務(wù)代理:服務(wù)交換所,服務(wù)提供者和服務(wù)請(qǐng)求者之間的媒介
◆服務(wù)請(qǐng)求者:向服務(wù)代理請(qǐng)求服務(wù),調(diào)用這些服務(wù)創(chuàng)建應(yīng)用程序
3 Web Services操作
三種操作:
◆發(fā)布/不發(fā)布(Publish/Unpublish):提供者向代理發(fā)布(注冊(cè))服務(wù)或不發(fā)布(移去)這些服務(wù)的注冊(cè)
◆發(fā)現(xiàn)(Find):由服務(wù)請(qǐng)求者向服務(wù)代理執(zhí)行find操作,服務(wù)請(qǐng)求者描述要找的服務(wù),服務(wù)代理分發(fā)匹配的結(jié)果
◆綁定(Bind):在服務(wù)請(qǐng)求者和服務(wù)提供者之間綁定,這兩部分協(xié)商以使請(qǐng)求者可以訪問(wèn)和調(diào)用提供者的服務(wù)
4 UDDI - 通用發(fā)現(xiàn),描述和整合
這是一個(gè)Web
services的信息注冊(cè)的規(guī)范,基于UDDI的web
services注冊(cè)可以被發(fā)現(xiàn)。UDDI的發(fā)現(xiàn)方法是:在web上有一種分布的注冊(cè)服務(wù),商務(wù)和服務(wù)以一種通用的XML格式描述,XML中的結(jié)構(gòu)化數(shù)據(jù)易于發(fā)現(xiàn),分析和操作。
5 WSDL - Web 服務(wù)描述語(yǔ)言
如果我們打算找出一個(gè)地方的所有web
services,我們需要一種描述他們的通用語(yǔ)言。如果我提供了一種服務(wù),我需要能夠向外部世界描述它,同時(shí)如果我想要使用一種服務(wù),我也要描述我要找什么,WSDL正是這個(gè)目的。
下面是一個(gè)描述一個(gè)web services的WSDL文檔:
<binding
name="StockQuoteServiceBinding" type="StockQuoteServiceType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getQuote">
<soap:operation soapAction="http://www.getquote.com/GetQuote"/>
<input>
<soap:body type="InMessageRequest"
namespace="urn:live-stock-quotes"
encoding="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body
type="OutMessageResponse"
encoding="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
這是一個(gè)股票報(bào)價(jià)服務(wù)的定義的一部分,它定義了一個(gè)叫做getQuote的方法,同時(shí)帶有相關(guān)的SOAP信息,以使一段代碼可以發(fā)現(xiàn)這種服務(wù),調(diào)用一個(gè)方法,且處理響應(yīng)。
6 總結(jié)
結(jié)合這些技術(shù),我們就有了使web
services工作的基礎(chǔ)結(jié)構(gòu)。服務(wù)提供者可以描述自己,服務(wù)請(qǐng)求者可以描述自己要找什么,服務(wù)代理可以自動(dòng)決定哪個(gè)請(qǐng)求者-提供者對(duì)是一個(gè)好的匹配,一旦產(chǎn)生了一個(gè)匹配,就可以使用必要的綁定信息用標(biāo)準(zhǔn)的方法(ways)找到與這種服務(wù)交互的方法(methods)。
|