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