● 摘要
BPEL4WS(Business Process Execution Language for Web Service,简称BPEL)是组织和执行Web服务流程定义语言。只有良好的组织Web Service的流程,提供稳定的流程操作包括支持事物处理、支持异常处理,才能更有效的开发实用的业务功能。BPEL4WS标准的开发就是为了实现Web Service的组织。BPEL4WS扩展了Web Service的交互模型,从而提供了更高层次的流程事务处理。BPEL作为业务流程定义的语言,功能强大,使用灵活。但是它缺乏形式化的理论基础。在业务流程重组或比较复杂的流程建模中,不能直接通过BPEL文件确定流程定义的正确性,例如不能够发现流程中的不可达活动。目前的各种BPEL平台提供BPEL语法的检查,大部分平台仅能利用流程仿真的方法由用户检查所定义的流程是否存在问题。本课题来源于“南水北调中线干线工程建设信息管理系统”,该项目中涉及到财务、工程、资产、移民环保等信息的管理、多个部门和单位的业务交互以及各种业务处理流程的管理。在该项目中,为了保证系统的开放性和可扩展性,采用了Web Service技术以及BPEL来组织基于Web Service的业务流程。针对BPEL存在的验证问题,经过对BPEL流程结构的研究以及对Petri网理论在工作流领域的应用的研究,本文首先提出了一种把BPEL流程转换为有色网模型的方法,把BPEL流程的基本活动和结构化活动根据其语义转换为Petri网表示,并利用有色网的颜色集合表达流程中涉及的数据,保证转换后网模型的信息完整。其次,基于本文提出的转换思路和方法,实现了一个基于XSLT(eXtensible Stylesheet Language Transformation)技术的转换工具,把BPEL流程文件转换为PNML(Petri Net Markup Language)文件格式,从而能够利用现有的支持PNML文件的Petri网分析工具对流程进行分析,得到流程的性质,验证流程的正确性,保证在流程定义阶段发现流程存在的问题。本文实现的转换工具已经使用在南水北调项目的流程定义阶段,对项目中的各BPEL流程进行了转换和验证,能够发现流程定义中的不可达活动等问题。该工具面向BPEL标准,具有通用性,能够使用在其他用到BPEL的项目中。