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