Activiti浅析
Activiti框架以其开源的特性,作为近年来迅猛发展的工作流框架之一。而另一种工作流框架JBPM5目前来说也是非常热门的工作流框架。虽然这两个框架是所属于不同的两个公司,但其实这俩框架却有着不小的关系呢。Activiti工作流框架开发的主导者Tom Baeyens之前任职于jBoss公司,也就是目前的JBPM5的发布公司,担任的是之前JBPM4工作流引擎的首席架构师。但是根据推测由于jBoss公司内部矛盾以及对工作流引擎未来版本的架构中的严重分歧,最后导致Tom Baeyens离开了jBoss公司,转而就职于Alfresco公司。然而,在数月的时间里,Tom
Baeyens就推出了基于JBPM4工作流引擎的开源工作流系统Activiti。
Activiti框架以及JBPM5框架都是BPM(Bussiness Process Manage)系统(符合BPM规范),都是BPMN2过程建模和执行环境。都是开源项目-遵循ASL协议( Apache的 软件许可)。 都源自JBoss(Activiti5是jBPM4的衍生,jBPM5则基于Drools Flow)。 都很成熟,从无到有,双方开始约始于2年半前。 都有对人工任务的生命周期管理。 Activiti5和jBPM5唯一的区别是jBPM5基于WebService – HumanTask标准来描述人工任务和管理生命周期。 如有兴趣了解这方面的标准及其优点,可参阅WS – HT规范介绍 。 都使用了不同风格的 Oryx 流程编辑器对BPMN2建模。 jBPM5采用的是 Intalio 维护的开源项目分支。 Activiti5则使用了Signavio维护的分支。
那么activiti作为一种工作流框架,目前广泛应用于众多软件开发公司。那么如果想要使用activiti开源工作流系统实现自己的业务系统,那么其实首先第一步,是要熟悉BPMN2.0的规范,当然这一步也不是必须的。BPMN2.0规范作为一种标准实现的是工作流业务系统当中可能会遇到的一些基本模型的建立。
目前主流的Java开发IDE为eclipse和intellij idea。这两个开发工具都有支持Activiti的开发,拥有界面式的流程编辑器。通过对业务流程进行绘制,流程编辑器会对业务流程进行解析并生成一个.bpmn文件,其实质上就是一个.xml文件,该文件当中声明式的说明了各个流程的实现以及业务类型,后续通过Activiti的流程引擎可以对该xml文件进行解析,并执行对应的操作及流程跳转功能。