摘要:开发项目管理软件中很多业务都有一级审核、二级审核甚至多级审核机制。近期,在项目管理软件迭代升级的需求分析过程中,客户业务活动审核机制调整了多次需求,也出现了系统流程与业务耦合性增强的问题,对老版本中多套临时表的维护越来越困难。在这种背景下,对开源工作流管理框架进行了研究,Activiti6.0在技术选型中脱颖而出,继而又对Activiti6.0是否能够实现具体项目的业务要求做了研究。
关键词:Activiti6.0;BPMN;工作流;项目管理软件
0引言
项目管理软件没有普及时,相关人员在项目管理过程中,一部电话加上堆积如山的文件是许多办公桌的标配,流程审核是传统手工递交纸张的方式,逐级找领导签字,效率低下。随着PC办公时代的到来,办公人员只需要在项目管理系统中填写工作内容,系统就会按照定义好的流程自动执行,各级审批者可以登录PC系统,看到工作内容再进行相应的审批管理操作。办公桌上干净了许多。技术总是不断在更新,人们的需求总是不断增加。项目管理软件也需要不断做出迭代升级,如何实现业务与流程的分离?是不是可以将流程从业务中单独剥离出来做统一的流程管理?基于这些问题笔者开始对工作流管理框架展开研究,以供读者参考,共同完善。
1什么是工作流
1.1工作流相关概念
工作流:对工作流程及其各操作步骤之间业务规则的抽象、概括、描述。
工作流程图如图1所示。一个比较形象的比喻是:工作流就像是列车的轨道,而所要执行的对象像是一辆自动运行的列车,只要列车启动,它就能沿着轨道一直走到终点,其中的节点就像是列车到达终点途中所要经过的火车站,它会告诉火车下一站是哪里,然后火车就往指定的下一站驶去,一直这样开到终点站。
1.2BPMN元素
BPMN规范的发布是为了让业务流程的全部参与人员对流程可以进行可视化管理,提供一套让所有参与人员都易于理解的语言和标记。年1月发布BPMN2.0规范。我们首先要熟悉BPMN定义的每个元素代表的含义。使用BPMN2.0的目的是建立简单并且易懂的业务流程模型,但是同时又需要处理高度复杂的业务流程,因此要解决这两个矛盾的要求,需要在规范中定义标准的图形和符号。
BPMN定义了基本元素。每个元素均有自己对应的图形。除了基本元素,还有很多在其基础上的子元素。最常见的网关,子元素为排他网关、并行网关、包容网关等等。
1.3BPMN2.0XML结构
常见的工作流有Activiti、OSWorkflow、JBossjBPM、JFlow、FixFlow等。怎样的流程描述文件可在不同的工作流中使用?除了图形定义。一份用XML语法标准定义,依据BPMN2.0标准的流程描述文件,就可在不同的工作流中使用,只要该工作流符合BPMN2.0规范。特别标记的是,除了BPMN2.0标准的元素及其属性外,工作流的供应商还可以在不改造已有属性的基础上,增添额外的属性,但是增加的属性不能与已有的属性产生矛盾,还需要简易易懂。比如:Activiti扩展的属性,属性名称统一用“ctivity;”开头。Activiti;class=“