[摘要] Web服務(wù)的主要目標(biāo)就是在現(xiàn)有的各種異構(gòu)平臺的基礎(chǔ)上構(gòu)筑一個(gè)通用的與平臺無關(guān)語言無關(guān)的技術(shù)層,各種平臺之上的應(yīng)用依靠這個(gè)技術(shù)層來實(shí)施彼此的連接和集成。可以將電子商務(wù)Web服務(wù)架構(gòu)劃分為概念層邏輯層和物理層三個(gè)層次的模型,并分別討論了模型的具體內(nèi)容。
[關(guān)鍵詞] 電子商務(wù) web服務(wù) 架構(gòu)
一、引言
動態(tài)電子商務(wù)是電子商務(wù)(EBusiness,EB)發(fā)展的目標(biāo),而Web服務(wù)是其核心技術(shù),也是Web的下一個(gè)革新。Web服務(wù)將改變企業(yè)之間的商務(wù)運(yùn)作和B2B應(yīng)用的設(shè)計(jì)與開發(fā)。
Web服務(wù)架構(gòu)通常指用于架構(gòu)Web服務(wù)的整體技術(shù)框架,提供了運(yùn)行于多種平臺上的軟件系統(tǒng)之間互操作的一種標(biāo)準(zhǔn)方法,其核心是互操作性。為了保證Web服務(wù)之間的互操作,在整體技術(shù)框架中所需要的全局元素。Web服務(wù)架構(gòu)具有真正的平臺無關(guān)性,能夠?qū)⒄麄€(gè)互聯(lián)網(wǎng)作為一個(gè)資源體系加以利用,并具有互操作性強(qiáng),即時(shí)集成,封裝性強(qiáng)等許多相助的優(yōu)點(diǎn),這是傳統(tǒng)的一些軟件體系架構(gòu)所不具備的。
二、Web服務(wù)架構(gòu)分析
Web服務(wù)架構(gòu)可以用不同的模型來進(jìn)行描述和研究,如面向消息的模型(MOM)、面向服務(wù)的模型(SOM)、面向資源的模型(ROM)、策略的模型PM)等。
參照數(shù)據(jù)庫系統(tǒng)模型的分析方法可以將Web服務(wù)架構(gòu)劃分成概念層,邏輯層和物理層三個(gè)層次。概念層模型指出了參與Web服務(wù)架構(gòu)的各個(gè)實(shí)體間的關(guān)系及其基本活動,邏輯層模型描述了每一個(gè)Web服務(wù)具有的標(biāo)準(zhǔn)協(xié)議棧,而物理層模型則涉及到Web服務(wù)架構(gòu)中各個(gè)協(xié)議的具體實(shí)現(xiàn)。
1.概念層模型
為了實(shí)現(xiàn)Web服務(wù)架構(gòu)所承諾的功能,任何Web服務(wù)架構(gòu)環(huán)境都少不了一下這些基本活動:(1)發(fā)布服務(wù);(2)查找服務(wù);(3)交互。這些活動主要涉及三種角色:服務(wù)提供者、服務(wù)請求者和發(fā)現(xiàn)代理。
服務(wù)提供者是服務(wù)的創(chuàng)建者和擁有者。它可以將服務(wù)發(fā)布到發(fā)現(xiàn)代理的網(wǎng)絡(luò)服務(wù)庫中以便于用戶進(jìn)行定位,也可以取消服務(wù)(當(dāng)不再需要提供服務(wù)時(shí)或因?yàn)橛脩粜枨蟾淖兌枰M(jìn)行服務(wù)升級時(shí))。
服務(wù)請求者是需要調(diào)用網(wǎng)上的服務(wù)來完成自身服務(wù)的一方,它通過在發(fā)現(xiàn)代理中查找符合要求的服務(wù),然后與服務(wù)提供者進(jìn)行綁定和交互,已完成調(diào)用功能。服務(wù)請求者可以是通過臺式機(jī)或無線設(shè)備上的瀏覽器訪問服務(wù)的人,也可以是一個(gè)應(yīng)用程序或Web服務(wù)。
發(fā)現(xiàn)代理的主要工作就是管理網(wǎng)絡(luò)服務(wù)庫。服務(wù)庫分類登記了各種Wed服務(wù)的描述信息。服務(wù)提供者向發(fā)現(xiàn)代理發(fā)布服務(wù),服務(wù)請求者根據(jù)服務(wù)描述信息來查找服務(wù)并與服務(wù)提供者進(jìn)行綁定以進(jìn)行交互操作。
2.邏輯層架構(gòu)模型
在Web服務(wù)環(huán)境中,任務(wù)是通過服務(wù)提供者、服務(wù)請求者和發(fā)現(xiàn)代理之間的相互合作來完成的。顯然,要成功實(shí)現(xiàn)這種跨平臺的交互,必須使用一整套標(biāo)準(zhǔn)的服務(wù)描述格式,通信格式以及數(shù)據(jù)交換格式,這就構(gòu)成了Web服務(wù)架構(gòu)的協(xié)議棧,也就是其邏輯層模型。
(1)線(Wire)級協(xié)議棧
線級協(xié)議棧主要負(fù)責(zé)處理Wed服務(wù)環(huán)境中不同角色間實(shí)際的信息交換,它包括網(wǎng)絡(luò)傳輸(Transport)、消息包裝(Package)、消息擴(kuò)展(Extensions)三部分。
由于其通用性強(qiáng),HTTP是目前采用最多的傳輸層協(xié)議,但也可以采用其他網(wǎng)絡(luò)傳輸協(xié)議如SMTP,F(xiàn)TP等。
包裝層負(fù)責(zé)包裝實(shí)體間交換的信息,采用的主要協(xié)議是簡單對象訪問協(xié)議(Simple Object Access Protocol, SOAP)。SOAP是一個(gè)基于XML的,用于分布式環(huán)境下數(shù)據(jù)交換的簡單、輕量級協(xié)議,它與編程語言、對象模型以及操作系統(tǒng)平臺都無關(guān)。SOAP主要定義了請求和應(yīng)答兩種類型的消息,以允許服務(wù)請求者調(diào)用遠(yuǎn)程過程和服務(wù)提供者做出應(yīng)答。
擴(kuò)展層提供了可附加在Web服務(wù)消息上的一些附加特性的表示框架,如上下文、路由、策略等,這些特性之間是正交的。
(2)描述(Description)級協(xié)議棧
描述級協(xié)議棧是一個(gè)有XML Schema定義的文檔,它解決的是關(guān)于服務(wù)的描述問題,即一個(gè)Web服務(wù)能做什么,它的位置在哪里以及如何調(diào)用它等。服務(wù)描述和SOAP消息機(jī)制一起,使得Web服務(wù)真正實(shí)現(xiàn)了與底層的平臺和語言無關(guān),具備了優(yōu)秀的跨平臺和互操作性。通??梢詫f(xié)議棧中的協(xié)議劃分為描述單個(gè)Web服務(wù)的協(xié)議和描述多個(gè)Web服務(wù)之間互操作的協(xié)議。
(3)發(fā)現(xiàn)代理(Discovery Agencies)級協(xié)議棧
發(fā)現(xiàn)代理級協(xié)議棧包括以下三個(gè)層次的協(xié)議:
①查閱層(Inspection)。它提供了一種分散化的服務(wù)發(fā)現(xiàn)方法,如WSIL規(guī)范就定義了一種包含某領(lǐng)域內(nèi)WSDL的URL列表和其他WSIL文檔的URL列表的文檔格式,WSIL文檔還可以包含UDDI庫的引用以及許多其他引用。這些文檔使得對Web服務(wù)的查找更容易。
②發(fā)布(Publication)。Web服務(wù)必須發(fā)布以后才能被服務(wù)請求者查找和調(diào)用。Web服務(wù)產(chǎn)生以后,發(fā)布到哪里以及如何進(jìn)行發(fā)布就是發(fā)布層所解決的問題。根據(jù)應(yīng)用對Web服務(wù)的動態(tài)性強(qiáng)弱的要求,可以采用不同發(fā)布機(jī)制,如直接發(fā)布,利用WSIL機(jī)制發(fā)布或者利用UDDI庫發(fā)布。
③發(fā)現(xiàn)(Discovery)。發(fā)現(xiàn)協(xié)議處理服務(wù)的發(fā)現(xiàn)和查找問題。在設(shè)計(jì)階段,服務(wù)請求者根據(jù)服務(wù)的接口描述來查找服務(wù);在運(yùn)行階段,服務(wù)請求者根據(jù)服務(wù)的通信方式和服務(wù)質(zhì)量來查找服務(wù)。查詢方式支持按接口類型(如WSDL模板)查詢、按綁定方式(如協(xié)議)查詢、按特性(如QoS參數(shù))查詢、按指定消息中間節(jié)點(diǎn)類型查詢、按服務(wù)分類查詢及按商業(yè)信息查詢等。
3.物理層構(gòu)架模型
邏輯層構(gòu)架模型給出了一個(gè)Web服務(wù)構(gòu)架的邏輯構(gòu)架。其具體實(shí)現(xiàn)可以有多種方式,構(gòu)成了Web服務(wù)的物理層構(gòu)架模型。比如說對每一層協(xié)議功能,其具體采用的協(xié)議可能會有多種,并且不斷會有新的特性開發(fā)出來。
三、結(jié)束語
Web服務(wù)提供了一種在分布式網(wǎng)絡(luò)環(huán)境下便利地進(jìn)行應(yīng)用程序集成和應(yīng)用之間交互的方法,將改變傳統(tǒng)的軟件開發(fā)方式并將對企業(yè)間電子商務(wù)的發(fā)展產(chǎn)生巨大的推進(jìn)作用。
參考文獻(xiàn):
[1]陳博許滿武:基于Web的計(jì)算模型—Web Service[J].計(jì)算機(jī)應(yīng)用研究,2003,20
[2]岳昆王曉玲周傲英:WEB服務(wù)核心支撐技術(shù):研究綜述[J].軟件學(xué)報(bào),2004,15