吳敏敏
(莆田學(xué)院信息工程學(xué)院,福建莆田351100)
基于Petri網(wǎng)的語(yǔ)義Web服務(wù)組合方法
吳敏敏
(莆田學(xué)院信息工程學(xué)院,福建莆田351100)
Web服務(wù)的自動(dòng)組合是一個(gè)具有挑戰(zhàn)性的任務(wù),在于獨(dú)立開(kāi)發(fā)的Web服務(wù)相互組合不總是兼容的.為了解決Web服務(wù)之間的異質(zhì)性和提高Web服務(wù)組合的質(zhì)量,文中提出了一個(gè)基于語(yǔ)義Web服務(wù)組合的新途徑,它廣泛應(yīng)用Petri網(wǎng)和本體.文中構(gòu)建一個(gè)語(yǔ)義Web服務(wù)組合框架.首先,該框架中擴(kuò)展其本體內(nèi)知識(shí)領(lǐng)域.其次,建立了交互式Web服務(wù)的Petri網(wǎng)模型.在此基礎(chǔ)上,融合了調(diào)解算法來(lái)保證Web服務(wù)間的組合.最后,用一個(gè)具體實(shí)例驗(yàn)證Web服務(wù)組合的辦法是可行的.
Web服務(wù);語(yǔ)義;調(diào)解;Petri網(wǎng);本體
面向服務(wù)的架構(gòu)(SOA)是基于獨(dú)立的開(kāi)發(fā)平臺(tái)且在互聯(lián)網(wǎng)上提供Web服務(wù)發(fā)布的體系結(jié)構(gòu).Web服務(wù)是一個(gè)模塊化的軟件應(yīng)用程序,以提供獨(dú)特的功能或不同的應(yīng)用程序之間的互操作性[1].然而,一個(gè)單一的Web服務(wù)的功能是有限的,難以解決用戶的實(shí)際需求.因此,Web服務(wù)組合是目前一種有效的解決方案,將兩個(gè)或多個(gè)Web服務(wù)的功能組合為一個(gè)復(fù)合的服務(wù),滿足當(dāng)代用戶的需求.然而,Web服務(wù)組合的主要挑戰(zhàn)是不同的服務(wù)提供商開(kāi)發(fā)的個(gè)性化Web服務(wù)的自主性和異質(zhì)性.獨(dú)立開(kāi)發(fā)的Web服務(wù)并不總是相互完全兼容,因此不能直接組合在一起.考慮到在以往的研究中使用的調(diào)解,可作為一個(gè)主要的方式,實(shí)施Web服務(wù)組合的方法.本文提出了一個(gè)基于Petri網(wǎng)的語(yǔ)義Web服務(wù)組合的的框架,解決了Web服務(wù)的語(yǔ)義上下文的語(yǔ)義相似的物體識(shí)別和解決基于領(lǐng)域本體的原語(yǔ)差異.
以前的研究涵蓋了各個(gè)方面,如SOA的實(shí)施和測(cè)試,Web服務(wù)的普及和安全問(wèn)題.SOA的核心是實(shí)現(xiàn)Web服務(wù)間在網(wǎng)絡(luò)中提供機(jī)器對(duì)機(jī)器的互操作性,這樣的架構(gòu)提供了服務(wù)間通信與組合的標(biāo)準(zhǔn)協(xié)議[2].在大多數(shù)情況下,單獨(dú)的Web服務(wù)可能無(wú)法涵蓋整個(gè)業(yè)務(wù)流程.因此,構(gòu)成多個(gè)獨(dú)立的Web服務(wù)互操作,提供一個(gè)完整的業(yè)務(wù)能力是合理的[3].
Web服務(wù)的調(diào)解是使服務(wù)請(qǐng)求者無(wú)須考慮服務(wù)間的異質(zhì)性,以透明的方式連接到服務(wù)提供商提供相關(guān)的服務(wù)[4].由于早期的Web服務(wù)流語(yǔ)言(WSFL)和Web服務(wù)編排接口(WSCI)的不兼容.因此第二代Web服務(wù)業(yè)務(wù)流程執(zhí)行語(yǔ)言(BPEL4WS或BPEL)出現(xiàn)了.BPEL4WS或BPEL能在Web服務(wù)之間以標(biāo)準(zhǔn)化的交互方式實(shí)現(xiàn)得以組織,作為組合的結(jié)果返回一個(gè)調(diào)解的過(guò)程[5].
在最近的研究中,Dao[6]提供了一個(gè)基于語(yǔ)義的Web服務(wù)組合通用的框架,該框架包含翻譯器、過(guò)程生成器、過(guò)程評(píng)估,執(zhí)行引擎和Web服務(wù)庫(kù)等.所提出的方法實(shí)現(xiàn)Web服務(wù)組合中涉及服務(wù)組合模塊的生成與和基于語(yǔ)義Web服務(wù)庫(kù)的執(zhí)行兩個(gè)階段.
Stollberg[7]等人廣泛討論了異構(gòu)Web服務(wù)的語(yǔ)義互操作問(wèn)題.Stollberg提供了一個(gè)簡(jiǎn)單的調(diào)解.在系統(tǒng)用戶user和服務(wù)提供者service provider之間以消息交換進(jìn)行交互,用戶發(fā)送日期date類(lèi)型的消息,但服務(wù)提供者只接受路由route類(lèi)型的消息.在這種情況下,調(diào)解員為了接收到來(lái)自用戶的第一個(gè)消息而提供一種次序轉(zhuǎn)化模式,并直接將適當(dāng)?shù)拇涡蛑囟ㄏ虻椒?wù)提供者,如圖1所示.
圖1 簡(jiǎn)單的調(diào)解
為了解決Web服務(wù)組合過(guò)程中出現(xiàn)語(yǔ)義和功能錯(cuò)配的問(wèn)題,本文將結(jié)合Petri網(wǎng)和本體構(gòu)建一個(gè)基于Petri網(wǎng)的語(yǔ)義Web服務(wù)組合的框架.同時(shí)通過(guò)服務(wù)于旅客需求的旅行社、酒店的應(yīng)用場(chǎng)景作為案例,其中旅行社是機(jī)票預(yù)訂處理服務(wù),而酒店是客房預(yù)訂服務(wù).這兩個(gè)Web服務(wù)獨(dú)立開(kāi)發(fā),從而具有異構(gòu)接口.
2.1 語(yǔ)義Web服務(wù)組合框架和算法
從Web服務(wù)組合中語(yǔ)義和功能的異質(zhì)性角度考慮,建立一個(gè)具有調(diào)解能力的語(yǔ)義Web服務(wù)組合框架顯得尤其關(guān)鍵.該框架使用BPEL來(lái)描述Web服務(wù)流程,OWL-S為網(wǎng)絡(luò)服務(wù)的本體語(yǔ)言,通過(guò)網(wǎng)絡(luò)服務(wù)描述語(yǔ)言(WSDL)和可擴(kuò)展標(biāo)記語(yǔ)言(XML)來(lái)標(biāo)識(shí)其功能和語(yǔ)義的描述.同時(shí)考慮利用BPEL描述進(jìn)一步轉(zhuǎn)化成有色Petri網(wǎng)(Colored Petri Net,CPN)形式化模型框架,CPN描述Web服務(wù)的功能行為,表明其輸入和輸出,如圖2所示.
圖2 語(yǔ)義Web服務(wù)組合框架
該框架功能分為四個(gè)階段:起始、預(yù)調(diào)解、調(diào)解執(zhí)行和組合完成.
框架與服務(wù)請(qǐng)求者或用戶、服務(wù)提供者、各庫(kù)進(jìn)行外部溝通.調(diào)解執(zhí)行模塊調(diào)用兩個(gè)庫(kù)即語(yǔ)義數(shù)據(jù)映射庫(kù)和調(diào)解模式庫(kù).首先,使用領(lǐng)域本體存儲(chǔ)在語(yǔ)義數(shù)據(jù)映射本體庫(kù)中.在這個(gè)過(guò)程中,所涉及的Web服務(wù)輸入和輸出接口標(biāo)識(shí)上一個(gè)共享的本體庫(kù)中提供的語(yǔ)義表達(dá)和概念描述,這可以解決詞匯的差異造成語(yǔ)義不匹配問(wèn)題.其次,Web服務(wù)的兼容性檢查和預(yù)先定義的調(diào)解模式選擇用于調(diào)解輸入和輸出不兼容的Web服務(wù),其中調(diào)解模式存儲(chǔ)為有色Petri網(wǎng)(CPN)的知識(shí)庫(kù)中且存儲(chǔ)的常見(jiàn)類(lèi)型具備可靠性.本體庫(kù)將存儲(chǔ)領(lǐng)域內(nèi)本體指定數(shù)據(jù)映射中的對(duì)象.因此,這個(gè)階段將考慮語(yǔ)義數(shù)據(jù)映射和現(xiàn)有的調(diào)解模式,分析兼容性,并選擇適當(dāng)?shù)恼{(diào)解類(lèi)型.
此外,還需提供一個(gè)調(diào)解的算法,用于檢查的兼容性和選擇適當(dāng)?shù)恼{(diào)解模式.該算法檢查數(shù)據(jù)映射規(guī)則,選擇正確的調(diào)解模式.
Petri網(wǎng)是一個(gè)有向連通圖,其兩個(gè)結(jié)點(diǎn)分別稱為庫(kù)所和變遷,通過(guò)向弧連接各結(jié)點(diǎn).
定義1Petri網(wǎng)[8].N=(P,T,F(xiàn))稱為一個(gè)網(wǎng),當(dāng)且僅當(dāng)
本文通過(guò)研究越界人和野生動(dòng)物的速度與軌跡得出:越界人的行走方向一般是固定且有目的,這點(diǎn)在邊疆表現(xiàn)得尤為明顯。這與野生動(dòng)物無(wú)目的,軌跡曲折多變有著明顯的區(qū)別。在得到越界人與動(dòng)物的軌跡數(shù)據(jù)后,對(duì)數(shù)據(jù)進(jìn)行計(jì)算。規(guī)定矩形框的中心為運(yùn)動(dòng)目標(biāo)的質(zhì)心,(x,y)表示矩形框的中心坐標(biāo),(x1,y1)表示矩形框左下角頂點(diǎn)坐標(biāo),并用(x2,y2)代表矩形框右上角的頂點(diǎn)坐標(biāo),很顯然x=x1+(x2-x1)/2,y=y1+(y2-y1)/2。目標(biāo)的位移由目標(biāo)的運(yùn)動(dòng)軌跡計(jì)算得出,然后計(jì)算目標(biāo)在監(jiān)控中移動(dòng)的總路程(位移為目標(biāo)移動(dòng)的直線距離,路程為目標(biāo)從一個(gè)地點(diǎn)到另一個(gè)地點(diǎn)的總長(zhǎng)度)。
(1)P是一個(gè)有限庫(kù)所集,T是一個(gè)有限變遷集;
(2)P∪T≠Φ,P∩T≠Φ;
(3)F?(P×T)∪(T×P)是一個(gè)弧集.
定義2輸入集和輸出集.?i∈P∪T或o∈P∪T,i={o|(o,i)∈F}稱為i的輸入集;o={i|(i,o)∈F}稱為o的輸出集.
給定的算法檢查映射規(guī)則中的每一個(gè)元素,即所涉及的Web服務(wù)的相應(yīng)的輸入Target(Ii)和輸出Source(Oi).首先定義Source(Oi)作為輸出元素,Target(Ii)作為輸入元素.然后,檢查T(mén)arget(Ii)元素.若|Target(Ii)|=1意味著源Web服務(wù)輸出在目標(biāo)Web服務(wù)只有一個(gè)地方需要輸入.因此,該映射規(guī)則可以完全滿足的存儲(chǔ)和轉(zhuǎn)發(fā)調(diào)解模式1,直接連接輸入和輸出;若Source(Oi)和Target(Ii)語(yǔ)義不相同的情況下,則調(diào)解模式2被應(yīng)用.
然而,當(dāng)|Source(Oi)|或|Target(Ii)|大于1的情況,以上存儲(chǔ)和轉(zhuǎn)發(fā)調(diào)解模式就不能適用.若| Source(Oi)|大于1,就意味著源Web服務(wù)含有兩個(gè)或兩個(gè)以上輸出的信息,作為目標(biāo)Web服務(wù)只有一個(gè)輸入.此時(shí)應(yīng)考慮合并的調(diào)解方式以滿足這個(gè)映射規(guī)則,則選擇調(diào)解模式3;若Source(Oi)和Target (Ii)語(yǔ)義不相同的情況下,則調(diào)解模式4被應(yīng)用.
同樣,若|Target(Ii)|大于1,就意味著目標(biāo)Web服務(wù)含有兩個(gè)或兩個(gè)以上輸入的信息.在這種情況下,此時(shí)應(yīng)考慮分離的調(diào)解以滿足這個(gè)映射規(guī)則,則選擇調(diào)解模式5;若Source(Oi)和Target(Ii)語(yǔ)義不相同的情況下,則調(diào)解模式6被應(yīng)用,如圖3所示.預(yù)定義的調(diào)解模式的Petri網(wǎng)模型存儲(chǔ)在調(diào)解庫(kù)中.
圖3 調(diào)解庫(kù)的調(diào)解模式
2.2 旅行本體
在現(xiàn)有Web服務(wù)組合方法的一個(gè)顯著的局限性是所涉及服務(wù)間的兼容性需要通過(guò)人工分析,這種規(guī)范已經(jīng)超出了人的能力范圍.為了解決這個(gè)問(wèn)題,需要在語(yǔ)義上豐富映射規(guī)則.以旅行社為例,文中擴(kuò)展由Park[9]提出的旅游域的本體以解決研究中的語(yǔ)義問(wèn)題,主要通過(guò)縮短其結(jié)構(gòu)并增加了幾個(gè)新的概念,明確地定義旅行和旅行活動(dòng)相關(guān)的概念及Web本體語(yǔ)言(OWL)和資源描述框架(RDF)提及的屬性.這樣,旅行域本體中涉及了10個(gè)主要概念和48個(gè)子概念,本體抽象視圖如圖4所示.在注釋過(guò)程中,各個(gè)Web服務(wù)所有的輸入和輸出信息將使用本體論的概念描述,構(gòu)建新的語(yǔ)義映射規(guī)則.這將使之能夠自動(dòng)地檢查Web服務(wù)組合的兼容性,反而構(gòu)建調(diào)解作用.
圖4 旅行域本體
2.3 調(diào)解
調(diào)解的目的是將兩個(gè)Web服務(wù)組成一個(gè)復(fù)合服務(wù)以滿足用戶的需要.文中以旅行社Travel Agent、酒店Hotel Reservation的應(yīng)用場(chǎng)景所涉及的Web服務(wù)間消息相互作用來(lái)進(jìn)一步闡述.對(duì)于旅行社代理服務(wù)而言,首先,該服務(wù)通過(guò)發(fā)送消息預(yù)定申請(qǐng)reservationreq調(diào)用Hotel Reservation服務(wù);其次,酒店在收到有效消息availability confirmation確定后,獲取預(yù)定消息gethotelreservation過(guò)程,并立即響應(yīng)Arrival Date,DepartureDate和Roomtype等消息;最后,旅行社代理收到預(yù)定消息ReservationID,并發(fā)送消息UserID.另一方面,酒店預(yù)訂也是由reservationreq消息啟動(dòng),并通過(guò)發(fā)送availabilityconfirmation和reserva-tionid消息來(lái)調(diào)用Travel Agent;然后,旅行社代理服務(wù)接收到CheckinDate、CheckoutDate、RoomType和CustomerID等消息.最后,它發(fā)出確認(rèn)信息Confirmation從而完成預(yù)定安排,Web服務(wù)的Petri網(wǎng)模型如圖5所示.
圖5 旅行社、酒店Web服務(wù)的Petri網(wǎng)模型
以上Web服務(wù)的輸入和輸出存在若干不匹配,兩個(gè)Web服務(wù)來(lái)自不同的供應(yīng)商,他們使用不同的術(shù)語(yǔ)和數(shù)據(jù)格式指定語(yǔ)義相似的對(duì)象,這使得服務(wù)的彼此接口不兼容,如圖6所示.旅行社Web服務(wù)發(fā)送reservationreq,ArrivalDate,DepartureDate,Roomtype和UserID,而酒店預(yù)訂Web服務(wù)則接收reservationreq,CheckinDate、CheckoutDate、RoomType和CustomerID.反之,酒店預(yù)訂Web服務(wù)發(fā)送Availability-Confirmation、ReservationID和ReservationConfirmation,而旅行社Web服務(wù)則接受AvailabilityConfirmation和ReservationID.
圖6 涉及Web服務(wù)的接口不匹配
因此,確立通過(guò)領(lǐng)域本體及映射規(guī)則來(lái)解決這些問(wèn)題,其中調(diào)解的必要性是將Web服務(wù)的信息轉(zhuǎn)換為另一Web服務(wù)所需的格式.否則,Web服務(wù)間存在二義性和模糊性,Web服務(wù)之間不兼容導(dǎo)致無(wú)法組合.傳統(tǒng)的解決是手動(dòng)映射Web服務(wù)的輸入和輸出.然而,這種方法將限制選定的Web服務(wù)組合的能力與效率,無(wú)法實(shí)現(xiàn)半自動(dòng)化或自動(dòng)化.相比之下,文中提出了依托于領(lǐng)域本體庫(kù)和調(diào)解庫(kù)構(gòu)建的更廣泛的系統(tǒng)框架.當(dāng)然,這種框架也允許使用較少的手工工作.然而,多數(shù)的情況下,Web服務(wù)所相應(yīng)的輸入和輸出的調(diào)解應(yīng)建模為映射規(guī)則.Web服務(wù)涉及M個(gè)輸入為{I1,I2,…,Im},生成N個(gè)輸出為{O1,O2,…,On}.因此,Web服務(wù)存在N個(gè)映射規(guī)則來(lái)表示相對(duì)的輸入和輸出,例I1&I2&…&Im→O1.每個(gè)映射規(guī)則與關(guān)聯(lián)的域本體的語(yǔ)義概念相關(guān).通過(guò)這種方式,注釋W(xué)eb服務(wù)中所有輸入和輸出的本體的語(yǔ)義不匹配.
在旅行社Travel Agent和酒店Hotel Reservation服務(wù)的案例中,應(yīng)用上述研究的基礎(chǔ)上,實(shí)現(xiàn)Web服務(wù)組合的調(diào)解.其中P5和P10滿足Source(Oi)=Target(Ii)且|Target(Ii)|=1,酒店預(yù)訂的輸入和旅行社輸出信息一致,兩者通過(guò)reservationreq交換消息.因此,使用存儲(chǔ)/轉(zhuǎn)發(fā)模式來(lái)調(diào)解,調(diào)用庫(kù)里的模式1;P6、P8和P11滿意Source(Oi)=Target(Ii)且|Target(Ii)|>1,酒店預(yù)訂通過(guò)availabilityconfirmation和reservationid來(lái)響應(yīng),而旅行社只等待availabilityconfirmation確定消息發(fā)送P6,reservationid消息直到被P8請(qǐng)求發(fā)送.因此,它們使用分離模式來(lái)調(diào)解,調(diào)用庫(kù)里的模式5;最后,P7,P9和P12滿足Source (Oi)!=Target(Ii)且|Source(Oi)|>1,輸入和輸出消息在語(yǔ)義上彼此不匹配.P12接收含有checkindate、checkoutdate、RoomType和CustomerID消息來(lái)確認(rèn)安排與預(yù)訂.P7回復(fù)ArrivalDate、DepartureDate和RoomType等消息.此外,P9回復(fù)UserID消息.在這種情況下,語(yǔ)義上出現(xiàn)沖突,則使用域本體來(lái)數(shù)據(jù)映射來(lái)解決,其中checkindate對(duì)應(yīng)ArrivalDate,checkoutdate對(duì)應(yīng)DepartureDate,CustomerID對(duì)應(yīng)UserID.將P7和P9合并后重定向P12,從而完成預(yù)定確定消息reservationconfirmation.因此,它們使用合并模式來(lái)調(diào)解,調(diào)用庫(kù)里的模式4,如圖7所示.
圖7 旅行社代理、酒店預(yù)訂Web服務(wù)的Petri網(wǎng)模型調(diào)解
在本文中,構(gòu)建一個(gè)基于Petri網(wǎng)和本體調(diào)解功能的語(yǔ)義組合框架.該框架明確設(shè)計(jì)Web服務(wù)和本體之間的相互作用的Petri網(wǎng)模型.此外,Web服務(wù)的接口是使用領(lǐng)域本體進(jìn)行語(yǔ)義調(diào)解自動(dòng)匹配.未來(lái)的工作包括在調(diào)解方面應(yīng)考慮到服務(wù)質(zhì)量的可靠性和安全性.例如加強(qiáng)Web服務(wù)的安全弱點(diǎn)和Web服務(wù)的入侵防御性,為Web服務(wù)組合提供安全體系結(jié)構(gòu).
[1]Chen Zhihui.Formal Analysis and Verification of Web Service Compositions with Timing Constraints[J].International Jourinal of Ad-vancements in Computing Technology,2012,4(17):426-434.
[2]P.Kalamegan,Z.Godandapani.A Survey on Testing SOA Built using Web Services[J].International Journal of Software Engineering and Its Applications,2012,6(4):91-104.
[3]S.Sultana,S.Ahamed.Ubiquitous Secretary:A Ubiquitous Computing Application Based on Web Services Architecture[J].International Journal of Multimedia and Ubiquitous Engineering,2009,4(4):53-70.
[4]Q.Yu,X.Liu,B.Medjahed.Deploying and Managing Web Services:Issues,Solutions and Directions[J].International Journal on Very Large Data Bases,2008,17(5):537-572.
[5]陳志輝,吳敏敏.時(shí)間約束條件下Web服務(wù)組合的形式化分析與驗(yàn)證[J].貴州大學(xué)學(xué)報(bào),2015,32(5):69-75.
[6]C.Dao,C.Xu,C.Chunlai.Semantic and Rules Based Upon Mediator Dynamic Web Service Composition in Logistics Information Application[J].International Journal on Management of Innovation and Technology,2008,6(1):532-536.
[7]M.Stollberg,E.Cimpian,A.Mocan D.Fensel.A Semantic Web Mediation Architecture[R].Canada:In Proceedings of the 1st Canadian Semantic Web Working Symposium,2006.
[8]吳虹越,杜玉越.一種基于邏輯Petri網(wǎng)的Web服務(wù)簇組合方法[J].計(jì)算機(jī)學(xué)報(bào),2015,38(1):204-218.
[9]H.Park,A.Yoon,H.Kwon.Task Model and task Ontology for Intelligent Tourist Information Service[J].International Journal of uand e-Service and Technology,2012,5(2):101-109.
A Semantic Web Service Composition Method Based on Petri Net
WU Min-min
(School of Information Engineering,Putian University,Putian,351100,China)
Automatic composition of web services is a challenging task as independently developed web services are not always compatible with each other.In order to resolve the heterogeneity between web services and improve the quality of web service composition,this paper proposes a new approach based on semantics for web service composition,which widely deploys Petri net and ontology.This paper proposes a framework for semantic web service composition.First,the framework extends ontology representing domain knowledge.Secondly,it builds Petri net model of interactions between web services.On this basis,it combines the mediation algorithm to ensure the combination of web services.Finally,it is feasible to use a specific example to verify the web service composition.
web service;semantics;mediation;Petri net;ontology
TP311
A
1672-2590(2016)03-0060-07
2016-04-08
福建省中青年教師教育科研項(xiàng)目(A類(lèi))(JA14279);莆田學(xué)院教育教學(xué)改革研究項(xiàng)目(JG2012006)
吳敏敏(1978-),女,福建莆田人,莆田學(xué)院信息工程學(xué)院講師.