在详细说明activiti与flowable的细节区别之前,我们需要说明一下这两个框架的发展史以及社区
我在写Activiti权威指南的时候,大概是2016年7月份左右。给清华大学出版社交稿的时候大概在2017年3月份左右、最终出版是2017年5月份左右。其实在2016.7~2017.5期间activiti团队内部已经产生了重大的分歧。关于新的activiti新团队与原有的团队重要开发人员我们罗列一下,细节如下:
上图是Tijs Rademakers,算是activiti5以及6比较核心的leader了。现在是flowable框架的leader。
Joram Barrez 算是activiti5以及6比较核心的leader了。目前从事flowable框架开发。
Salaboy Activiti Cloud BPM leader(Activiti Cloud BPM 也就是目前的activiti7框架)
Tijs Rademakers以及Salaboy目前是两个框架的leader。 特此强调一点:
注意:activiti6的很多框架bug在flowable框架中已经修复的差不多了。
activiti5以及activiti6、flowable是Tijs Rademakers团队开发的。
Activiti7初期是 Salaboy团队开发的。activiti6以及activiti5代码目前有 Salaboy团队进行维护。因为Tijs Rademakers团队去开发flowable框架了,所以activiti6以及activiti5代码已经交接给了 Salaboy团队(可以理解为离职之前工作交接)。目前的activiti5以及activiti6代码还是原Tijs Rademakers原有团队开发的。Salaboy团队目前在开发activiti7框架(已经离职,入职camunda团队)。对于activiti6以及activiti5的代码官方已经宣称暂停维护了。activiti7目前还不完善, 内核使用的还是activiti6。并没有为引擎注入更多的新特性,只是在activiti之外的上层封装了一些应用。
Flowable框架情况
flowable的github地址:https://github.com/flowable/flowable-engin
activiti的github地址:https://github.com/Activiti/Activiti
盘古BPM工作流平台:http://demo.pangubpm.com/fastflow-admin/index.html
技术支持:盘古BPM工作流平台
目前Flowable已经修复了activiti6很多的bug,可以实现零成本从activiti迁移到flowable。flowable推出了商业版本,截止2020.2.15号。flowable已经停止用户免费从activiti迁移到flowable。关于activiti迁移到flowable需要商业支持。因为flowable更多的功能(包含开源版)已经不再提供兼容方案。
flowable目前已经不支持dmn规范(drg和drd).
flowable目前已经不支持cmmn标准
关于cmmn标准和dmn规范,盘古BPM平台已经开源,可以进入盘古BPM工作流平台进行体验以及源代码下载。
1、flowable已经支持所有的历史数据使用mongdb存储(开源版本不维护了),activiti没有。
2、flowable支持事务子流程,activiti没有。
3、flowable支持多实例加签、减签(开源版本不维护了),activiti没有。
4、flowable支持httpTask等新的类型节点,activiti没有。
5、flowable支持在流程中动态添加任务节点(开源版本不维护了),activiti没有。
6、flowable支持历史任务数据通过消息中间件发送,activiti没有。
7、flowable支持java11,activiti没有。
8、flowable支持动态脚本,,activiti没有。
9、flowable支持条件表达式中自定义juel函数,activiti没有。
10、flowable支持cmmn规范(不是标准的),activiti没有。
11、flowable修复了dmn规范设计器,activit用的dmn设计器还是旧的框架,bug太多。
12、flowable屏蔽了pvm,activiti6也屏蔽了pvm(因为6版本官方提供了加签功能,发现pvm设计的过于臃肿,索性直接移除,这样加签实现起来更简洁、事实确实如此,如果需要获取节点、连线等信息可以使用bpmnmodel替代)。
13、flowable与activiti提供了新的事务监听器。activiti5版本只有事件监听器、任务监听器、执行监听器。
14、flowable对activiti的代码大量的进行了重构。
15、activiti以及flowable支持的数据库有h2、hsql、mysql、oracle、postgres、mssql、db2。其他数据库不支持的。使用国产数据库的可能有点失望了,需要修改源码了。
16、flowable支持jms(开源版本不维护了)、rabbitmq、mongodb方式处理历史数据,activiti没有。
盘古BPM功能
因为Flowable开始商业化了,对于专业做BPM平台的企业不再建议使用,当然可以招人自己Fork开源版然后自我维护。也可以直接使用盘古BPM平台。
1、目前BPM平台已经完全对业界开源DMN1.3标准。包含DRD和DRD实现。
2、对于加签和设计器显示完全实现。
3、流程校验。
4、热力图
5、表单条件生成器
6、流程建模明细
7、模本微调
8、实例迁移
8、自动化测试
9、流程预测功以及任意跳转
10、多维度审批
11、多维度人员配置
用户维度、相同节点执行人维度、岗位维度、部门维度、职务维度、角色维度、人员脚本维度、自定义脚本维度
12、按钮创建