Web Service简介
Web Service是一種服務導向架構的技術,通過標準的Web協議提供服務,目的是保證不同平臺的應用服務可以互操作。Web Service技術,能使得運行在不同機器上的不同應用無須借助附加的、專門的第三方軟件或硬件, 就可相互交換數據或集成。依據Web Service規范實施的應用之間,無論它們所使用的語言、平臺或內部協議是什么,都可以相互交換數據。Web Service是自描述、自包含的可用網絡模塊,可以執行具體的業務功能。
一、Web Service核心定義
1. SOAP
一個基于XML的可擴展消息信封格式,需同時綁定一個網絡傳輸協議。這個協議通常是HTTP或HTTPS,但也可能是SMTP或XMPP。
2. WSDL
一個XML格式文檔,用以描述服務端口訪問方式和使用協議的細節。通常用來輔助生成服務器和客戶端代碼及配置信息。
3. UDDI
一個用來發布和搜索WEB服務的協議,應用程序可借由此協議在設計或運行時找到目標WEB服務。
二、使用Web Service的方式
WEB服務實際上是一組工具,并有多種不同的方法調用之。三種最普遍的手段是:遠程過程調用(RPC),服務導向架構(SOA)以及表述性狀態轉移(REST)。
1. 遠程過程調用
WEB服務提供一個分布式函數或方法接口供用戶調用,這是一種比較傳統的方式。通常,在WSDL中對RPC接口進行定義(類似于早期的XML-RPC)。
盡管最初的WEB服務廣泛采用RPC方式部署,但針對其過于緊密之耦合性的批評聲也隨之不斷。這是因為RPC式WEB服務實質上是利用一個簡單的映射,以把用戶請求直接轉化成為一個特定語言編寫的函數或方法。如今,多數服務提供商認定此種方式在未來將難有作為,在他們的推動下,WS-I基本協議集(WS-I Basic Profile)已不再支持遠程過程調用。
2. 服務導向架構
現在,業界比較關注的是遵從服務導向架構(Service-oriented architecture,SOA)概念來構筑WEB服務。在服務導向架構中,通訊由消息驅動,而不再是某個動作(方法調用)。這種WEB服務也被稱作面向消息的服務。
SOA式WEB服務得到了大部分主要軟件供應商以及業界專家的支持和肯定。作為與RPC方式的最大差別,SOA方式更加關注如何去連接服務而不是去特定某個實現的細節。WSDL定義了聯絡服務的必要內容。
3. 表述性狀態轉移
表述性狀態轉移式(Representational state transfer,REST)WEB服務類似于HTTP或其他類似協議,它們把接口限定在一組廣為人知的標準動作中(比如HTTP的GET、PUT、DELETE)以供調用。此類WEB服務關注與那些穩定的資源的互動,而不是消息或動作。
此種服務可以通過WSDL來描述SOAP消息內容,通過HTTP限定動作接口;或者完全在SOAP中對動作進行抽象。
總結
以上是默认站点為你收集整理的Web Service简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux/Unix下tar命令详解
- 下一篇: Web Service和Servlet的