Web對象
從外部的使用者的角度而言,,Web服務(wù)是一種部署在Web上的對象/組件,,它具備以下特征: 完好的封裝性,Web服務(wù)既然是一種部署在Web上的對象,,自然具備對象的良好封裝性,,對于使用者而言,他能且僅能看到該對象提供的功能列表,。 松散耦合,,這一特征也是源于對象/組件技術(shù),當(dāng)一個(gè)Web服務(wù)的實(shí)現(xiàn)發(fā)生變更的時(shí)候,,調(diào)用者是不會感到這一點(diǎn)的,,對于調(diào)用者來說,只要Web服務(wù)的調(diào)用界面不變,,Web服務(wù)的實(shí)現(xiàn)任何變更對他們來說都是透明的,,甚至是當(dāng)Web服務(wù)的實(shí)現(xiàn)平臺從J2EE遷移到了.NET或者是相反的遷移流程,用戶都可以對此一無所知,。對于松散耦合而言,,尤其是在Internet環(huán)境下的Web服務(wù)而言,需要有一種適合Internet環(huán)境的消息交換協(xié)議,。而XML/SOAP正是目前最為適合的消息交換協(xié)議,。 使用協(xié)約的規(guī)范性,這一特征從對象而來,,但相比一般對象其界面規(guī)范更加規(guī)范化和易于機(jī)器理解,。首先,作為Web服務(wù),,對象界面所提供的功能應(yīng)當(dāng)使用標(biāo)準(zhǔn)的描述語言來描述(比如WSDL);其次,,由標(biāo)準(zhǔn)描述語言描述的服務(wù)界面應(yīng)當(dāng)是能夠被發(fā)現(xiàn)的,因此這一描述文檔需要被存儲在私有的或公共的注冊庫里面,。同時(shí),,使用標(biāo)準(zhǔn)描述語言描述的使用協(xié)約將不僅僅是服務(wù)界面,,它將被延伸到Web服務(wù)的聚合、跨Web服務(wù)的事務(wù),、工作流等,,而這些又都需要服務(wù)質(zhì)量(QoS)的保障。其次,,我們知道安全機(jī)制對于松散耦合的對象環(huán)境的重要性,,因此我們需要對諸如授權(quán)認(rèn)證、數(shù)據(jù)完整性(比如簽名機(jī)制),、消息源認(rèn)證以及事務(wù)的不可否認(rèn)性等運(yùn)用規(guī)范的方法來描述,、傳輸和交換。最后,,在所有層次的處理都應(yīng)當(dāng)是可管理的,,因此需要對管理協(xié)約運(yùn)用同樣的機(jī)制。 使用標(biāo)準(zhǔn)協(xié)議規(guī)范,,作為Web服務(wù),其所有公共的協(xié)約完全需要使用開放的標(biāo)準(zhǔn)協(xié)議進(jìn)行描述,、傳輸和交換,。這些標(biāo)準(zhǔn)協(xié)議具有完全免費(fèi)的規(guī)范,以便由任意方進(jìn)行實(shí)現(xiàn),。一般而言,,絕大多數(shù)規(guī)范將最終有W3C或OASIS作為最終版本的發(fā)布方和維護(hù)方。 高度可集成能力,。由于Web服務(wù)采取簡單的,、易理解的標(biāo)準(zhǔn)Web協(xié)議作為組件界面描述和協(xié)同描述規(guī)范,完全屏蔽了不同軟件平臺的差異,,無論是CORBA,、DCOM還是EJB都可以通過這一種標(biāo)準(zhǔn)的協(xié)議進(jìn)行互操作,實(shí)現(xiàn)了在當(dāng)前環(huán)境下最高的可集成性,。 Web Service "Stack" 在前一節(jié)中,,我們已經(jīng)了解到為了完成在松散耦合的環(huán)境下的對象訪問,以及在基本對象訪問之上的諸如事務(wù),、工作流,、安全機(jī)制等。實(shí)現(xiàn)一個(gè)完整的Web服務(wù)體系需要有一系列的協(xié)議規(guī)范來支撐,。 其中,,綠色部分是先前已經(jīng)定義好的并且廣泛使用的傳輸層和網(wǎng)絡(luò)層的標(biāo)準(zhǔn):IP、HTTP,、SMTP等,。而藍(lán)色部分是目前開發(fā)的Web服務(wù)的相關(guān)標(biāo)準(zhǔn)協(xié)議,包括服務(wù)調(diào)用協(xié)議SOAP、服務(wù)描述協(xié)議WSDL和服務(wù)發(fā)現(xiàn)/集成協(xié)議UDDI,,以及服務(wù)工作流描述語言WSFL,。而橙色部分描述的是更高層的待開發(fā)的關(guān)于路由、可靠性以及事務(wù)等方面的協(xié)議,。黃色部分是各個(gè)協(xié)議層的公用機(jī)制,,這些機(jī)制一般由外部的正交機(jī)制來完成。
從以上這個(gè)技術(shù)層次圖我們看以看到,,Web服務(wù)追求的第一目標(biāo)是簡單性,。可能大家會覺得很奇怪,,有那么多協(xié)議,,怎么能說他簡單。
首先,,這些協(xié)議本身都是簡單的,,無論是HTTP, FTP等傳統(tǒng)的TCP/IP系統(tǒng)的網(wǎng)絡(luò)協(xié)議,,還是SOAP,, WSDL, UDDI,, WSFL等基于XML的協(xié)議,,他們設(shè)計(jì)原則中的一個(gè)最重要點(diǎn)就是力求簡單性。相信大家如果對XML,、SOAP等有深入了解的話,,一定會深深體會這一點(diǎn)。 其次,,一個(gè)可以使用的Web服務(wù)應(yīng)當(dāng)按照需要選用若干層次的功能,,而無需所有的特性。比如在目前狀況下,,一個(gè)簡單應(yīng)用可能只要使用WSDL/SOAP就可以架構(gòu)一個(gè)符合規(guī)范的Web服務(wù)了,。 最后,所有的機(jī)制完全是基于現(xiàn)有的技術(shù),,并沒有創(chuàng)造一個(gè)完全的新體系,。無論是IPv4、HTTP,、FTP這些現(xiàn)有的網(wǎng)絡(luò)協(xié)議,,還是SOAP、WSDL等這些基于XML而定義的協(xié)議都是遵循著一個(gè)原則:繼承原有的被廣泛接受的技術(shù),,這樣才能使得Web服務(wù)被廣泛接受,。 Web服務(wù)的類別 綜合當(dāng)今的Web應(yīng)用以及Web服務(wù)的特點(diǎn),,我們認(rèn)為Web服務(wù)實(shí)施的領(lǐng)域可以分為四類: Business-Oriented Web Service: 該類服務(wù)針對的是那些面向企業(yè)應(yīng)用服務(wù),包括企業(yè)內(nèi)部的ERP系統(tǒng),,企業(yè)間的SCM/CRM等系統(tǒng),。當(dāng)這些系統(tǒng)以Web服務(wù)的形式在網(wǎng)絡(luò)(Internet和intranet)中出現(xiàn)時(shí),企業(yè)內(nèi)的應(yīng)用集成將更未容易,,而在企業(yè)間的眾多合作伙伴的系統(tǒng)對接也將不再是無法完成的任務(wù),。目前現(xiàn)有的解決方案和產(chǎn)品的提供商有Bowstreet、Epicentric等,。 Consumer-Oriented Web Service: 此類服務(wù)針對的是那些原先的B2C的網(wǎng)站的改造,,為這些Browser-Oriented的Web應(yīng)用增加(注意是增加)了Web服務(wù)的應(yīng)用界面,使得第三方的桌面工具或其自身提供的增值的桌面工具能夠利用更優(yōu)秀的用戶界面提供跨越多個(gè)B2C服務(wù)的桌面服務(wù),。這將使得用戶使用Internet更為方便,,能夠獲得更加便捷的服務(wù)。比如我們完全就可以在個(gè)人理財(cái)桌面系統(tǒng)中集成(調(diào)用)Internet上的股票價(jià)格查詢Web服務(wù),、機(jī)票預(yù)定Web服務(wù)等,,使得個(gè)人理財(cái)應(yīng)用的自動化程度更高。 Device-Oriented Web Service: 此類服務(wù)的使用終端一般是手持設(shè)備和日用家電,,對于前者而言,,可以在不用修改網(wǎng)絡(luò)服務(wù)的體系架構(gòu)的前提下,令先前的網(wǎng)絡(luò)服務(wù)支持除PC以外的各種終端,,比如Palm,、PocketPC,、手機(jī)等,。如此,那些天氣預(yù)報(bào)服務(wù),、Email服務(wù),、主動信息服務(wù)等將更為有效和便捷。而后者對于日用家電,,則可能是一個(gè)市場的啟動期,,有了Web服務(wù)作為基礎(chǔ)框架,智能型的日用家電將真正獲得標(biāo)準(zhǔn)的支持,,從而有了廣泛使用的可能,。 System-Oriented Web Service: 一些傳統(tǒng)意義上的系統(tǒng)服務(wù),比如用戶權(quán)限認(rèn)證,,系統(tǒng)監(jiān)控等,,如果被遷移到全球范圍的Internet上,或者企業(yè)內(nèi)部的intranet上,,其作用范圍將從單個(gè)系統(tǒng)或局部網(wǎng)絡(luò)拓展到整個(gè)企業(yè)網(wǎng)絡(luò)或整個(gè)Internet,。如此,,基于同一系統(tǒng)服務(wù)的不同應(yīng)用將得以在整個(gè)Internet環(huán)境中部署,譬如跨國企業(yè)的所有在線服務(wù)可以使用同一個(gè)用戶權(quán)限認(rèn)證Web服務(wù),。
Web服務(wù): 當(dāng)今的技術(shù)最亮點(diǎn)
以上這幅圖是Gartner Group在研究了所有IT主流時(shí)尚技術(shù)的發(fā)展道路后,,作出的抽象模型。Y軸表明技術(shù)的受關(guān)注程度,,而X軸則表示技術(shù)的應(yīng)用的成熟度,。每一項(xiàng)技術(shù)在從出現(xiàn)到成熟的整個(gè)過程都將沿著圖中的曲線前進(jìn),而且典型地,,都將被劃分為五個(gè)階段:
|
|