首頁  >  文章  >  php教程  >  輕鬆搞懂WebService工作原理

輕鬆搞懂WebService工作原理

高洛峰
高洛峰原創
2016-12-15 15:19:041135瀏覽

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

WebService是基於網路的、分散式的模組化元件。

 

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

客戶端 ->閱讀WSDL文件(了解webservice的請求) -> 呼叫WebService 

 

上面描述端閱讀WSDL文件傳送請求,然後呼叫Web伺服器最後回傳給客戶端,這和普通的http請求一樣,請求->處理->回應,與普通的請求不一樣的就是webservice請求中有一個WSDL文件和SOAP協議,以及.NET Framework自帶的Web Service請求處理器ISAPI Extension。

 

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

客戶端-> 閱讀WSDL文件(根據文件產生SOAP請求) ->傳送到網路伺服器->交給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服務提供了傳輸訊息。



更多輕鬆搞懂WebService工作原理相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn