APP下载

基于Petri网的语义Web服务组合方法

2016-02-27吴敏敏

泰山学院学报 2016年3期
关键词:旅行社本体消息

吴敏敏

(莆田学院信息工程学院,福建莆田351100)

基于Petri网的语义Web服务组合方法

吴敏敏

(莆田学院信息工程学院,福建莆田351100)

Web服务的自动组合是一个具有挑战性的任务,在于独立开发的Web服务相互组合不总是兼容的.为了解决Web服务之间的异质性和提高Web服务组合的质量,文中提出了一个基于语义Web服务组合的新途径,它广泛应用Petri网和本体.文中构建一个语义Web服务组合框架.首先,该框架中扩展其本体内知识领域.其次,建立了交互式Web服务的Petri网模型.在此基础上,融合了调解算法来保证Web服务间的组合.最后,用一个具体实例验证Web服务组合的办法是可行的.

Web服务;语义;调解;Petri网;本体

面向服务的架构(SOA)是基于独立的开发平台且在互联网上提供Web服务发布的体系结构.Web服务是一个模块化的软件应用程序,以提供独特的功能或不同的应用程序之间的互操作性[1].然而,一个单一的Web服务的功能是有限的,难以解决用户的实际需求.因此,Web服务组合是目前一种有效的解决方案,将两个或多个Web服务的功能组合为一个复合的服务,满足当代用户的需求.然而,Web服务组合的主要挑战是不同的服务提供商开发的个性化Web服务的自主性和异质性.独立开发的Web服务并不总是相互完全兼容,因此不能直接组合在一起.考虑到在以往的研究中使用的调解,可作为一个主要的方式,实施Web服务组合的方法.本文提出了一个基于Petri网的语义Web服务组合的的框架,解决了Web服务的语义上下文的语义相似的物体识别和解决基于领域本体的原语差异.

1 相关研究

以前的研究涵盖了各个方面,如SOA的实施和测试,Web服务的普及和安全问题.SOA的核心是实现Web服务间在网络中提供机器对机器的互操作性,这样的架构提供了服务间通信与组合的标准协议[2].在大多数情况下,单独的Web服务可能无法涵盖整个业务流程.因此,构成多个独立的Web服务互操作,提供一个完整的业务能力是合理的[3].

Web服务的调解是使服务请求者无须考虑服务间的异质性,以透明的方式连接到服务提供商提供相关的服务[4].由于早期的Web服务流语言(WSFL)和Web服务编排接口(WSCI)的不兼容.因此第二代Web服务业务流程执行语言(BPEL4WS或BPEL)出现了.BPEL4WS或BPEL能在Web服务之间以标准化的交互方式实现得以组织,作为组合的结果返回一个调解的过程[5].

在最近的研究中,Dao[6]提供了一个基于语义的Web服务组合通用的框架,该框架包含翻译器、过程生成器、过程评估,执行引擎和Web服务库等.所提出的方法实现Web服务组合中涉及服务组合模块的生成与和基于语义Web服务库的执行两个阶段.

Stollberg[7]等人广泛讨论了异构Web服务的语义互操作问题.Stollberg提供了一个简单的调解.在系统用户user和服务提供者service provider之间以消息交换进行交互,用户发送日期date类型的消息,但服务提供者只接受路由route类型的消息.在这种情况下,调解员为了接收到来自用户的第一个消息而提供一种次序转化模式,并直接将适当的次序重定向到服务提供者,如图1所示.

图1 简单的调解

2 Web服务调解

为了解决Web服务组合过程中出现语义和功能错配的问题,本文将结合Petri网和本体构建一个基于Petri网的语义Web服务组合的框架.同时通过服务于旅客需求的旅行社、酒店的应用场景作为案例,其中旅行社是机票预订处理服务,而酒店是客房预订服务.这两个Web服务独立开发,从而具有异构接口.

2.1 语义Web服务组合框架和算法

从Web服务组合中语义和功能的异质性角度考虑,建立一个具有调解能力的语义Web服务组合框架显得尤其关键.该框架使用BPEL来描述Web服务流程,OWL-S为网络服务的本体语言,通过网络服务描述语言(WSDL)和可扩展标记语言(XML)来标识其功能和语义的描述.同时考虑利用BPEL描述进一步转化成有色Petri网(Colored Petri Net,CPN)形式化模型框架,CPN描述Web服务的功能行为,表明其输入和输出,如图2所示.

图2 语义Web服务组合框架

该框架功能分为四个阶段:起始、预调解、调解执行和组合完成.

