Web服務有兩層含義:1、是指封裝成單個實體并發(fā)布到網(wǎng)絡上的功能集合體;2、是指功能集合體被調(diào)用后所提供的服務。簡單地講,Web服務是一個URL資源,客戶端可以通過編程方式請求得到它的服務,而不需要知道所請求的服務是怎樣實現(xiàn)的,這一點與傳統(tǒng)的分布式組件對象模型不同。 Web服務的體系結(jié)構(gòu)是基于Web服務提供者、Web服務請求者、Web服務中介者三個角色和發(fā)布、發(fā)現(xiàn)、綁定三個動作構(gòu)建的。簡單地說,Web服務提供者就是Web服務的擁有者,它耐心等待為其他服務和用戶提供自己已有的功能;Web服務請求者就是Web服務功能的使用者,它利用SOAP消息向Web服務提供者發(fā)送請求以獲得服務;Web服務中介者的作用是把一個Web服務請求者與合適的Web服務提供者聯(lián)系在一起,它充當管理者的角色,一般是UDDI。這三個角色是根據(jù)邏輯關(guān)系劃分的,在實際應用中,角色之間很可能有交叉:一個Web服務既可以是Web服務提供者,也可以是Web服務請求者,或者二者兼而有之。顯示了Web服務角色之間的關(guān)系:其中,“發(fā)布”是為了讓用戶或其他服務知道某個Web服務的存在和相關(guān)信息;“查找(發(fā)現(xiàn))”是為了找到合適的Web服務;“綁定”則是在提供者與請求者之間建立某種聯(lián)系。
圖2-1 Web service的體系結(jié)構(gòu) 實現(xiàn)一個完整的Web服務包括以下步驟: ◆ Web服務提供者設計實現(xiàn)Web服務,并將調(diào)試正確后的Web服務通過Web服務中介者發(fā)布,并在UDDI注冊中心注冊; (發(fā)布) ◆ Web服務請求者向Web服務中介者請求特定的服務,中介者根據(jù)請求查詢UDDI注冊中心,為請求者尋找滿足請求的服務; (發(fā)現(xiàn)) ◆ Web服務中介者向Web服務請求者返回滿足條件的Web服務描述信息,該描述信息用WSDL寫成,各種支持Web服務的機器都能閱讀;(發(fā)現(xiàn)) ◆ 利用從Web服務中介者返回的描述信息生成相應的SOAP消息,發(fā)送給Web服務提供者,以實現(xiàn)Web服務的調(diào)用;(綁定) ◆ Web服務提供者按SOAP消息執(zhí)行相應的Web服務,并將服務結(jié)果返回給Web服務請求者。(綁定) |
|