您的位置 首页 java

Activiti和Flowable工作流引擎

Activiti和Flowable都是来自于一个叫JBPM的开源工作流。在早期Jboss发行JBPM4的时候,因为合作伙伴关系闹的不开心,其中一个核心人员(Tom Baeyens)离职,加入了Alfresco(Activiti所在的公司)。并在同一年发布了Activiti的第一个版本即Activiti5.0,Activiti就一直在5.0这个版本一直迭代开发。

国外的开源软件有个习惯就是:在当前开发的这个版本趋于稳定的时候,会开始陆陆续续构建下一个大版本。Activiti那时候也想的很美好:5.0这个版本就这么稳定了,6.0应该没什么问题。但是,好景不长,Activiti的创作者,因为和合作伙伴关系闹的不开心,又一次上演了离家出走,先后开办了Camunda和Flowable。导致了Activiti最后6.0的问题修复不过来了,官方放弃了这个版本。但是Activiti5可以说的上是工作流的标杆版本之一。至今仍被很多公司进行使用。Flowable在开办之初,比Activiti当初直接继承JBPM的版本更为直接,直接继承了他的小版本。直接就从Flowable5.22这个版本开始,和当时的Activiti的小版本一致。

2016 年 10 月 13 日,从 工作流引擎 Activiti 分支出的新项目 Flowable 发布了首个版本 flowable-5.22.0 ,可无缝替代 activiti-5.21.0 。除了修改 Maven 的 group-id 到 org.flowable 和 artifact-id 到 flowable-engine 以外,和 Activiti5.21 无区别。 Java 包名和配置文件名都没有变动。

这2个是目前国内用得最多的工作流引擎,原因是开源免费。一般简单的流程都可以用这2个实现,但是也需要进行一定的开发工作,后期的维护工作也需要花费大量的精力。 Camunda是商业收费并且不开源。故此处就不做介绍。

Activiti主创离职后,Activiti官方放弃activiti6直接推出了activiti7,Flowable也早早的推出了Flowable6。 由于微服务和敏捷开发之风盛行。Flwoable和Activiti为了这块的技术市场。分别推出了基于SB(SpringBoot)上所做的SpringBootStarter,来支持 微服务 。更推出自己的 docker 镜像并对 Jenkins 和Kubernates做了良好的支持。但是由于Activiti7正式的release版本较晚,以及刚开始发布的GA版本居然不支持JDK8这个广为使用的 JDK 版本而是直接就到JDK11,这使得众多的开发者,不得不转到Flowable。Activiti7从SR1版本才开始支持JDK8,并在现在陆陆续续在构建7.1,但是大部分市场已经转型到了Flowable。不过也靠着忠实的fans拉回了不少市场。

工作流引擎的关系以及热门度如下图所示。颜色越深表示使用者越多。

可见activiti5的市场占有率最高,毕竟出得最早,版本稳定,对于很多企业来说已经先入为主。我公司用的是activiti5.16.1版本,并且从2015年一直沿用至今。activiti7和flowable6则平分秋色不相上下。

我将结合近几年的工作经验以及知识储备并查阅大量资料录制Activiti5及Activiti7的教学视频,力争从上手开发以及底层架构两个维度深入分析、讲透工作流引擎。如果觉得我的文章有用,请关注我,感谢您的支持[飞吻]。

文章来源:智云一二三科技

文章标题:Activiti和Flowable工作流引擎

文章地址:https://www.zhihuclub.com/186749.shtml

关于作者: 智云科技

热门文章

网站地图