輕松搞懂WebService工作原理


 

用更簡單的方式給大家談談WebService,讓你更快更容易理解,希望對初學者有所幫助。

WebService是基於網絡的、分布式的模塊化組件。

 

我們直接來看WebService的一個簡易工作流程

客戶端 ——>閱讀WSDL文檔(了解webservice的請求) ——> 調用WebService 

 

上面的流程是一個大致的描述,客戶端閱讀WSDL文檔發送請求,然后調用Web服務器最后返回給客戶端,這和普通的http請求一樣,請求->處理->響應,與普通的請求不一樣的就是webservice請求中有一個WSDL文檔和SOAP協議,以及.NET Framework自帶的Web Service請求處理器 ISAPI Extension。

 

我們來看一個比較完整的流程

客戶端——> 閱讀WSDL文檔 (根據文檔生成SOAP請求) ——>發送到Web服務器——>交給WebService請求處理器 (ISAPI Extension)

——>處理SOAP請求——> 調用WebService——>生成SOAP應答 ——> Web服務器通過http的方式交給客戶端

 

OK,到這里已經明白了的同學你可以走了,去逛逛別的文章,沒懂的我們繼續往下:

 

我們先來解釋一下上面的流程中出現的幾個名詞:

1. SOAP: 是以XML形式提供簡單、輕量、用於在分散或分布式環境中交換結構化和類型信息的機制。SOAP消息的基本結構通過HTTP協議傳遞XML數據。簡單的說就是一個基於XML的協議。

2. WSDL : 是使用XML文檔描述Web服務的標准,是Web服務的的接口定義語言,描述如何訪問具體的接口,包含3個基本屬性:

     a. 如何訪問服務:和服務交互的數據格式以及必要的協議。

     b. 服務在哪里: 協議相關的地址,比如url信息等

     c. 服務具有哪些功能: 服務提供的具體操作方法,=》就是你webservice中提供了哪些可調用的方法

 

原理詳細描述:

無論使用什么工具、語言編寫 WebService,都可以使用 SOAP 協議通過 HTTP 調用,其工作原理相同。創建 WebService 后,將其暴露給Web客戶,任何語言、平台的客戶都可以閱讀其  WSDL 文檔,以調用 WebService 。客戶可以根據 WSDL 描述文檔生成一個 SOAP 請求信息。 WebService 部署在Web服務器( 如IIS )上,客戶生成的 SOAP 請求會被嵌入在一個 HTTP 請求中並發送到Web服務器,Web服務器(IIS)再將請求轉發給 WebService 請求處理器。

對於.Net而言,WebService請求處理器則是一個 .NET Framework 自帶的 ISAPI Extension。Web請求處理器用於解析收到的SOAP請求,調用 WebService,然后生成相應的SOAP應答。Web服務器得到SOAP應答后,在通過HTTP應答的方式將其返回給客戶端。

 

WebService優勢:

1.平台無關性 。  任何平台都可以使用WebService

2.編程語言無關系。 基於XML,XML本身與平台無關,使用XSD作為數據類型系統,不論用什么語言編寫,所有數據類型都會被轉換為XSD,只需要遵守WebService的統一標准即可。

3.部署、升級和維護Web服務簡單、方便。

4.實現多數據、多服務的聚合。

5.成本低。

6.不受防火牆的影響。使用SOAP協議通信,封裝了XML格式的數據,以ASCII文本的方式傳輸,而非二進制,調試方便,而且可以使數據容易的通過防火牆,不需要單獨開通信端口。 

 

總結:

WSDL、SOAP和UDDI(統一描述、發現和集成機制) 一起工作,支持WebService與Internet上的其他服務、應用程序和設備交互作用。UDDI提供了發布和定位Web服務功能(更多請自行了解),WSDL描述了Web服務,SOAP服務提供了傳輸消息。

 

 

申明:代碼里(www.daimali.com)原創,轉載請注明原文鏈接。

來源:代碼里

鏈接:http://www.daimali.com/index.php/2016/05/03/448/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM