吳敏敏
(莆田學(xué)院信息工程學(xué)院,福建莆田351100)
基于Petri網(wǎng)的語義Web服務(wù)組合方法
吳敏敏
(莆田學(xué)院信息工程學(xué)院,福建莆田351100)
Web服務(wù)的自動組合是一個具有挑戰(zhàn)性的任務(wù),在于獨(dú)立開發(fā)的Web服務(wù)相互組合不總是兼容的.為了解決Web服務(wù)之間的異質(zhì)性和提高Web服務(wù)組合的質(zhì)量,文中提出了一個基于語義Web服務(wù)組合的新途徑,它廣泛應(yīng)用Petri網(wǎng)和本體.文中構(gòu)建一個語義Web服務(wù)組合框架.首先,該框架中擴(kuò)展其本體內(nèi)知識領(lǐng)域.其次,建立了交互式Web服務(wù)的Petri網(wǎng)模型.在此基礎(chǔ)上,融合了調(diào)解算法來保證Web服務(wù)間的組合.最后,用一個具體實(shí)例驗(yàn)證Web服務(wù)組合的辦法是可行的.
Web服務(wù);語義;調(diào)解;Petri網(wǎng);本體
面向服務(wù)的架構(gòu)(SOA)是基于獨(dú)立的開發(fā)平臺且在互聯(lián)網(wǎng)上提供Web服務(wù)發(fā)布的體系結(jié)構(gòu).Web服務(wù)是一個模塊化的軟件應(yīng)用程序,以提供獨(dú)特的功能或不同的應(yīng)用程序之間的互操作性[1].然而,一個單一的Web服務(wù)的功能是有限的,難以解決用戶的實(shí)際需求.因此,Web服務(wù)組合是目前一種有效的解決方案,將兩個或多個Web服務(wù)的功能組合為一個復(fù)合的服務(wù),滿足當(dāng)代用戶的需求.然而,Web服務(wù)組合的主要挑戰(zhàn)是不同的服務(wù)提供商開發(fā)的個性化Web服務(wù)的自主性和異質(zhì)性.獨(dú)立開發(fā)的Web服務(wù)并不總是相互完全兼容,因此不能直接組合在一起.考慮到在以往的研究中使用的調(diào)解,可作為一個主要的方式,實(shí)施Web服務(wù)組合的方法.本文提出了一個基于Petri網(wǎng)的語義Web服務(wù)組合的的框架,解決了Web服務(wù)的語義上下文的語義相似的物體識別和解決基于領(lǐng)域本體的原語差異.
以前的研究涵蓋了各個方面,如SOA的實(shí)施和測試,Web服務(wù)的普及和安全問題.SOA的核心是實(shí)現(xiàn)Web服務(wù)間在網(wǎng)絡(luò)中提供機(jī)器對機(jī)器的互操作性,這樣的架構(gòu)提供了服務(wù)間通信與組合的標(biāo)準(zhǔn)協(xié)議[2].在大多數(shù)情況下,單獨(dú)的Web服務(wù)可能無法涵蓋整個業(yè)務(wù)流程.因此,構(gòu)成多個獨(dú)立的Web服務(wù)互操作,提供一個完整的業(yè)務(wù)能力是合理的[3].
Web服務(wù)的調(diào)解是使服務(wù)請求者無須考慮服務(wù)間的異質(zhì)性,以透明的方式連接到服務(wù)提供商提供相關(guān)的服務(wù)[4].由于早期的Web服務(wù)流語言(WSFL)和Web服務(wù)編排接口(WSCI)的不兼容.因此第二代Web服務(wù)業(yè)務(wù)流程執(zhí)行語言(BPEL4WS或BPEL)出現(xiàn)了.BPEL4WS或BPEL能在Web服務(wù)之間以標(biāo)準(zhǔn)化的交互方式實(shí)現(xiàn)得以組織,作為組合的結(jié)果返回一個調(diào)解的過程[5].
在最近的研究中,Dao[6]提供了一個基于語義的Web服務(wù)組合通用的框架,該框架包含翻譯器、過程生成器、過程評估,執(zhí)行引擎和Web服務(wù)庫等.所提出的方法實(shí)現(xiàn)Web服務(wù)組合中涉及服務(wù)組合模塊的生成與和基于語義Web服務(wù)庫的執(zhí)行兩個階段.
Stollberg[7]等人廣泛討論了異構(gòu)Web服務(wù)的語義互操作問題.Stollberg提供了一個簡單的調(diào)解.在系統(tǒng)用戶user和服務(wù)提供者service provider之間以消息交換進(jìn)行交互,用戶發(fā)送日期date類型的消息,但服務(wù)提供者只接受路由route類型的消息.在這種情況下,調(diào)解員為了接收到來自用戶的第一個消息而提供一種次序轉(zhuǎn)化模式,并直接將適當(dāng)?shù)拇涡蛑囟ㄏ虻椒?wù)提供者,如圖1所示.
圖1 簡單的調(diào)解
為了解決Web服務(wù)組合過程中出現(xiàn)語義和功能錯配的問題,本文將結(jié)合Petri網(wǎng)和本體構(gòu)建一個基于Petri網(wǎng)的語義Web服務(wù)組合的框架.同時通過服務(wù)于旅客需求的旅行社、酒店的應(yīng)用場景作為案例,其中旅行社是機(jī)票預(yù)訂處理服務(wù),而酒店是客房預(yù)訂服務(wù).這兩個Web服務(wù)獨(dú)立開發(fā),從而具有異構(gòu)接口.
2.1 語義Web服務(wù)組合框架和算法
從Web服務(wù)組合中語義和功能的異質(zhì)性角度考慮,建立一個具有調(diào)解能力的語義Web服務(wù)組合框架顯得尤其關(guān)鍵.該框架使用BPEL來描述Web服務(wù)流程,OWL-S為網(wǎng)絡(luò)服務(wù)的本體語言,通過網(wǎng)絡(luò)服務(wù)描述語言(WSDL)和可擴(kuò)展標(biāo)記語言(XML)來標(biāo)識其功能和語義的描述.同時考慮利用BPEL描述進(jìn)一步轉(zhuǎn)化成有色Petri網(wǎng)(Colored Petri Net,CPN)形式化模型框架,CPN描述Web服務(wù)的功能行為,表明其輸入和輸出,如圖2所示.
圖2 語義Web服務(wù)組合框架
該框架功能分為四個階段:起始、預(yù)調(diào)解、調(diào)解執(zhí)行和組合完成.
框架與服務(wù)請求者或用戶、服務(wù)提供者、各庫進(jìn)行外部溝通.調(diào)解執(zhí)行模塊調(diào)用兩個庫即語義數(shù)據(jù)映射庫和調(diào)解模式庫.首先,使用領(lǐng)域本體存儲在語義數(shù)據(jù)映射本體庫中.在這個過程中,所涉及的Web服務(wù)輸入和輸出接口標(biāo)識上一個共享的本體庫中提供的語義表達(dá)和概念描述,這可以解決詞匯的差異造成語義不匹配問題.其次,Web服務(wù)的兼容性檢查和預(yù)先定義的調(diào)解模式選擇用于調(diào)解輸入和輸出不兼容的Web服務(wù),其中調(diào)解模式存儲為有色Petri網(wǎng)(CPN)的知識庫中且存儲的常見類型具備可靠性.本體庫將存儲領(lǐng)域內(nèi)本體指定數(shù)據(jù)映射中的對象.因此,這個階段將考慮語義數(shù)據(jù)映射和現(xiàn)有的調(diào)解模式,分析兼容性,并選擇適當(dāng)?shù)恼{(diào)解類型.
此外,還需提供一個調(diào)解的算法,用于檢查的兼容性和選擇適當(dāng)?shù)恼{(diào)解模式.該算法檢查數(shù)據(jù)映射規(guī)則,選擇正確的調(diào)解模式.
Petri網(wǎng)是一個有向連通圖,其兩個結(jié)點(diǎn)分別稱為庫所和變遷,通過向弧連接各結(jié)點(diǎn).
定義1Petri網(wǎng)[8].N=(P,T,F(xiàn))稱為一個網(wǎng),當(dāng)且僅當(dāng)
本文通過研究越界人和野生動物的速度與軌跡得出:越界人的行走方向一般是固定且有目的,這點(diǎn)在邊疆表現(xiàn)得尤為明顯。這與野生動物無目的,軌跡曲折多變有著明顯的區(qū)別。在得到越界人與動物的軌跡數(shù)據(jù)后,對數(shù)據(jù)進(jìn)行計算。規(guī)定矩形框的中心為運(yùn)動目標(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)動軌跡計算得出,然后計算目標(biāo)在監(jiān)控中移動的總路程(位移為目標(biāo)移動的直線距離,路程為目標(biāo)從一個地點(diǎn)到另一個地點(diǎn)的總長度)。
(1)P是一個有限庫所集,T是一個有限變遷集;
(2)P∪T≠Φ,P∩T≠Φ;
(3)F?(P×T)∪(T×P)是一個弧集.
定義2輸入集和輸出集.?i∈P∪T或o∈P∪T,i={o|(o,i)∈F}稱為i的輸入集;o={i|(i,o)∈F}稱為o的輸出集.
給定的算法檢查映射規(guī)則中的每一個元素,即所涉及的Web服務(wù)的相應(yīng)的輸入Target(Ii)和輸出Source(Oi).首先定義Source(Oi)作為輸出元素,Target(Ii)作為輸入元素.然后,檢查Target(Ii)元素.若|Target(Ii)|=1意味著源Web服務(wù)輸出在目標(biāo)Web服務(wù)只有一個地方需要輸入.因此,該映射規(guī)則可以完全滿足的存儲和轉(zhuǎn)發(fā)調(diào)解模式1,直接連接輸入和輸出;若Source(Oi)和Target(Ii)語義不相同的情況下,則調(diào)解模式2被應(yīng)用.
然而,當(dāng)|Source(Oi)|或|Target(Ii)|大于1的情況,以上存儲和轉(zhuǎn)發(fā)調(diào)解模式就不能適用.若| Source(Oi)|大于1,就意味著源Web服務(wù)含有兩個或兩個以上輸出的信息,作為目標(biāo)Web服務(wù)只有一個輸入.此時應(yīng)考慮合并的調(diào)解方式以滿足這個映射規(guī)則,則選擇調(diào)解模式3;若Source(Oi)和Target (Ii)語義不相同的情況下,則調(diào)解模式4被應(yīng)用.
同樣,若|Target(Ii)|大于1,就意味著目標(biāo)Web服務(wù)含有兩個或兩個以上輸入的信息.在這種情況下,此時應(yīng)考慮分離的調(diào)解以滿足這個映射規(guī)則,則選擇調(diào)解模式5;若Source(Oi)和Target(Ii)語義不相同的情況下,則調(diào)解模式6被應(yīng)用,如圖3所示.預(yù)定義的調(diào)解模式的Petri網(wǎng)模型存儲在調(diào)解庫中.
圖3 調(diào)解庫的調(diào)解模式
2.2 旅行本體
在現(xiàn)有Web服務(wù)組合方法的一個顯著的局限性是所涉及服務(wù)間的兼容性需要通過人工分析,這種規(guī)范已經(jīng)超出了人的能力范圍.為了解決這個問題,需要在語義上豐富映射規(guī)則.以旅行社為例,文中擴(kuò)展由Park[9]提出的旅游域的本體以解決研究中的語義問題,主要通過縮短其結(jié)構(gòu)并增加了幾個新的概念,明確地定義旅行和旅行活動相關(guān)的概念及Web本體語言(OWL)和資源描述框架(RDF)提及的屬性.這樣,旅行域本體中涉及了10個主要概念和48個子概念,本體抽象視圖如圖4所示.在注釋過程中,各個Web服務(wù)所有的輸入和輸出信息將使用本體論的概念描述,構(gòu)建新的語義映射規(guī)則.這將使之能夠自動地檢查Web服務(wù)組合的兼容性,反而構(gòu)建調(diào)解作用.
圖4 旅行域本體
2.3 調(diào)解
調(diào)解的目的是將兩個Web服務(wù)組成一個復(fù)合服務(wù)以滿足用戶的需要.文中以旅行社Travel Agent、酒店Hotel Reservation的應(yīng)用場景所涉及的Web服務(wù)間消息相互作用來進(jìn)一步闡述.對于旅行社代理服務(wù)而言,首先,該服務(wù)通過發(fā)送消息預(yù)定申請reservationreq調(diào)用Hotel Reservation服務(wù);其次,酒店在收到有效消息availability confirmation確定后,獲取預(yù)定消息gethotelreservation過程,并立即響應(yīng)Arrival Date,DepartureDate和Roomtype等消息;最后,旅行社代理收到預(yù)定消息ReservationID,并發(fā)送消息UserID.另一方面,酒店預(yù)訂也是由reservationreq消息啟動,并通過發(fā)送availabilityconfirmation和reserva-tionid消息來調(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ù)的輸入和輸出存在若干不匹配,兩個Web服務(wù)來自不同的供應(yīng)商,他們使用不同的術(shù)語和數(shù)據(jù)格式指定語義相似的對象,這使得服務(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ù)的接口不匹配
因此,確立通過領(lǐng)域本體及映射規(guī)則來解決這些問題,其中調(diào)解的必要性是將Web服務(wù)的信息轉(zhuǎn)換為另一Web服務(wù)所需的格式.否則,Web服務(wù)間存在二義性和模糊性,Web服務(wù)之間不兼容導(dǎo)致無法組合.傳統(tǒng)的解決是手動映射Web服務(wù)的輸入和輸出.然而,這種方法將限制選定的Web服務(wù)組合的能力與效率,無法實(shí)現(xiàn)半自動化或自動化.相比之下,文中提出了依托于領(lǐng)域本體庫和調(diào)解庫構(gòu)建的更廣泛的系統(tǒng)框架.當(dāng)然,這種框架也允許使用較少的手工工作.然而,多數(shù)的情況下,Web服務(wù)所相應(yīng)的輸入和輸出的調(diào)解應(yīng)建模為映射規(guī)則.Web服務(wù)涉及M個輸入為{I1,I2,…,Im},生成N個輸出為{O1,O2,…,On}.因此,Web服務(wù)存在N個映射規(guī)則來表示相對的輸入和輸出,例I1&I2&…&Im→O1.每個映射規(guī)則與關(guān)聯(lián)的域本體的語義概念相關(guān).通過這種方式,注釋W(xué)eb服務(wù)中所有輸入和輸出的本體的語義不匹配.
在旅行社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ù)訂的輸入和旅行社輸出信息一致,兩者通過reservationreq交換消息.因此,使用存儲/轉(zhuǎn)發(fā)模式來調(diào)解,調(diào)用庫里的模式1;P6、P8和P11滿意Source(Oi)=Target(Ii)且|Target(Ii)|>1,酒店預(yù)訂通過availabilityconfirmation和reservationid來響應(yīng),而旅行社只等待availabilityconfirmation確定消息發(fā)送P6,reservationid消息直到被P8請求發(fā)送.因此,它們使用分離模式來調(diào)解,調(diào)用庫里的模式5;最后,P7,P9和P12滿足Source (Oi)!=Target(Ii)且|Source(Oi)|>1,輸入和輸出消息在語義上彼此不匹配.P12接收含有checkindate、checkoutdate、RoomType和CustomerID消息來確認(rèn)安排與預(yù)訂.P7回復(fù)ArrivalDate、DepartureDate和RoomType等消息.此外,P9回復(fù)UserID消息.在這種情況下,語義上出現(xiàn)沖突,則使用域本體來數(shù)據(jù)映射來解決,其中checkindate對應(yīng)ArrivalDate,checkoutdate對應(yīng)DepartureDate,CustomerID對應(yīng)UserID.將P7和P9合并后重定向P12,從而完成預(yù)定確定消息reservationconfirmation.因此,它們使用合并模式來調(diào)解,調(diào)用庫里的模式4,如圖7所示.
圖7 旅行社代理、酒店預(yù)訂Web服務(wù)的Petri網(wǎng)模型調(diào)解
在本文中,構(gòu)建一個基于Petri網(wǎng)和本體調(diào)解功能的語義組合框架.該框架明確設(shè)計Web服務(wù)和本體之間的相互作用的Petri網(wǎng)模型.此外,Web服務(wù)的接口是使用領(lǐng)域本體進(jìn)行語義調(diào)解自動匹配.未來的工作包括在調(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]陳志輝,吳敏敏.時間約束條件下Web服務(wù)組合的形式化分析與驗(yàn)證[J].貴州大學(xué)學(xué)報,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ī)學(xué)報,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
福建省中青年教師教育科研項目(A類)(JA14279);莆田學(xué)院教育教學(xué)改革研究項目(JG2012006)
吳敏敏(1978-),女,福建莆田人,莆田學(xué)院信息工程學(xué)院講師.