论文部分内容阅读
Web服务(Web Services)为网络时代的分布式计算定义了统一的接口和调用模式,使得不同系统提供的服务能够以同样的方式进行调用,从而成为构建复杂而灵活的商业系统的基础。BPEL(Business Process Execution Language)是目前Web服务组合(Web Services composition)的标准,是一种基于Web服务的商业过程建模语言。BPEL可以将现实中异构的,松耦合的Web服务按照一定的逻辑有机地结合起来,形成一个更大规模的,灵活的Web服务,并且提供会话状态管理、错误处理、补偿处理等高等级的机制。然而BPEL本身不包含验证机制,无法对所产生的过程进行必要的分析和验证。为解决这个问题,W.M.P. vander Aalst提出将BPEL过程映射至Petri网,从而可以利用Petri网完备的理论体系和丰富的工具实现对BPEL过程的验证。在此之后,随着对将BPEL映射到Petri网的研究的不断深入,新的映射方式也不断地出现,但是目前还未形成一个被普遍认可的标准,并且在映射BPEL错误处理模块和并行结构中的同步模块等方面都存在一些缺陷。本文在分析和研究现有的映射方法的基础上,提出了一种新的映射BPEL过程至Petri网的方法。此方法和现有的许多映射方法相比,在以下几个方面进行了创新:1.本文使用Petri模式映射BPEL元素,整个模式被一个虚线框包含,内部是BPEL元素的逻辑部分的映射,虚线框上是BPEL元素的接口,从而可以很好的表示BPEL过程的层次结构。2.本文使用stop组件和相应的接口映射BPEL中隐含的错误处理模块,从而能很好的将BPEL中的错误处理的流程用Petri网表示。3.本文使用新的映射模式映射flow结构中的links结构,此映射模式可以很好的映射links结构的joinCondition和transitionCondition,并且能检测links操作不当时引发的错误。4.另外,本文还给出了对BPEL过程的建模算法,并通过具体实例对其进行分析。