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