什麼是Web服務?

來源:互聯網
上載者:User
web|web服務  
架構Web Service: 什麼是Web服務?  
  


   
內容:

Web對象
Web Service "Stack"
Web服務的類別
Web服務: 當今的技術最亮點
參考資料
作者簡介


相關內容:

為什麼需要Web服務?




柴曉路 (fennivel@uddi-china.org)
Chief System Architect
2001年7月24日

本文是架構Web服務的系列文章的第二篇,從Web服務的技術定義開始,來探討什麼是Web服務。首先,作者從技術角度詳細分析了Web服務作為Internet環境下的軟體組件的基本角色,從這個基本角色開始,詳細介紹了這個組件對象的封裝規範Web Service "stack",並對Web服務的應用做了分類,最後藉助Garnter Group的材料考察了Web服務的當前發展狀況。
在本系列的上一篇文章中,我就為什麼需要Web服務,從商業利益需求的角度進行了分析。本文將結合技術驅動的發展需求,詳細介紹從技術上來看,到底是麼是Web服務,以及Web服務的應用分類。就技術角度而言,無論從哪個角度來看,Web服務都是對象/組件技術在Internet中的延伸。

本文所引用的資源主要包括兩類,一類是Web服務的技術資源網站,包含了大量Web服務的技術資訊,另一類是Web服務“stack"系列技術規範,他們是一個整體的技術體系,包括UDDI、SOAP、WSDL、XML等。本文的最後給出了這些資源的連結,有興趣的讀者可以通過這些資源連結找到所需的內容。

Web對象

從外部的使用者的角度而言,Web服務是一種部署在Web上的對象/組件,它具備以下特徵:

完好的封裝性,Web服務既然是一種部署在Web上的對象,自然具備對象的良好封裝性,對於使用者而言,他能且僅能看到該對象提供的功能列表。

鬆散耦合,這一特徵也是源於對象/組件技術,當一個Web服務的實現發生變更的時候,調用者是不會感到這一點的,對於調用者來說,只要Web服務的調用介面不變,Web服務的實現任何變更對他們來說都是透明的,甚至是當Web服務的實現平台從J2EE遷移到了.NET或者是相反的遷移流程,使用者都可以對此一無所知。對於鬆散耦合而言,尤其是在Internet環境下的Web服務而言,需要有一種適合Internet環境的訊息交換協議。而XML/SOAP正是目前最為適合的訊息交換協議。

使用協約的規範性,這一特徵從對象而來,但相比一般對象其介面規範更加正常化和易於機器理解。首先,作為Web服務,對象介面所提供的功能應當使用標準的描述語言來描述(比如WSDL);其次,由標準描述語言描述的服務介面應當是能夠被發現的,因此這一描述文檔需要被儲存在私人的或公用的註冊庫裡面。同時,使用標準描述語言描述的使用協約將不僅僅是服務介面,它將被延伸到Web服務的彙總、跨Web服務的事務、工作流程等,而這些又都需要服務品質(QoS)的保障。其次,我們知道安全機制對於鬆散耦合的對象環境的重要性,因此我們需要對諸如授權認證、資料完整性(比如簽名機制)、訊息源認證以及事務的不可否認性等運用規範的方法來描述、傳輸和交換。最後,在所有層次的處理都應當是可管理的,因此需要對管理協約運用同樣的機制。

使用標準協議規範,作為Web服務,其所有公用的協約完全需要使用開放的標準協議進行描述、傳輸和交換。這些標準協議具有完全免費的規範,以便由任意方進行實現。一般而言,絕大多數規範將最終有W3C或OASIS作為最終版本的發布方和維護方。

高度可整合能力。由於Web服務採取簡單的、易理解的標準Web協議作為組件介面描述和協同描述規範,完全屏蔽了不同軟體平台的差異,無論是CORBA、DCOM還是EJB都可以通過這一種標準的協議進行互操作,實現了在當前環境下最高的可整合性。

Web Service "Stack"

在前一節中,我們已經瞭解到為了完成在鬆散耦合的環境下的對象訪問,以及在基本對象訪問之上的諸如事務、工作流程、安全機制等。實現一個完整的Web服務體系需要有一系列的協議規範來支撐。

Figure 1.   Web Service "stack"


其中,綠色部分是先前已經定義好的並且廣泛使用的傳輸層和網路層的標準:IP、HTTP、SMTP等。而藍色部分是目前開發的Web服務的相關標準協議,包括服務調用協議SOAP、服務描述協議WSDL和服務發現/整合協議UDDI,以及服務工作流程描述語言WSFL。而橙色部分描述的是更高層的待開發的關於路由、可靠性以及事務等方面的協議。黃色部分是各個協議層的公用機制,這些機制一般由外部的正交機制來完成。

從以上這個技術層次圖我們看以看到,Web服務追求的第一目標是簡單性。可能大家會覺得很奇怪,有那麼多協議,怎麼能說他簡單。

首先,這些協議本身都是簡單的,無論是HTTP, FTP等傳統的TCP/IP系統的網路通訊協定,還是SOAP, WSDL, UDDI, WSFL等基於XML的協議,他們設計原則中的一個最重要點就是力求簡單性。相信大家如果對XML、SOAP等有深入瞭解的話,一定會深深體會這一點。

其次,一個可以使用的Web服務應當按照需要選用若干層次的功能,而無需所有的特性。比如在目前狀況下,一個簡單應用可能只要使用WSDL/SOAP就可以架構一個符合規範的Web服務了。

