什麼是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
相關文章
- Web service是什麼?Web
- RESTful Web Service(續)RESTWeb
- 什麼是Web Service (轉)Web
- 什麼是 Web Service--面試Web面試
- 為什麼需要Web Service (轉)Web
- Web Service和SOAP以及HTTP的關係? .WebHTTP
- 翻譯-使用Spring呼叫SOAP Web ServiceSpringWeb
- xml web serviceXMLWeb
- Web Service 教程Web
- 翻譯-使用Spring WebService生成SOAP Web ServiceSpringWeb
- Web Service 基礎Web
- Web Service入門Web
- Apache CXF實現Web Service(4)——Tomcat容器和Spring實現JAX-RS(RESTful) web serviceApacheWebTomcatSpringREST
- 教你入門Web ServiceWeb
- Spring Web Service教程SpringWeb
- Web Service 的工作原理Web
- ASP 呼叫WEB SERVICE 文件Web
- c#呼叫web serviceC#Web
- Apache CXF實現Web Service(2)——不借助重量級Web容器和Spring實現一個純的JAX-RS(RESTful) web serviceApacheWebSpringREST
- Android中的Web ServiceAndroidWeb
- Java:Web Service初入門JavaWeb
- Web Service 之 Python -- spyneWebPython
- Loadrunner11 --web serviceWeb
- web service相關轉摘Web
- iPhone 呼叫Web Service 例子(轉)iPhoneWeb
- c# web service轉貼C#Web
- 構建一個基於 Spring 的 RESTful Web ServiceSpringRESTWeb
- WCF、Web API、WCF REST、Web Service之區別WebAPIREST
- Apache CXF實現Web Service(3)——Tomcat容器和不借助Spring的普通Servlet實現JAX-RS(RESTful) web serviceApacheWebTomcatSpringServletREST
- web到service簡單原理例子Web
- web service 的事務問題Web
- C# Web Service 身份驗證C#Web
- 如何使用ABSL程式碼呼叫Web serviceWeb
- 用IntentService 與ResultReceiver連線web serviceIntentWeb
- How to access a remote web service by Camel CXF endpointREMWeb
- .NET調PHP Web Service的典型例子PHPWeb
- vivo web service:億萬級規模web服務引擎架構Web架構
- Apache CXF實現Web Service(1)——不借助重量級Web容器和Spring實現一個純的JAX-WS web serviceApacheWebSpring