预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第38卷第2期河南大学学报(自然科学版)Vol.38No.2 2008年3月JournalofHenanUniversity(NaturalScience)Mar.2008 基于Petri网的Web服务动态组合 于素萍1,王冬2,左方1 (1.河南大学计算机与信息工程学院,河南开封475004;2.河南大学计算中心,河南开封475004) 摘要:基于Petri网技术提出了一个Web服务模型,针对电子商务中的Web服务进行动态组合,形成复杂的业 务服务.给出了一种实现方案,分析了活动图的生成过程、任务指派、服务绑定等关键技术. 关键词:Web服务;动态组合;Petri网;工作流 中图分类号:TP393.08文献标志码:A文章编号:1003-4978(2008)02-0199-03 DynamicalCompositionofWebServiceBasedonPetriNets YUSu2ping1,WANGDong2,ZUOFang1 (1.CollegeofComputerandInformationEngineering,HenanUniversity,HenanKaifeng475004,China; 2.ComputingCenter,HenanUniversity,HenanKaifeng475004,China) Abstract:ThispaperproposesawebservicemodelbasedonPetriNets.WithE2commercewebservicefordynamic composition,therebycomplexoperationserviceisformed.Furthermorethepaperimplementsthemodel,and analyzesactivatingmap,taskassignment,servicesbounding,andotherkeytechnologies. Keywords:webservice;dynamicalcomposition;Petrinets;workflow 0引言 基本Web服务不能满足复杂电子商务的需要,因此出现了Web服务的组合[1].Web服务动态组合需 要一个好的工作流模型,否则将无法跨域工作.Petri网技术是一种既可以进行结构建模又可以进行广泛定 性和定量分析的建模方法[2],其图形化的描述容易让用户理解系统模型,而且还可以进行形式分析和验证. 本文基于Petri网模型,对电子商务服务进行动态组合,形成比较复杂的业务服务,并给出了实现方法,分析 了实现中的关键技术. 1Web服务组合的Petri网模型 图1表示一个基于Petri网的服务操作,此处扩展有色Petri网[3,4],以便对Web服务建模.图1中将 Web服务的一个操作看成一个任务,对应网中的变迁.对于服务的动态组合而言,一个操作的前提就是运行 一个任务的前提,一个操作的效应就是运行一个任务的效应.业务流程是以事件驱动进行的,当一个组合服 务中的一个任务被指派给服务的提供者时,对于服务的提供者而言,则产生了目标状态,服务必须完成该目 标任务.在完成任务过程中,进行条件判断,产生事件,引起状态变迁从而推动整个过程的发展.这些过程 记录在一个XML文档中作为一个活动图,活动图建立在BPEL4WS[5]基础上.业务服务根据这个活动图, 查找其包含的下一级服务,然后进行调用.在电子商务系统中,服务的动态组合对于服务的用户而言是透明 的,如果让用户手动查找、挑选和组合服务,则效率非常低下,因此需要利用代理自动完成Web服务组合. 收稿日期:2007209216 基金项目:河南省自然科学基金项目(0511014300) 作者简介:于素萍(1981-),女,河南洛阳人,硕士研究生,主要研究方向为Web服务. 200河南大学学报(自然科学版),2008年,第38卷第2期 组合服务使用编程语言和业务过程模型语言构造,如顺序结构、选择结构、循环结构等.组合服务由一组基 本服务和其他组合服务组成,服务的动态组合是在原有服务的基础上,自动产生新过程模型的过程. 图1基于Petri网的一个服务操作 Fig.1AservicebasedonPetrinets 基于有色Petri网的Web服务网可以定义为一个七元组(Σ,P,T,C,I,O,u),其中Σ是颜色的有限集,u 是关联函数,将库所映射到一个自然数.其他元组说明如下: 库所的有限集P={p1,p2,⋯,pn},P有三种类型,控制库所Pc,输入消息库所Pi,输出消息库所Po; 变迁的集合T={t1,t2,⋯,tm}; 变迁输入函数I:T→Pa,一个变迁T到库所P的一对多映射; 变迁输出函