最後,所有的機制完全是基於現有的技術,並沒有創造一個完全的新體系。無論是IPv4、HTTP、FTP這些現有的網路通訊協定,還是SOAP、WSDL等這些基於XML而定義的協議都是遵循著一個原則:繼承原有的被廣泛接受的技術,這樣才能使得Web服務被廣泛接受。

Web服務的類別

綜合當今的Web應用以及Web服務的特點,我們認為Web服務實施的領域可以分為四類:

Business-Oriented Web Service: 該類服務針對的是那些面向公司專屬應用程式服務,包括企業內部的ERP系統,企業間的SCM/CRM等系統。當這些系統以Web服務的形式在網路(Internet和intranet)中出現時,企業內的應用整合將更未容易,而在企業間的眾多夥伴的系統對接也將不再是無法完成的任務。目前現有的解決方案和產品的供應商有Bowstreet、Epicentric等。

Consumer-Oriented Web Service: 此類服務針對的是那些原先的B2C的網站的改造,為這些Browser-Oriented的Web應用增加(注意是增加)了Web服務的應用介面,使得第三方的案頭工具或其自身提供的增值的案頭工具能夠利用更優秀的使用者介面提供跨越多個B2C服務的案頭服務。這將使得使用者使用Internet更為方便,能夠獲得更加便捷的服務。比如我們完全就可以在個人財務案頭系統中整合(調用)Internet上的股票價格查詢Web服務、機票預定Web服務等,使得個人財務應用的自動化程度更高。

Device-Oriented Web Service: 此類服務的使用終端一般是手持功能和日用家電,對於前者而言,可以在不用修改網路服務的體系架構的前提下,令先前的網路服務支援除PC以外的各種終端,比如Palm、PocketPC、手機等。如此,那些天氣預報服務、Email服務、主動資訊服務等將更為有效和便捷。而後者對於日用家電,則可能是一個市場的啟動期,有了Web服務作為基礎架構,智能型的日用家電將真正獲得標準的支援,從而有了廣泛使用的可能。

System-Oriented Web Service: 一些傳統意義上的系統服務,比如使用者權限認證,系統監控等,如果被遷移到全球範圍的Internet上,或者企業內部的intranet上,其作用範圍將從單個系統或局部網路拓展到整個商業網路或整個Internet。如此,基於同一系統服務的不同應用將得以在整個Internet環境中部署,譬如跨國企業的所有線上服務可以使用同一個使用者權限認證Web服務。

Web服務: 當今的技術最亮點

Figure 2.   Web服務的當前發展狀況


以上這幅圖是Gartner Group在研究了所有IT主流時尚技術的發展道路後,作出的抽象模型。Y軸表明技術的受關注程度,而X軸則表示技術的應用的成熟度等級。每一項技術在從出現到成熟的整個過程都將沿著圖中的曲線前進,而且典型地,都將被劃分為五個階段:

技術顯現:一門技術被發明或定義之後,開始進入公眾的視野;
不斷膨脹的期望期:由於該項技術的劃時代的突破,使人們對這項技術有著無比美好的想象和期望,這一階段類似"網路的泡沫器";
希望破滅之後的醒悟期:由於每項技術都不是萬能的,真正獲得使用仍然需要務實的加以應用研究,因此此時人們發現這項技術似乎並沒有期望中那麼有用,這一階段類似"網路的泡沫破滅";
豁然開朗地應用發展期:經過了一個階段的開發和研究,該項技術終於走上了良性發展的軌道,越來越多的人接受並使用了該項技術;
大量的工業化生產期:該項技術成為業界主流,大量應用在具體的環境中。
參考資料

Web Service 技術/評論網站
UDDI-China.ORG, 以UDDI為主的Web服務技術網站。
WebServices.ORG, Web服務的綜合類技術網站。
IBM developerWorks/Web Service Zone, IBM的Web服務技術資源中心
MSDN Online Web Services Developer Resources, Microsoft的Web服務的開發人員資源網站
ITPapers/Web Service, ITPapers的Web服務評論文章
解決B2B電子商務應用互動和整合的InterOP Stack系列技術標準規範
UDDI執行白皮書, UDDI-China.org, UDDI.org
UDDI技術白皮書, UDDI-China.org, UDDI.org
UDDI程式員API規範, UDDI-China.org, UDDI.org
UDDI資料結構參考, UDDI-China.org, UDDI.org
Web Service Description Language (WSDL) 1.0, IBM, 25 Sep 2000
SOAP: Simple Object Access Protocol Specification 1.1, IBM, Microsoft, DevelopMentor, 2000
Extensible Markup Language (XML) 1.0 (Second Edition), W3C, 6 Oct 2000
作者簡介

柴曉路: 上海得易電子商務技術有限公司(DealEasy)首席系統架構師、XML技術顧問。UDDI-China.org藍色火焰工作室(Blue Blaze Studio)成員。UDDI Advisor Group成員,WSUI Working Group成員。2000年獲複旦大學電腦科學碩士學位,曾在國際電腦科學學術會議(ICSC)、亞太地區區XML技術研討會(XML Asia/Pacific'99)、中國XML技術研討會(北京)、電腦科學期刊等各類國際、國內重要會議與期刊上發表論文多篇。專長於基於XML的系統整合和資料交換的技術研究,同時對資料庫、物件導向技術及CSCW等技術比較擅長。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。