工作流引擎的选择
http://www.infoq.com/cn/news/2009/12/jbpm-bpmn2:
BPMN与JPDL之间的差别
http://www.iteye.com/problems/60435:
有关工作流引擎选择的问题
http://www.infoq.com/cn/articles/rh-jbpm5-activiti5:
纵观jBPM:从jBPM3到jBPM5以及Activiti5,阐述了jbpm3,jbpm4,jbpm5以及acticiti5各自的特点和发展过程,很有参考价值
http://www.infoq.com/cn/articles/jbpm4-process-requirement:
应用jBPM4解决中国特色的
需求,涉及到回退的实现
http://code.google.com/p/jbpmside/:
jbpmside是一个基于jBPM的进行扩展和封装的开源工作流量项目
http://www.infoq.com/cn/news/2011/04/jbpm_5:
jbpm5的新特性
http://www.infoq.com/cn/articles/bpmn2-activiti5:
特别响、非常近——BPMN2新规范与Activiti5
http://wenku.baidu.com/view/c569a3fcf705cc17552709be.html:
activity5组件介绍
http://wmcuit.com/index.php/2012072314/activiti-simple-demo#more-423:
activity5十分钟入门指南
http://www.infoq.com/cn/news/2011/01/activiti_5_released:
Activiti 5.0 GA发布——基于Apache 2许可的BPMN 2引擎
发展脉络
Jbpm3->jbpm4-> Activiti5
Jbpm5
工作流引擎对比
jBPM3技术比较旧,而且它不支持流程语言规范。它采用了自定义的jPDL而不是从最开始的XPDL、BPEL到后来的BPMN。在jBPM3中,节点的运行期行为与jPDL里定义的节点类型是一一绑定的,这造成了流程引擎与特定流程语言的绑定,要支持其他的流程语言变得困难。由于这些缺点所以不在选择范围之内,故没有在下
中列出对比。
BPMS旨在简化对组织核心流程进行支撑的软件创建。 也就是BPMS面向的是软件开发人员,旨在简化他们的开发,降低他们使用流程的门槛。而这正是工作流系统需要解决的问题。
表一 jbpm4jbpm5 Activiti5特点及发展对比
jbpm4
Jbpm5
Activiti5
发布时间
2010年
2010年12月
2010年12月
后续开发
已停止
开发新版本中
开发新版本中
开发基础
基于jbpm3
jBPM5基本上完全抛弃了jBPM4的代码,所有代码全部来自原先的Drools Flow。
基于Jbpm4
稳定性
jBPM4.4:最稳定的4.0版本。资料也应较多。
资料相对较少
资料相对较少
BPMS特性
支持
支持
支持
流程语言
引入PVM故可以支持多流程语言
支持bpmn,不支持jpdl
引入PVM故可以支持多流程语言
可视化插件
支持可视化
与源码之间的转化
目前仍在开发中,已有的插件版本功能不是很完全,目前没有发现插件中有流程图与流程语言代码转换的功能。
可由图形导出bpmn2.0定义文件
特点
jBPM4引入PVM,使其拥有更强大的扩展性,同时增加BPMS特性,这些特性包括了对BPMN的支持、面向业务人员的Web建模器和简单统计分析功能的加入。
jBPM5基于原先的Drools Flow,支持BPMN,通过与Drools的合并支持BAM,通过
仓库增加对流程可视化的支持。由于放弃了jBPM4的PVM,引擎的可扩展性受到损害,并且不再支持jPDL。
Activiti5基于jBPM4,与Alfresco的集成增加了其流程可视化与管理能力,同时通过创新的Activiti Cycle协作组件支持流程相关人员之间的协调,最后,它加强了集成能力。
缺点
目前已停止开发
是全新的代码,学习起来资料比较少
优点
最稳定,相关资料丰富
jBPM最大的优势是采用了Apache Mina异步通信技术,采用JPA/JTA持久化方面的
,以功能齐全的Guvnor作为流程仓库,有RedHat(jBoss.org被红帽收购)的专业化支持;但其劣势也很明显,对自身技术依赖过紧且目前仅支持BPMN2。
从技术组成来看,Activiti最大的优势是采用了PVM(流程虚拟机),支持除了BPMN2.0规范之外的流程格式,与外部服务有良好的集成能力,延续了jBPM3、jBPM4良好的社区支持,服务接口清晰,链式API更为优雅;劣势是持久化层没有遵循JPA规范。
表2:Activiti5与jBPM5技术组成对比
序号
技术组成
Activiti
jBPM
1
数据库持久层ORM
MyBatis3
Hibernate3
2
持久化标准
无
JPA规范
3
事务管理
MyBatis机制/Spring事务控制
Bitronix,基于JTA事务管理
4
数据库连接方式
Jdbc/DataSource
Jdbc/DataSource
5
支持数据库
Oracle、SQL Server、MySQL等多数数据库
Oracle、SQL Server、MySQL等多数数据库
6
设计模式
Command模式、观察者模式等
7
内部服务通讯
Service间通过API调用
基于Apache Mina异步通讯
8
集成接口
SOAP、Mule、RESTful
消息通讯
9
支持的流程格式
BPMN2、xPDL、jPDL等
目前仅只支持BPMN2 xml
10
引擎核心
PVM(流程虚拟机)
Drools
11
技术前身
jBPM3、jBPM4
Drools Flow
12
所属公司
Alfresco
jBoss.org
网上使用意见总结:
推荐使用activiti,感觉不错,过渡很快JBPM感觉上手慢了点
推荐Activiti5,jbpm作者跳槽后的作品。jbpm5现在是基于drool的代码开发的,而且现在更新缓慢,也缺少成功案例,风险比较大哦