從外部的使用者的角度而言,Web服務(wù)是一種部署在Web上的對象/組件,它具備以下特征:
完好的封裝性,Web服務(wù)既然是一種部署在Web上的對象,自然具備對象的良好封裝性,對于使用者而言,他能且僅能看到該對象提供的功能列表。
松散耦合,這一特征也是源于對象/組件技術(shù),當一個(gè)Web服務(wù)的實(shí)現發(fā)生變更的時(shí)候,調用者是不會(huì )感到這一點(diǎn)的,對于調用者來(lái)說(shuō),只要Web服務(wù)的調用界面不變,Web服務(wù)的實(shí)現任何變更對他們來(lái)說(shuō)都是透明的,甚至是當Web服務(wù)的實(shí)現平臺從J2EE遷移到了.NET或者是相反的遷移流程,用戶(hù)都可以對此一無(wú)所知。對于松散耦合而言,尤其是在Internet環(huán)境下的Web服務(wù)而言,需要有一種適合Internet環(huán)境的消息交換協(xié)議。而XML/SOAP正是目前最為適合的消息交換協(xié)議。
使用協(xié)約的規范性,這一特征從對象而來(lái),但相比一般對象其界面規范更加規范化和易于機器理解。首先,作為Web服務(wù),對象界面所提供的功能應當使用標準的描述語(yǔ)言來(lái)描述(比如WSDL);其次,由標準描述語(yǔ)言描述的服務(wù)界面應當是能夠被發(fā)現的,因此這一描述文檔需要被存儲在私有的或公共的注冊庫里面。同時(shí),使用標準描述語(yǔ)言描述的使用協(xié)約將不僅僅是服務(wù)界面,它將被延伸到Web服務(wù)的聚合、跨Web服務(wù)的事務(wù)、工作流等,而這些又都需要服務(wù)質(zhì)量(QoS)的保障。其次,我們知道安全機制對于松散耦合的對象環(huán)境的重要性,因此我們需要對諸如授權認證、數據完整性(比如簽名機制)、消息源認證以及事務(wù)的不可否認性等運用規范的方法來(lái)描述、傳輸和交換。最后,在所有層次的處理都應當是可管理的,因此需要對管理協(xié)約運用同樣的機制。
使用標準協(xié)議規范,作為Web服務(wù),其所有公共的協(xié)約完全需要使用開(kāi)放的標準協(xié)議進(jìn)行描述、傳輸和交換。這些標準協(xié)議具有完全免費的規范,以便由任意方進(jìn)行實(shí)現。一般而言,絕大多數規范將最終有W3C或OASIS作為最終版本的發(fā)布方和維護方。
高度可集成能力。由于Web服務(wù)采取簡(jiǎn)單的、易理解的標準Web協(xié)議作為組件界面描述和協(xié)同描述規范,完全屏蔽了不同軟件平臺的差異,無(wú)論是CORBA、DCOM還是EJB都可以通過(guò)這一種標準的協(xié)議進(jìn)行互操作,實(shí)現了在當前環(huán)境下最高的可集成性。
Web Service "Stack"
在前一節中,我們已經(jīng)了解到為了完成在松散耦合的環(huán)境下的對象訪(fǎng)問(wèn),以及在基本對象訪(fǎng)問(wèn)之上的諸如事務(wù)、工作流、安全機制等。實(shí)現一個(gè)完整的Web服務(wù)體系需要有一系列的協(xié)議規范來(lái)支撐。

首先,這些協(xié)議本身都是簡(jiǎn)單的,無(wú)論是HTTP, FTP等傳統的TCP/IP系統的網(wǎng)絡(luò )協(xié)議,還是SOAP, WSDL, UDDI, WSFL等基于XML的協(xié)議,他們設計原則中的一個(gè)最重要點(diǎn)就是力求簡(jiǎn)單性。相信大家如果對XML、SOAP等有深入了解的話(huà),一定會(huì )深深體會(huì )這一點(diǎn)。
其次,一個(gè)可以使用的Web服務(wù)應當按照需要選用若干層次的功能,而無(wú)需所有的特性。比如在目前狀況下,一個(gè)簡(jiǎn)單應用可能只要使用WSDL/SOAP就可以架構一個(gè)符合規范的Web服務(wù)了。
最后,所有的機制完全是基于現有的技術(shù),并沒(méi)有創(chuàng )造一個(gè)完全的新體系。無(wú)論是IPv4、HTTP、FTP這些現有的網(wǎng)絡(luò )協(xié)議,還是SOAP、WSDL等這些基于XML而定義的協(xié)議都是遵循著(zhù)一個(gè)原則:繼承原有的被廣泛接受的技術(shù),這樣才能使得Web服務(wù)被廣泛接受。
Web服務(wù)的類(lèi)別
綜合當今的Web應用以及Web服務(wù)的特點(diǎn),我們認為Web服務(wù)實(shí)施的領(lǐng)域可以分為四類(lèi):
Business-Oriented Web Service: 該類(lèi)服務(wù)針對的是那些面向企業(yè)應用服務(wù),包括企業(yè)內部的ERP系統,企業(yè)間的SCM/CRM等系統。當這些系統以Web服務(wù)的形式在網(wǎng)絡(luò )(Internet和intranet)中出現時(shí),企業(yè)內的應用集成將更未容易,而在企業(yè)間的眾多合作伙伴的系統對接也將不再是無(wú)法完成的任務(wù)。目前現有的解決方案和產(chǎn)品的提供商有Bowstreet、Epicentric等。
Consumer-Oriented Web Service: 此類(lèi)服務(wù)針對的是那些原先的B2C的網(wǎng)站的改造,為這些Browser-Oriented的Web應用增加(注意是增加)了Web服務(wù)的應用界面,使得第三方的桌面工具或其自身提供的增值的桌面工具能夠利用更優(yōu)秀的用戶(hù)界面提供跨越多個(gè)B2C服務(wù)的桌面服務(wù)。這將使得用戶(hù)使用Internet更為方便,能夠獲得更加便捷的服務(wù)。比如我們完全就可以在個(gè)人理財桌面系統中集成(調用)Internet上的股票價(jià)格查詢(xún)Web服務(wù)、機票預定Web服務(wù)等,使得個(gè)人理財應用的自動(dòng)化程度更高。
Device-Oriented Web Service: 此類(lèi)服務(wù)的使用終端一般是手持設備和日用家電,對于前者而言,可以在不用修改網(wǎng)絡(luò )服務(wù)的體系架構的前提下,令先前的網(wǎng)絡(luò )服務(wù)支持除PC以外的各種終端,比如Palm、PocketPC、手機等。如此,那些天氣預報服務(wù)、Email服務(wù)、主動(dòng)信息服務(wù)等將更為有效和便捷。而后者對于日用家電,則可能是一個(gè)市場(chǎng)的啟動(dòng)期,有了Web服務(wù)作為基礎框架,智能型的日用家電將真正獲得標準的支持,從而有了廣泛使用的可能。

以上這幅圖是Gartner Group在研究了所有IT主流時(shí)尚技術(shù)的發(fā)展道路后,作出的抽象模型。Y軸表明技術(shù)的受關(guān)注程度,而X軸則表示技術(shù)的應用的成熟度。每一項技術(shù)在從出現到成熟的整個(gè)過(guò)程都將沿著(zhù)圖中的曲線(xiàn)前進(jìn),而且典型地,都將被劃分為五個(gè)階段:
聯(lián)系客服