什麼是web service?- SOAP Web Service & Restful Web Service

web service 就是一種網絡服務, 它通過 HTTP(大多數情況) 使用 SOAP message 對數據進行請求和反應。 


舉例: 比如我們建立了一個簡單計算器的web service, 那麼別人可以通過使用 SOAP message進行對數據的請求, 當我們的計算器web service接收到用戶的請求的時候, 我們會先在終端對用戶的請求進行處理,之後同樣的返回一個SOAP message到用戶。


在完全弄清楚web service之前, 需要了解幾個定義。

1. 什麼是SOAP?

2. 什麼是Soap message?

3. 如何生成Soap message?


1. 答: SOAP :Simple Object Access Protocol.  它是一種傳輸協議, 用來定義在 應用和應用之間傳輸信息的協議, 簡單來講就是一種標準,生成和返回的soap message 應該是一種什麼形式。 SOAP 通過 大多數情況下通過http進行傳輸。


2. 答: SOAP message 就是一個soap 的請求或者回應。它基於XML。 簡單來講它就是按照soap的語法使用XML進行編寫的代碼。


3. 答:我們現在明白了,要想使用我們的計算器web service。我們首先使用xml按照soap的標準來寫代碼,寫的代碼是用來向我們的計算器web service進行請求計算的。那我們該如何定位我們的web service呢?對於輸入參數的要求又是什麼呢? 返回參數的意義又是什麼呢? 對於這一系列的問題,我們可以使用WSDL來進行回答。 


WSDL : Web Service Description Language. 簡單來講,就是一種基於XML的文檔,通過這種文檔,我們能夠知道如果定位web service,知道各個參數、方法各是什麼。

另外摘取別人的一個例子流程幫助大家理解。

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

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


//***我是分割線*****


以上使用介紹的web service是soap web service, 那麼還有其他的什麼的web service嗎? 答案是有的。 

另外一種類型是 RESTful web service ( Representational State Transfer). 它的用處是和soap web service是一樣的,都是處理用戶的請求然後返回給用戶結果。

區別?


SOAP Web Service RESTful Web Service
SOAP是一種協議 REST是一種結構
全稱是Simple Object Access Protocol 全稱是Representationnal State Transfer
不能使用REST,因爲它自己是一種協議 可以使用SOAP
使用接口去使用web service提供的服務 使用URI去使用service提供的服務
SOAP必須嚴格按照一定的標準 沒有太多標準的限制
對比REST需要更多的帶寬等 更少的帶寬
有自己的安全機制 繼承來自它使用的協議的安全機制
僅僅能使用XML格式 格式不限 - JSON, XML, HTML, etc
優先使用!



 

如有錯誤歡迎指出!


reference: http://www.cnblogs.com/codelir/p/5476517.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章