论文部分内容阅读
随着业务流程自动化应用的趋势,工作流技术成为了近年来研究的热点,广泛应用于电子商务、办公自动化等领域。工作流引擎是工作流管理系统的核心组件,是实现企业应用集成的关键。针对目前工作流应用操作性差、集成能力弱等问题,结合WFMC工作流技术标准,本文提出了一种轻量级的工作流引擎开发方法。为保证工作流引擎的可用性和方便性,本文做了如下方面的研究:1.解析了工作流过程模型。在分析XPDL原理的基础上,提出并实现了解析XPDL描述的过程定义模型的方法,通过结合XPDL Schema验证模型语法的正确性。2.实现了支持多种数据格式的工作表。使用工作表作为工作流执行实例数据的存储结构,通过对工作表通用操作方法,实现了过程实例数据的访问和转化、消息的解析和发送、命令的解析和调用、运行报告的过滤和组合等多种数据管理功能。3.设计并实现了平行解释架构的工作流引擎的运行解释模块。通过模块功能的分离与使用时进行关联解释,最大限度地隔离了业务系统对工作流系统的影响,提高了系统部署能力和扩展性。4.提出并实现了结合工作流模式的Petri网组网和运行算法。运行模块能根据过程模型的设置,自动完成对工作流模式的匹配,并调用对应的组网方法,将过程模型映射为Petri网模型,以进行仿真和运行。5.给出并实现了有色Petri网模型的变量绑定及转移发生算法。在实现了可估值表达式和自定义变量设计的基础上,为Petri网扩展了连接弧的表达式变量绑定算法,以此为基础实现了Petri网模型对带自定义变量的表达式进行估值的转移发生方法。这种方法使引擎支持对更贴近现实描述的过程模型的转化和仿真。6.实现了对外部应用的集成方法。以物流配送为例,分析了配送过程的逻辑和数据关系,将其转化为XPDL过程模型。通过转换和执行过程模型,调用物流活动的具体应用,引擎完成了对物流配送过程的工作流仿真。本文使用Ruby作为工作流引擎的开发语言,结合行为驱动开发方法,分析了引擎的功能,设计了组件体系结构,在实现引擎基本运行功能的基础上,以迭代的方式扩展了引擎的功能,使之成为灵活、方便、可操作性强的工作流系统组件。