框架与服务请求者或用户、服务提供者、各库进行外部沟通.调解执行模块调用两个库即语义数据映射库和调解模式库.首先,使用领域本体存储在语义数据映射本体库中.在这个过程中,所涉及的Web服务输入和输出接口标识上一个共享的本体库中提供的语义表达和概念描述,这可以解决词汇的差异造成语义不匹配问题.其次,Web服务的兼容性检查和预先定义的调解模式选择用于调解输入和输出不兼容的Web服务,其中调解模式存储为有色Petri网(CPN)的知识库中且存储的常见类型具备可靠性.本体库将存储领域内本体指定数据映射中的对象.因此,这个阶段将考虑语义数据映射和现有的调解模式,分析兼容性,并选择适当的调解类型.

此外,还需提供一个调解的算法,用于检查的兼容性和选择适当的调解模式.该算法检查数据映射规则,选择正确的调解模式.

Petri网是一个有向连通图,其两个结点分别称为库所和变迁,通过向弧连接各结点.

定义1Petri网[8].N=(P,T,F)称为一个网,当且仅当

本文通过研究越界人和野生动物的速度与轨迹得出:越界人的行走方向一般是固定且有目的,这点在边疆表现得尤为明显。这与野生动物无目的,轨迹曲折多变有着明显的区别。在得到越界人与动物的轨迹数据后,对数据进行计算。规定矩形框的中心为运动目标的质心,(x,y)表示矩形框的中心坐标,(x1,y1)表示矩形框左下角顶点坐标,并用(x2,y2)代表矩形框右上角的顶点坐标,很显然x=x1+(x2-x1)/2,y=y1+(y2-y1)/2。目标的位移由目标的运动轨迹计算得出,然后计算目标在监控中移动的总路程(位移为目标移动的直线距离,路程为目标从一个地点到另一个地点的总长度)。

