WebService是一種跨編程語言和跨操作系統平臺的遠程調用技術。
是一種可以接收從Internet或者Internet上的其它系統中傳遞過來的請求,輕量級的獨立的通訊技術。通過SOAP在Web上提供的軟件服務,使用WSDL文件進行說明,並通過UDDI進行註冊。
- 基於web的服務:服務端提供的服務接口讓客戶端訪問
- 跨平臺、跨語言的整合方案
什麼時候要用WebService
電商平臺,訂單的物流狀態、天氣預報 .net實現的web service服務接口
WebService的三大技術
WSDL(Web Services Description Language):webservice定義語言
Webserivce需要WSDL文件來說明自己有什麼服務可以對外調用,並且有哪些方案,方法裏有哪些服務
WSDL是基於XML(可擴展標記語言)去定義的, 因爲是基於XML的,所以WSDL既是機器可閱讀的,又是人可閱讀的,這將是一個很大的好處。一些最新的開發工具既能根據你的Web service生成WSDL文檔,又能導入WSDL文檔,生成調用相應WebService的代理類代碼。
- 對應一個.wsdl的文件類型
- 定義了webservice的服務端和客戶端應用進行交互的傳遞數據和響應數據格式和方式
- 一個webservice對應唯一一個wsdl文檔
//Types標籤:定義服務端的數據類型
SOAP(Simple Object Access Protocal簡單對象訪問協議)
Webservice通過http協議發送和接收請求時,發送的內容(請求報文)和接收的內容(響應報文)都是採用xml格式進行封裝,並增加了一些特定的HTTP消息頭,以說明 HTTP消息的內容格式,這些特定的http消息頭和xml內容格式就是SOAP協議SOAP提供了標準的RPC方法來調用Web Service。
SOAP協議 = HTTP協議 + XML數據格式
- 一種簡單、基於HTTP和XML的協議
- Soap消息:請求和響應消息
- http+xml報文
SEI(webservice endpoint interface)webservice的終端接口
Webservice服務端用來處理請求的接口,也就是發佈出去的接口,即服務器上的接口方法
調用原理
實現一個完整的Web服務包括以下步驟:
◆ Web服務提供者設計實現Web服務,並將調試正確後的Web服務通過Web服務中介者發佈,並在UDDI註冊中心註冊; (發佈)
◆ Web服務請求者向Web服務中介者請求特定的服務,中介者根據請求查詢UDDI註冊中心,爲請求者尋找滿足請求的服務; (發現)
◆ Web服務中介者向Web服務請求者返回滿足條件的Web服務描述信息,該描述信息用WSDL寫成,各種支持Web服務的機器都能閱讀;(發現)
◆ 利用從Web服務中介者返回的描述信息生成相應的SOAP消息,發送給Web服務提供者,以實現Web服務的調用;(綁定)
◆ Web服務提供者按SOAP消息執行相應的Web服務,並將服務結果返回給Web服務請求者。(綁定)