輕鬆搞懂WebService工做原理

 

用更簡單的方式給你們談談WebService,讓你更快更容易理解,但願對初學者有所幫助。php

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

 

咱們直接來看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/

相關文章
相關標籤/搜索