摘要:Web服務(wù)的出現(xiàn)為商業(yè)流程的自動(dòng)化提供了有利的條件。該文分析了Web服務(wù)組合的相容性技術(shù),包括Web服務(wù)組合技術(shù)、QoS感知的服務(wù)組合方法、以及基于服務(wù)行為的替換技術(shù)。希望本文的研究能為相關(guān)領(lǐng)域的發(fā)展帶來(lái)一定的啟示和作用。
關(guān)鍵詞:Web;服務(wù)組合;技術(shù)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)12-2780-02
1 Web服務(wù)組合技術(shù)
Web服務(wù)組合是通過(guò)增值服務(wù)的方式向客戶提供相對(duì)比較完善的商業(yè)功能體系。Web服務(wù)組合的業(yè)務(wù)邏輯一般來(lái)自于實(shí)際操作的商業(yè)邏輯內(nèi)容,其中服務(wù)組合的每一個(gè)Web服務(wù)組件完成每一個(gè)相應(yīng)的服務(wù)任務(wù)。所以,Web服務(wù)組合的實(shí)現(xiàn)一般包含Web服務(wù)描述、Web服務(wù)發(fā)現(xiàn)和Web服務(wù)匹配,以及Web服務(wù)執(zhí)行控制等方面的內(nèi)容。
1.1 Web服務(wù)描述與匹配
Web服務(wù)是對(duì)一定的業(yè)務(wù)邏輯進(jìn)行封裝、完成一定功能的處理單元服務(wù)。在Web服務(wù)平臺(tái)上會(huì)出現(xiàn)一些異構(gòu)的平臺(tái),想要讓這些平臺(tái)上的服務(wù)來(lái)共同完成任務(wù),就需要各個(gè)服務(wù)之間進(jìn)行協(xié)作,以及服務(wù)信息進(jìn)行交換,服務(wù)提供者需要以標(biāo)準(zhǔn)的方式描述服務(wù)的多個(gè)側(cè)面信息:服務(wù)功能,服務(wù)性能(服務(wù)質(zhì)量),服務(wù)的語(yǔ)義和服務(wù)行為。
關(guān)于服務(wù)功能的描述語(yǔ)言,WSDL以一種實(shí)現(xiàn)語(yǔ)言無(wú)關(guān)的抽象方式將Web服務(wù)定義為一組服務(wù)訪問(wèn)點(diǎn),利用這些訪問(wèn)點(diǎn),應(yīng)用客戶端可以實(shí)現(xiàn)對(duì)服務(wù)的訪問(wèn)。WSDL支持SOAP/HTTP或MIME/SMTP等傳輸協(xié)議的綁定方式。
關(guān)于服務(wù)質(zhì)量的描述語(yǔ)言,雖然W3C于2003年提出了關(guān)于Web服務(wù)的QoS需求,但迄今為止,實(shí)際的標(biāo)準(zhǔn)并沒有出現(xiàn)。工業(yè)界和學(xué)術(shù)界的研究也在進(jìn)行中,HP公司提出的WSMF C Web Services Management Framework),IBM提出的W SLA語(yǔ)言 (Web Service Level Agreement language),WSOL(Web Services Offer Language),WS-Policy,D'Ambrogio提出的Q-WSDL CQoS-enabled WSDL) 以及胡建強(qiáng)提出的QWSDL(QoS-baseded WSDL)。
關(guān)于服務(wù)語(yǔ)義的描述語(yǔ)言,DAML-S, OWL和WSDL是近年來(lái)國(guó)際標(biāo)準(zhǔn)化組織提出的語(yǔ)義Web服務(wù)的描述規(guī)范。在學(xué)術(shù),界DAML-S語(yǔ)言獲得了大多數(shù)學(xué)者的認(rèn)可,DAML-S是由BBN、斯坦福大學(xué)、以及卡耐基梅隆大學(xué)等機(jī)構(gòu)在DAML+OIL基礎(chǔ)上進(jìn)行研究的,它是對(duì)Web服務(wù)的本體進(jìn)行定義。
1.2 服務(wù)發(fā)現(xiàn)與匹配機(jī)制
為了提高Web服務(wù)的利用率,降低開發(fā)成本,基于Web應(yīng)用的企業(yè)逐漸把已有的應(yīng)用包裝成Web服務(wù)的形式,提供給客戶。這些服務(wù)可能具有不同的功能,分布于不同的地點(diǎn),負(fù)責(zé)組合服務(wù)的客戶要能夠從其中找到想要的服務(wù),這就是Web服務(wù)發(fā)現(xiàn)。因?yàn)?,Web服務(wù)發(fā)現(xiàn)是服務(wù)組合中的一個(gè)重要技術(shù),它也是Web服務(wù)系統(tǒng)架構(gòu)中的一個(gè)重要組成部分。
1)基于關(guān)鍵詞的Web服務(wù)發(fā)現(xiàn)
在早期的研究中,主要是針對(duì)基于關(guān)鍵詞(keyword的Web服務(wù)發(fā)現(xiàn)與匹配方法,通過(guò)在服務(wù)查找中包含服務(wù)屬性的關(guān)鍵詞,與服務(wù)的描述進(jìn)行匹配來(lái)發(fā)現(xiàn)符合要求的服務(wù)。如UDDI C Universal Description, Discovery and Integration)就是把服務(wù)提供方發(fā)布的服務(wù)描述映射為UDDI數(shù)據(jù)模型后保存起來(lái),服務(wù)使用方以查詢關(guān)鍵詞的方式來(lái)獲取服務(wù)描述。但此種方式只能實(shí)現(xiàn)語(yǔ)法層次上的匹配,不能發(fā)現(xiàn)需要語(yǔ)義匹配的服務(wù),使得服務(wù)召回率很低。于是,出現(xiàn)了基于語(yǔ)義的服務(wù)發(fā)現(xiàn)方法。
2)基于語(yǔ)義的Web服務(wù)發(fā)現(xiàn)
基于語(yǔ)義的Web服務(wù)匹配可以通過(guò)兩種方法來(lái)實(shí)現(xiàn)。一種方法是通過(guò)本體概念之間的邏輯關(guān)系(等價(jià)、包含等)來(lái)實(shí)現(xiàn)服務(wù)匹配,主要應(yīng)用于單個(gè)本體環(huán)境;另一種方法則是以本體概念之間的相似性為基礎(chǔ),通過(guò)計(jì)算服務(wù)描述之間的相似性來(lái)實(shí)現(xiàn)。相對(duì)于第一種方法,后者多應(yīng)用于多本體環(huán)境。
3)基于網(wǎng)絡(luò)拓?fù)涞腤eb服務(wù)發(fā)現(xiàn)
Web服務(wù)發(fā)現(xiàn)系統(tǒng)是服務(wù)請(qǐng)求者和服務(wù)提供者聯(lián)系的紐帶,由一個(gè)或多個(gè)注冊(cè)節(jié)點(diǎn)連接成一定的系統(tǒng)拓?fù)鋪?lái)存儲(chǔ)和維護(hù)發(fā)布的服務(wù)描述信息。根據(jù)注冊(cè)節(jié)點(diǎn)的連接關(guān)系,Web服務(wù)發(fā)現(xiàn)系統(tǒng)可以分為集中式Web服務(wù)發(fā)現(xiàn)系統(tǒng)和分布式Web服務(wù)發(fā)現(xiàn)系統(tǒng)。由于集中式拓?fù)洌ㄈ鏤DDI存在可擴(kuò)展性差和單點(diǎn)失效的問(wèn)題,因此,構(gòu)造可擴(kuò)展和靈活的分布式系統(tǒng)是學(xué)術(shù)界普遍關(guān)注的熱點(diǎn)問(wèn)題。
1.3 服務(wù)的執(zhí)行控制模式
Web組合服務(wù)的執(zhí)行是按照預(yù)先定義好的順序調(diào)用組件服務(wù)的過(guò)程,這個(gè)過(guò)程的實(shí)現(xiàn)模式可分為集中(orchestration與點(diǎn)對(duì)點(diǎn)(choreograp)控制兩種。
1)集中控制
集中控制是通過(guò)集中的服務(wù)協(xié)同引擎的控制,參與服務(wù)組合的各成員服務(wù)實(shí)例之間實(shí)現(xiàn)的控制流和數(shù)據(jù)流傳輸。由集中的服務(wù)協(xié)同引擎負(fù)責(zé)每個(gè)成員服務(wù)的調(diào)用,在服務(wù)完成后,都會(huì)將執(zhí)行結(jié)果返回給服務(wù)協(xié)同引擎,接下來(lái)再由引擎決定下一個(gè)調(diào)用的服務(wù)。此外,服務(wù)協(xié)同引擎還負(fù)責(zé)與終端用戶交互、流程的監(jiān)控和異常處理等工作。
2)點(diǎn)對(duì)點(diǎn)控制
相對(duì)集中式的運(yùn)行模式而言,點(diǎn)對(duì)點(diǎn)的運(yùn)行模式可以有效地提高組合服務(wù)的運(yùn)行效率,同時(shí)也能較好地避開潛在的流程引擎瓶頸和可能存在的安全問(wèn)題。在點(diǎn)對(duì)點(diǎn)運(yùn)行模式下,流程的控制流與數(shù)據(jù)流可以在不流經(jīng)流程引擎的情況下,在成員服務(wù)間直接地傳遞。于是,點(diǎn)對(duì)點(diǎn)的控制模式要求每個(gè)服務(wù)節(jié)點(diǎn)都要有一個(gè)協(xié)調(diào)器,負(fù)責(zé)服務(wù)運(yùn)行前的初始化、運(yùn)行過(guò)程中消息的處理(如中止服務(wù)和向后續(xù)服務(wù)發(fā)送通知)和運(yùn)行完成后的收尾工作(如向后續(xù)服務(wù)發(fā)起調(diào)用、傳遞相關(guān)參數(shù))。
1.4 服務(wù)組合方法
目前針對(duì)服務(wù)組合問(wèn)題的研究已經(jīng)非常廣泛,廣義上可以分為靜態(tài)組合、半自動(dòng)組合和動(dòng)態(tài)組合。靜態(tài)服務(wù)組合,是指在設(shè)計(jì)或編譯階段,根據(jù)應(yīng)用需求列出所有功能,然后根據(jù)功能列表,按照一定的策略,從預(yù)先建立的服務(wù)組件庫(kù)中選擇出合適的服務(wù)組件來(lái)提供相應(yīng)的功能。由靜態(tài)服務(wù)組合產(chǎn)生的服務(wù),在提供給請(qǐng)求者后就不再變化。但Web服務(wù)的動(dòng)態(tài)性,其服務(wù)質(zhì)量或行為的變化,或服務(wù)與網(wǎng)絡(luò)連通性的變化,都會(huì)使組合服務(wù)的空間隨時(shí)發(fā)生變化。因此,靜態(tài)組合方式不能適應(yīng)Web服務(wù)的動(dòng)態(tài)性。半自動(dòng)組合方式能適應(yīng)部分的動(dòng)態(tài)性,它根據(jù)固定的過(guò)程或流程,自動(dòng)地從服務(wù)集合中選擇合適的服務(wù)來(lái)完成給定的目標(biāo)。流程的固定性和執(zhí)行流程中服務(wù)的可變化性體現(xiàn)了半自動(dòng)的特點(diǎn)。靜態(tài)與半自動(dòng)組合方式主要包括基于業(yè)務(wù)流程服務(wù)組合方法。而動(dòng)態(tài)組合方式能夠全面地適應(yīng)Web服務(wù)的動(dòng)態(tài)性,它根據(jù)系統(tǒng)運(yùn)行過(guò)程中的需求來(lái)自動(dòng)創(chuàng)建服務(wù)組合流程模型的過(guò)程。所以,動(dòng)態(tài)組合要能夠支持自動(dòng)發(fā)現(xiàn)、自動(dòng)選擇和自動(dòng)綁定Web服務(wù),展現(xiàn)出整個(gè)Web服務(wù)生命周期的動(dòng)態(tài)性。與靜態(tài)組合方式相比,動(dòng)態(tài)服務(wù)組合更能夠充分地利用網(wǎng)絡(luò)資源,實(shí)時(shí)地為服務(wù)請(qǐng)求者提供滿足其需求的Web服務(wù)。根據(jù)描述方法的不同,動(dòng)態(tài)組合又可以分為基于規(guī)劃和圖搜索的方法。
2 QoS感知的服務(wù)組合方法
基于QoS的服務(wù)選擇可以分為全局優(yōu)化策略局部?jī)?yōu)化策略。
首先是基于QoS的全局優(yōu)化策略,需要在滿足用戶提出的全局QoS約束條件下,考慮所有活動(dòng)的候選服務(wù)集,而且每個(gè)服務(wù)通常對(duì)應(yīng)著包含多屬性的QoS向量。所以,QoS感知的服務(wù)組合全局優(yōu)化策略求解是一個(gè)NP難題?;赒oS的全局優(yōu)化策略包括三種類型,它們是隨機(jī)演化策略、精確求解策略、以及啟發(fā)式方法?;赒oS的全局優(yōu)化策略在進(jìn)行計(jì)算時(shí)沒有很高的計(jì)算效率,在計(jì)算的過(guò)程中往往是通過(guò)脫機(jī)離線的方法才能進(jìn)行服務(wù)的計(jì)算。如果選擇精確求解策略進(jìn)行服務(wù)的計(jì)算時(shí),通常情況下要通過(guò)規(guī)劃工具包進(jìn)行合理的計(jì)算,并且基于QoS的的服務(wù)組合所具有的的規(guī)模大小,以及進(jìn)行備選的服務(wù)集合程度對(duì)計(jì)算的效率起著重要的作用。如果有數(shù)量巨大的動(dòng)態(tài)實(shí)時(shí)情景狀態(tài)下,eBhZQ22OHZ5nOSRIx9LeeQ==選擇精確求解策略進(jìn)行服務(wù)的計(jì)算效率不高。如果需要對(duì)不確定的目標(biāo)組合服務(wù)進(jìn)行計(jì)算時(shí),可以通過(guò)遺傳算法等方法進(jìn)行求解計(jì)算,但是通過(guò)這種方法的收斂速度通常情況下不是很高,它比較適用于具有較大規(guī)模的非線性組合優(yōu)化模型的離線計(jì)算。
啟發(fā)式方法是一個(gè)基于經(jīng)驗(yàn)構(gòu)造的算法,可使問(wèn)題在可接受的代價(jià)下得出可行解。但產(chǎn)生可行解的啟發(fā)式規(guī)則通常針對(duì)于具體問(wèn)題,不具有通用性。而且方法的求解效率、求得解與最優(yōu)解的偏離程度都依賴于該啟發(fā)式規(guī)則。Yu等人把問(wèn)題建模為MMKP問(wèn)題(multidimension multichoice 0-1 knapsack problem)和MCOPC multi-constraint optimal path problem)問(wèn)題,引入啟發(fā)式信息后可使問(wèn)題在多項(xiàng)式時(shí)間內(nèi)獲得近似最優(yōu)解。
其次是局部?jī)?yōu)化策略,它是根據(jù)活動(dòng)作為粒度進(jìn)行成員服務(wù)的選擇,一般情況下應(yīng)用的是多屬性決策(Multiple Criteria Decision Making, MCDM ) 方法,或者是通過(guò)對(duì)相似函數(shù)的情況進(jìn)行計(jì)算和整理來(lái)對(duì)候選服務(wù)進(jìn)行一定的序列排列,局部?jī)?yōu)化策略是有針對(duì)性的對(duì)每一個(gè)活動(dòng)進(jìn)行搜索服務(wù)集,為每一個(gè)活動(dòng)選擇一個(gè)最合算的服務(wù)組合方式。局部?jī)?yōu)化策略對(duì)各個(gè)活動(dòng)的選擇過(guò)程彼此獨(dú)立,局部最優(yōu)并不能保證全局最優(yōu)。所以,局部策略不能很好地解決針對(duì)組合服務(wù)的QoS約束問(wèn)題。
3 基于服務(wù)行為的替換技術(shù)
針對(duì)網(wǎng)絡(luò)上越來(lái)越多的Web服務(wù),通過(guò)組合方式實(shí)現(xiàn)服務(wù)增值一直是服務(wù)計(jì)算領(lǐng)域內(nèi)研究的一個(gè)重要方面,Web服務(wù)替換是與Web服務(wù)組合密切相關(guān)的一個(gè)問(wèn)題,“是一個(gè)硬幣的兩面”。在Web服務(wù)組合系統(tǒng)中,當(dāng)某個(gè)成員服務(wù)實(shí)例由于自身軟硬件故障或網(wǎng)絡(luò)威脅等原因,無(wú)法繼續(xù)提供服務(wù)時(shí),會(huì)導(dǎo)致整個(gè)組合服務(wù)無(wú)法正確執(zhí)行。此時(shí),需要選取新的服務(wù)來(lái)替換,而替換是否成功則取決于替換之后的組合服務(wù)是否仍是正確的。
(下轉(zhuǎn)第2794頁(yè))
(上接第2781頁(yè))
基于行為的服務(wù)組合正確性分析與驗(yàn)證,是目前研究的一個(gè)熱點(diǎn)問(wèn)題。服務(wù)組合的正確性可以通過(guò)分析參與組合的各成員服務(wù)間的相容性來(lái)進(jìn)行驗(yàn)證?,F(xiàn)有的一些描述服務(wù)組合流程的規(guī)范,如BPEL, BPEL4Chor, WSCI, WS-CDL等,都基于XML格式,復(fù)雜且缺乏對(duì)有效理論及分析方法的支持,不適用于服務(wù)行為的分析。而形式化方法,能夠去除復(fù)雜的干擾因素,通過(guò)抽象的模型來(lái)簡(jiǎn)化問(wèn)題,使關(guān)注點(diǎn)集中于問(wèn)題的本質(zhì),還可以結(jié)合其準(zhǔn)確的表述方式與強(qiáng)大的數(shù)學(xué)理論基礎(chǔ),能夠?qū)崿F(xiàn)對(duì)問(wèn)題的有效分析與驗(yàn)證。
對(duì)組合服務(wù)相容性的驗(yàn)證大多需要對(duì)整個(gè)組合服務(wù)的流程進(jìn)行分析,已有研究表明,Web服務(wù)組合驗(yàn)證所花費(fèi)的代價(jià)隨著參與組合的服務(wù)數(shù)量的增加而快速增長(zhǎng)。若替換頻繁發(fā)生,不斷重復(fù)的服務(wù)組合驗(yàn)證必然會(huì)影響系統(tǒng)的運(yùn)行效率。因此,服務(wù)替換須是上下文無(wú)關(guān)的,即在不需要驗(yàn)證組合服務(wù)流程的情況下就能判斷選取的服務(wù)是否能正確地替換。
4 小結(jié)
Web服務(wù)組合為商業(yè)流程的自動(dòng)化提供了有利的條件。該文分析了Web服務(wù)組合的相容性技術(shù),包括Web服務(wù)組合技術(shù)、QoS感知的服務(wù)組合方法、以及基于服務(wù)行為的替換技術(shù)。希望本文的研究能為Web服務(wù)組合的發(fā)展和進(jìn)步起到一定的推動(dòng)作用。
參考文獻(xiàn):
[1] 胡建強(qiáng),鄒鵬,王懷民,周斌.Web服務(wù)描述語(yǔ)言QWSDL和服務(wù)匹配模型研究[J].計(jì)算機(jī)學(xué)報(bào).2011, 28(4):505-513.
[2] 劉志忠,王懷民,郭艷玲.基于語(yǔ)義的服務(wù)發(fā)現(xiàn)技術(shù)研究綜述[J].計(jì)算機(jī)上程與科學(xué).2011,29(9):12-15,52.
[3] 劉必欣.動(dòng)態(tài)Web服務(wù)組合關(guān)鍵技術(shù)研究[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2011.
[4] 劉榮勝,黃邵,高春鳴.基于類型化Pi-演算的Web服務(wù)組合相容性檢測(cè)[J].計(jì)算機(jī)工程與應(yīng)用, 2007,43(7):120-124.
[5] 馮興智,姚學(xué)斌,吳泉源,等. 一種動(dòng)態(tài)服務(wù)組合中的相容性模型[J]. 計(jì)算機(jī)研究與發(fā)展, 2008,45(z1):426-432.
[6] 陳營(yíng),李緒蓉,謝強(qiáng).模型驅(qū)動(dòng)的Web服務(wù)組合的QoS屬性的研究[J]. 計(jì)算機(jī)與數(shù)字工程, 2013,41(1):76-78,100.
[7] 汪浩,黃明和,龍浩.基于G/G/1-FCFS、M/G/1-PS和M/G/∞排隊(duì)網(wǎng)絡(luò)的Web服務(wù)組合性能分析[J].計(jì)算機(jī)學(xué)報(bào), 2013,36(1):22-38.