文/黃余 朱秀娟
Web服務(wù)組合方法
文/黃余 朱秀娟
本文通過(guò)對(duì)Web服務(wù)組合的定義介紹,歸納介紹了目前主流的語(yǔ)義Web服務(wù)服務(wù)組合、BPEL的Web服務(wù)組合方法、于Petri網(wǎng)的Web服務(wù)組合方法以及基于Qos的Web服務(wù)組合方法進(jìn)行了介紹四種常用的組合方法。為Web服務(wù)組合研究,提供一個(gè)小小的歸納,明確其研究關(guān)鍵點(diǎn)。
Web服務(wù)組合 方法研究
隨著對(duì)Web服務(wù)的業(yè)務(wù)能力要求的逐漸提高,Web服務(wù)組合理論應(yīng)運(yùn)產(chǎn)生。基于XML的Web服務(wù)技術(shù)迅速發(fā)展,為互聯(lián)網(wǎng)應(yīng)用提供了一種共享數(shù)據(jù)的有效手段。Web服務(wù)的高效執(zhí)行方式,Web服務(wù)與其他成熟技術(shù)的有機(jī)結(jié)合以及Web服務(wù)的組合是解決現(xiàn)實(shí)應(yīng)用問(wèn)題的重要技術(shù)。下面我們將對(duì)目前常用的Web服務(wù)組合方法進(jìn)行分類并其對(duì)流程以及特點(diǎn)介紹,以發(fā)現(xiàn)目前Web組合方法的研究關(guān)鍵點(diǎn)及不足之處。
BPE是一種基于業(yè)務(wù)執(zhí)行流程,使用XML編寫(xiě)的編程語(yǔ)言,是自動(dòng)化業(yè)務(wù)流程的形式規(guī)約語(yǔ)言,在Web服務(wù)自動(dòng)化業(yè)務(wù)流程中被廣泛應(yīng)用。
主要采用的為業(yè)務(wù)流程進(jìn)行的編制和為業(yè)務(wù)協(xié)作的編排兩種服務(wù)組合方式,這兩個(gè)描述方法都被BPEL所支持,這樣既可編寫(xiě)有可執(zhí)行服務(wù)組合過(guò)程和定義服務(wù)協(xié)議。通過(guò)BPEL流程,用于表述特定業(yè)務(wù)的處理邏輯關(guān)系和算法,以支持面向過(guò)程的Web服務(wù)組合的方法。通過(guò)把現(xiàn)有的服務(wù)進(jìn)行組合,形成一個(gè)新的服務(wù),服務(wù)就成為了一個(gè)過(guò)程,而參與這個(gè)過(guò)程組合的稱為參與者,消息的交換的行為稱為活動(dòng),參與者則通過(guò)WSDL進(jìn)行相互活動(dòng)。
語(yǔ)義Web服務(wù)是為了計(jì)算機(jī)能過(guò)理解Web服務(wù)采用的一種方法描述的,目的是讓W(xué)eb服務(wù)成為計(jì)算機(jī)能夠理解的實(shí)體,使Web服務(wù)能以開(kāi)放的方式為應(yīng)用程序提供服務(wù)。語(yǔ)義Web服務(wù)是由Web服務(wù)組合和語(yǔ)義Web組合而成,是能被本計(jì)算機(jī)理解和解釋的一種服務(wù)信息。隨著動(dòng)態(tài)Web技術(shù)的普及,基于語(yǔ)義Web服務(wù)將大大增強(qiáng)其交互的處理能力,增強(qiáng)其Web上資源的管理效率。
語(yǔ)義Web服務(wù)將Web服務(wù)技術(shù)與語(yǔ)義Web的思想結(jié)合在一起,把服務(wù)賦予了語(yǔ)義的靈魂,語(yǔ)義為Web服務(wù)的描述加入了足夠的信息,使Web服務(wù)成為能夠被計(jì)算機(jī)實(shí)體。進(jìn)而使Web服務(wù)能過(guò)實(shí)現(xiàn)自動(dòng)化和智能化,是Web服務(wù)自動(dòng)組合的必要基礎(chǔ)。由于語(yǔ)義Web服務(wù)擁有足夠的語(yǔ)義信息并且它還具備高度可集成和松散耦合的能力,服務(wù)中資源能過(guò)被自動(dòng)的發(fā)現(xiàn)、組合。語(yǔ)義Web服務(wù)可以通過(guò)關(guān)鍵字和內(nèi)容獲得資源,WSMO、OWL-S、SAWSDL等較為成熟的語(yǔ)義Web服務(wù)描述語(yǔ)言做為服務(wù)的本體,自動(dòng)的去調(diào)用、發(fā)現(xiàn)、組合、檢測(cè)服務(wù)。利用語(yǔ)義推理技術(shù),在語(yǔ)義Web服務(wù)的本體語(yǔ)言提供靜態(tài)只是和Web服務(wù)能力支持下,查找出限定調(diào)下滿足需求的服務(wù)候選集,并將它們組合起來(lái),形成新的功能更強(qiáng)大的服務(wù)。
由于Petri網(wǎng)能夠表達(dá)并發(fā)的事件,被認(rèn)為是自動(dòng)化理論的一種,被稱為Petri網(wǎng)是所有流程定義語(yǔ)言之母。Petri網(wǎng)是簡(jiǎn)單的過(guò)程模型,由兩種節(jié)點(diǎn):庫(kù)所和變遷,有向弧,以及令牌等元素組成的。 庫(kù)所(Place)圓形節(jié)點(diǎn);變遷(Transition)方形節(jié)點(diǎn);有向?。–onnection)是庫(kù)所和變遷之間的有向??;令牌(Token)是庫(kù)所中的動(dòng)態(tài)對(duì)象,可以從一個(gè)庫(kù)所移動(dòng)到另一個(gè)庫(kù)所,它們之間的活動(dòng)由一定的規(guī)則加以限制。通過(guò)對(duì)Petri網(wǎng)分析我們發(fā)現(xiàn)與Web服務(wù)組合的圖形非常相似,我們嘗試把一個(gè)Web服務(wù)組合狀態(tài)圖映射為Petri網(wǎng),進(jìn)而求解。
Web服務(wù)組合使用業(yè)務(wù)過(guò)程語(yǔ)言和編程語(yǔ)言構(gòu)造,跨域工作需通過(guò)工作流模型進(jìn)行,該模型應(yīng)具備成熟性、易用性等特點(diǎn)。我們把Web服務(wù)組合狀態(tài)圖映射為Petri網(wǎng),一個(gè)變遷由Web服務(wù)操作表示,并且有三個(gè)端口:輸入庫(kù)、所和輸出庫(kù)所、控制庫(kù)所,消息表示為令牌,服務(wù)動(dòng)態(tài)組合時(shí)一個(gè)操作的效應(yīng)/前提就是一個(gè)任務(wù)的效應(yīng)/前提。為Web服務(wù)組合建立一個(gè)直觀的,圖形化的工具的分析模型。
以上三種是比較傳統(tǒng)的Web服務(wù)組合的研究方法,它們間相互交叉。這些方法主要是側(cè)重于Web服務(wù)組標(biāo)準(zhǔn)方面的功能屬性。而對(duì)價(jià)格、可靠性、執(zhí)行時(shí)間等用戶所最關(guān)心的非功能屬性研究QoS存在不足。
非功能的Qos屬性是保障Web服務(wù),系統(tǒng)運(yùn)營(yíng)成功和客戶服務(wù)選擇的重要依據(jù)。因此我們?cè)赪eb服務(wù)組合過(guò)程中我們通常把Qos作為組合選擇的一個(gè)標(biāo)準(zhǔn)。然而不同Web服務(wù)確定不同的Qos,如何從眾多的服務(wù)候選集中選擇出客戶需要的Web服務(wù)最優(yōu)解并把它組合起來(lái),因此我們就需要采用基于Qos選擇相同的服務(wù)。
Qos做為Web服務(wù)組合的一種限制條件,根據(jù)使用者對(duì)Qos做出的限制條件,選擇出適合的服務(wù)組合,產(chǎn)生的服務(wù)組合最終必須滿足使用者的一切Qos限制條件。那么基于Qos的服務(wù)器組合選擇就應(yīng)該對(duì)具有相同功能的Web服務(wù)進(jìn)行組合選擇。通常情況下我們需把基于Qos的服務(wù)器組合問(wèn)題轉(zhuǎn)化為數(shù)學(xué)問(wèn)題,目前比較流行的是多屬性決策問(wèn)題、帶QoS約束的單目標(biāo)組合優(yōu)化問(wèn)題、多選擇背包問(wèn)題、以及整數(shù)、線性規(guī)劃問(wèn)題這五種方式。
基于QOS的Web的服務(wù)選擇其核心就是一個(gè)優(yōu)化組合問(wèn)題,常用的策略方法有以下三種:全局最優(yōu)策略、局部最優(yōu)策略、混合策略。全局最優(yōu)策略關(guān)注于在全部的服務(wù)器組合方案中確定出最優(yōu)的方案,找出全局的最優(yōu)QOS值,這個(gè)方法雖然得到了全局最優(yōu)解,但缺點(diǎn)是算法復(fù)雜、資源浪費(fèi)。局部最優(yōu)致力于對(duì)單個(gè)抽象服務(wù)的組合方案,為每個(gè)抽象服務(wù)選擇出Qos值得最優(yōu)候選服務(wù)方案,再根據(jù)Qos限制的條件將這些Qos值取加權(quán)值,在把這些方案組合起來(lái),使之成為一個(gè)整體。但由于這些服務(wù)相互間存在著不同的抽象聯(lián)系,實(shí)際上并是是一個(gè)真正的整體,所以該方法得到的解往往是局部最優(yōu),而不是整體最優(yōu)解。混合組合策略是把全局最優(yōu)策略和全局策略結(jié)合起來(lái)交叉使用。具體方法是,現(xiàn)將每個(gè)抽象服務(wù)的候選策略通過(guò)局部最優(yōu)策略過(guò)濾掉,而后在對(duì)剩余服務(wù)應(yīng)用全局最優(yōu)策略。該方法既然可以得到全局最優(yōu)解,既節(jié)約了時(shí)間,又大大減少了系統(tǒng)資源的使用。因此我們把混合組合策略作為我們QOS的Web的服務(wù)選擇最常用策略。
本文從Web服務(wù)組合方法、流程以及特點(diǎn)進(jìn)行了介紹,發(fā)現(xiàn)服務(wù)的自動(dòng)、高效的組合,就需解決服務(wù)冗余問(wèn)題和簡(jiǎn)單組合問(wèn)題,使服務(wù)得到增值。其根本就是實(shí)現(xiàn)Web服務(wù)的重用,避免資源浪費(fèi)問(wèn)題,而目前在兩個(gè)層面基礎(chǔ)問(wèn)題需要解決:
不論什么語(yǔ)義系統(tǒng)都缺乏統(tǒng)一、良好的語(yǔ)言規(guī)范,對(duì)跨組織實(shí)現(xiàn)缺乏基礎(chǔ)支持;
缺乏完善的評(píng)價(jià)模型。
[1]倪晚成,劉連臣.Web服務(wù)組合方法綜述[J].計(jì)算機(jī)工程,2008,34(04):79.81.
作者單位 宜賓職業(yè)技術(shù)學(xué)院 四川省宜賓市 644003
黃余(1981-),男,四川省內(nèi)江市人。碩士學(xué)位。講師。主要研究方向?yàn)樯窠?jīng)網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò)。朱秀娟,女,碩士學(xué)位。實(shí)驗(yàn)師。主要研究方向?yàn)樯窠?jīng)網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò)。