在说明activiti和flowable之间的详细区别之前,需要先说明这两个框架的发展史。
我写Activiti权威指南是在2016年7月左右。 向清华大学出版社提交稿件是在2017年3月左右,最终出版是在2017年5月左右。 其实在2016.7~2017.5之间,activiti团队内部产生了很大的差异。 罗列新activiti的新团队和原团队的重要开发人员。 详细情况如下。
上图为Tijs Rademakers,是activiti5和6比较核心的leader。 现在是流动可用框架的读取器。
Joram Barrez是活动I5和6的比较核心的leader。 目前正在从事流量许可框架的开发。
salaboyactiviticloudbpmleader (activiticloudbpm,即当前activiti7框架)。
Tijs Rademakers和Salaboy现在是两个框架的leader。
特别强调activiti5、activiti6和flowable是由Tijs Rademakers团队开发的。
Activiti7是由Salaboy团队开发的。 activiti6和activiti5代码当前由Salaboy团队维护。 activiti6和activiti5代码已由Salaboy团队继承(可以理解为退休前工作的交接),因为Tijs Rademakers团队去开发了flowable框架。 当前的activiti5和activiti6代码是由原始Tijs Rademakers原始团队开发的。 Salaboy团队目前正在开发activiti7框架。 关于activiti6和activiti5的代码,官方宣布停止维护。 activiti7是由搞笑内核使用,还是由activiti6使用? 没有为引擎注入很多新特性,只是在非activiti上层打包了一些APP应用程序。
注意:activiti6的很多框架bug在flowable框架中已经修复的差不多了。
让我们来看看这两个框架的github分支情况。 侧民支持上述结论。
活动框架状况活动的github地址; 3359 github.com/activiti/activiti
从上面的一系列图可以看出。 AtivitI5和ativiti6核心开发团队是Tijs Rademakers团队。 activiti6的最终版本由Salaboy团队发布。
很多人可能有疑问,activiti6核心代码是由Tijs Rademakers团队开发的,为什么由Salaboy团队发布呢? 很简单。 因为此时Tijs Rademakers团队已经去开发了flowable。 flowable是基于activiti-6.0.0.beta 4分支开发的。 以下是一些流动表的发展截图。
对于流动可用框架;流动可用的github地址: https://github.com /流动可用/流动可用-引擎
了解更多Activiti6视频地址: https://ke.QQ.com/course/package/11402? tuin=84de321b
关于更多的流活动视频地址: https://ke.QQ.com/course/package/11431? tuin=84de321b
现在,Flowable可以修复activiti6中的许多错误,以零成本从activiti迁移到Flowable。
flowable目前支持签名、动态添加实例中的节点、支持cmmn和dmn规范。 所有这些都不在activiti6的当前版本中。
1、流量表已经支持对所有历史数据使用mongdb存储,但在activiti中没有。
2、流表支持事务的子流程,活动表中没有。
3、流量表支持多个实例的签名、签名,但在activiti中没有。
4、流量表支持http任务等新型节点,活动表中没有。
5、流表支持向进程动态添加任务节点,但活动中没有。
6、流量许可支持历史任务数据通过消息中间件发送,在activiti中没有。
7、流量表支持java11。 activiti没有。
8、流量表支持动态脚本。activiti中没有。
9、流表支持表达式的自定义juel函数,但在activiti中没有。
10、流量表支持cmmn标准,但活动表中没有。
11、flowable修复了dmn规格设计师。 用于activit的dmn设计器仍然是旧框架,有太多错误。
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、流量表支持jms、rabbitmq、mongodb方式处理历史数据,但活动表中没有。
几个框架的前景比较1、2019年6月中旬salboy从alfresco公司退休。 activiti7/8的开发动向尚不明确。
2、flowable以6.4.1版为分水岭,大力发展其商业版产品。 开源版本管理落后。 一些功能(如表单生成器(表单引擎)、将历史数据同步到其他数据源和es )不再以开源版本发布。 dmn现在是半成品,没有camunda的稳定性和易用性,对dmn标准的支持较弱。 由于一些商用版的组件已经商业化,开源版不再维护。 Mongdb现在也被列入商业产品中,几乎不能使用开源版。
其他的手续可以总结一下,上述新特性在我们系列的课上基本说明了。