(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的输出集.

给定的算法检查映射规则中的每一个元素,即所涉及的Web服务的相应的输入Target(Ii)和输出Source(Oi).首先定义Source(Oi)作为输出元素,Target(Ii)作为输入元素.然后,检查Target(Ii)元素.若|Target(Ii)|=1意味着源Web服务输出在目标Web服务只有一个地方需要输入.因此,该映射规则可以完全满足的存储和转发调解模式1,直接连接输入和输出;若Source(Oi)和Target(Ii)语义不相同的情况下,则调解模式2被应用.

然而,当|Source(Oi)|或|Target(Ii)|大于1的情况,以上存储和转发调解模式就不能适用.若| Source(Oi)|大于1,就意味着源Web服务含有两个或两个以上输出的信息,作为目标Web服务只有一个输入.此时应考虑合并的调解方式以满足这个映射规则,则选择调解模式3;若Source(Oi)和Target (Ii)语义不相同的情况下,则调解模式4被应用.

同样,若|Target(Ii)|大于1,就意味着目标Web服务含有两个或两个以上输入的信息.在这种情况下,此时应考虑分离的调解以满足这个映射规则,则选择调解模式5;若Source(Oi)和Target(Ii)语义不相同的情况下,则调解模式6被应用,如图3所示.预定义的调解模式的Petri网模型存储在调解库中.

图3 调解库的调解模式

2.2 旅行本体

在现有Web服务组合方法的一个显著的局限性是所涉及服务间的兼容性需要通过人工分析,这种规范已经超出了人的能力范围.为了解决这个问题,需要在语义上丰富映射规则.以旅行社为例,文中扩展由Park[9]提出的旅游域的本体以解决研究中的语义问题,主要通过缩短其结构并增加了几个新的概念,明确地定义旅行和旅行活动相关的概念及Web本体语言(OWL)和资源描述框架(RDF)提及的属性.这样,旅行域本体中涉及了10个主要概念和48个子概念,本体抽象视图如图4所示.在注释过程中,各个Web服务所有的输入和输出信息将使用本体论的概念描述,构建新的语义映射规则.这将使之能够自动地检查Web服务组合的兼容性,反而构建调解作用.

图4 旅行域本体

2.3 调解

调解的目的是将两个Web服务组成一个复合服务以满足用户的需要.文中以旅行社Travel Agent、酒店Hotel Reservation的应用场景所涉及的Web服务间消息相互作用来进一步阐述.对于旅行社代理服务而言,首先,该服务通过发送消息预定申请reservationreq调用Hotel Reservation服务;其次,酒店在收到有效消息availability confirmation确定后,获取预定消息gethotelreservation过程,并立即响应Arrival Date,DepartureDate和Roomtype等消息;最后,旅行社代理收到预定消息ReservationID,并发送消息UserID.另一方面,酒店预订也是由reservationreq消息启动,并通过发送availabilityconfirmation和reserva-tionid消息来调用Travel Agent;然后,旅行社代理服务接收到CheckinDate、CheckoutDate、RoomType和CustomerID等消息.最后,它发出确认信息Confirmation从而完成预定安排,Web服务的Petri网模型如图5所示.

图5 旅行社、酒店Web服务的Petri网模型

以上Web服务的输入和输出存在若干不匹配,两个Web服务来自不同的供应商,他们使用不同的术语和数据格式指定语义相似的对象,这使得服务的彼此接口不兼容,如图6所示.旅行社Web服务发送reservationreq,ArrivalDate,DepartureDate,Roomtype和UserID,而酒店预订Web服务则接收reservationreq,CheckinDate、CheckoutDate、RoomType和CustomerID.反之,酒店预订Web服务发送Availability-Confirmation、ReservationID和ReservationConfirmation,而旅行社Web服务则接受AvailabilityConfirmation和ReservationID.

图6 涉及Web服务的接口不匹配

因此,确立通过领域本体及映射规则来解决这些问题,其中调解的必要性是将Web服务的信息转换为另一Web服务所需的格式.否则,Web服务间存在二义性和模糊性,Web服务之间不兼容导致无法组合.传统的解决是手动映射Web服务的输入和输出.然而,这种方法将限制选定的Web服务组合的能力与效率,无法实现半自动化或自动化.相比之下,文中提出了依托于领域本体库和调解库构建的更广泛的系统框架.当然,这种框架也允许使用较少的手工工作.然而,多数的情况下,Web服务所相应的输入和输出的调解应建模为映射规则.Web服务涉及M个输入为{I1,I2,…,Im},生成N个输出为{O1,O2,…,On}.因此,Web服务存在N个映射规则来表示相对的输入和输出,例I1&I2&…&Im→O1.每个映射规则与关联的域本体的语义概念相关.通过这种方式,注释Web服务中所有输入和输出的本体的语义不匹配.

在旅行社Travel Agent和酒店Hotel Reservation服务的案例中,应用上述研究的基础上,实现Web服务组合的调解.其中P5和P10满足Source(Oi)=Target(Ii)且|Target(Ii)|=1,酒店预订的输入和旅行社输出信息一致,两者通过reservationreq交换消息.因此,使用存储/转发模式来调解,调用库里的模式1;P6、P8和P11满意Source(Oi)=Target(Ii)且|Target(Ii)|>1,酒店预订通过availabilityconfirmation和reservationid来响应,而旅行社只等待availabilityconfirmation确定消息发送P6,reservationid消息直到被P8请求发送.因此,它们使用分离模式来调解,调用库里的模式5;最后,P7,P9和P12满足Source (Oi)!=Target(Ii)且|Source(Oi)|>1,输入和输出消息在语义上彼此不匹配.P12接收含有checkindate、checkoutdate、RoomType和CustomerID消息来确认安排与预订.P7回复ArrivalDate、DepartureDate和RoomType等消息.此外,P9回复UserID消息.在这种情况下,语义上出现冲突,则使用域本体来数据映射来解决,其中checkindate对应ArrivalDate,checkoutdate对应DepartureDate,CustomerID对应UserID.将P7和P9合并后重定向P12,从而完成预定确定消息reservationconfirmation.因此,它们使用合并模式来调解,调用库里的模式4,如图7所示.

图7 旅行社代理、酒店预订Web服务的Petri网模型调解

3 结论和未来的工作

在本文中,构建一个基于Petri网和本体调解功能的语义组合框架.该框架明确设计Web服务和本体之间的相互作用的Petri网模型.此外,Web服务的接口是使用领域本体进行语义调解自动匹配.未来的工作包括在调解方面应考虑到服务质量的可靠性和安全性.例如加强Web服务的安全弱点和Web服务的入侵防御性,为Web服务组合提供安全体系结构.

[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服务组合的形式化分析与验证[J].贵州大学学报,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网的Web服务簇组合方法[J].计算机学报,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);莆田学院教育教学改革研究项目(JG2012006)

吴敏敏(1978-),女,福建莆田人,莆田学院信息工程学院讲师.

猜你喜欢

旅行社本体消息
眼睛是“本体”
一张图看5G消息
基于本体的机械产品工艺知识表示
旅行社内部财务管理与监督分析
旅行社的选择
旅行社违约如何索赔
消息
消息
消息
重庆市两家旅行社荣获全国百强旅行社称号全市旅行社实现质与量“双提升”