常见的开源工作流引擎有哪些?该如何选择?市场上比较有名的开源流程引擎有osworkflow、jbpm、activiti、flowable、camunda,其中activiti又有activiti5、activiti6、activiti7三个系列的版本,flowable分开源版和商业版,camunda有camunda7和camunda8两个系列的版本,用户在OA、ERP等项目时均需要流程引擎组件,哪个功能和性能好,该如何选型呢?

1、Osworkflow

Osworkflow是一个轻量化的流程引擎,基于状态机机制,数据库表很少,基于mybatis框架,性能较高,非BPMN的标准模型。Osworkflow提供的工作流构成元素有:步骤(step)、条件(conditions)、循环(loops)、分支(spilts)、合并(joins)等,但不支持会签、跳转、退回、加签等这些操作,需要自己扩展开发,有一定难度,且技术框架太老,osworkflow不建议选择。官方网站:http://www.opensymphony.com/osworkflow/

2、JBPM

JBPM由JBoss公司开发,目前最高版本JPBM7,不过从JBPM5开始已经跟JBPM4不是同一个产品了,而是从Drools Flow重新开始,基于Drools Flow技术在国内市场上用的很少,所有不建议选择jBPM5以后版本。另外JBPM4以hibernate作为数据持久化框架,也已不是主流技术,所以JBPM4已经过时,不建议选择。后来JBPM4创建者Tom Baeyens离开JBoss后,加入Alfresco后很快推出了新的基于jBPM4的开源工作流系统Activiti5。官方网站:https://github.com/kiegroup/jbpm

3、Activiti

Activiti的源头是由JBPM4流程引擎发展而来,activiti的版本比较复杂,有activiti5、activiti6、activiti7几个版本。

(1)activiti5和activiti6:activiti5以及ativiti6的核心开发团队是Tijs Rademakers团队,activiti6最终版本由Salaboy团队发布的,因为Tijs Rademakers团队后来去开发flowable流程引擎了。activiti5和activiti6的代码在github上已经4年没有更新了,官方已经停止维护和发展,新开发项目不建议选择activiti5以及ativiti6。

(2)activiti7即Activiti Cloud:定位云产品,完全面向云原生架构设计开发,依赖k8s等多个CNCF云原生组件,开发、集成、部署和运维均比较复杂,对团队技术人员能力要求高,一般中小型项目,不建议选择Activiti7,其它大型项目需谨慎选择Activiti7。

官方网站:https://www.activiti.org/

4、flowable

flowable基于activiti6衍生出来的版本,Flowable除了提供开源版本flowable-engine,它还提供了商业收费版本:Flowable Work、Flowable Orchestrate和Flowable Engage 。

(1)Flowable开源版最新版本是Flowable-7.0.0-M1,开源版本仅仅提供了流程引擎、CMMN引擎、DMN引擎功能,其它功能需要扩展开发。Flowable开源版本目前仍在持续发展,其github上源码工程较多,有技术能力的团队,可用选择Flowable进行扩展开发。

(2)Flowable Orchestrate除了支持Flowable开源版本的功能,还支持Automation Models、Case & Process Instances、High Availability & Scalability等功能。

(3)Flowable Work是一个功能强大的低代码自动化平台。它建立在我们引擎的开源版本上,但通过将三个开放标准BPMN、CMMN和DMN的强大功能与低代码功能相结合,将业务流程管理提升到了一个新的水平。  Flowable Work是一个基于SaaS化的商业收费版本。

官方网站:https://flowable.com/open-source/

5、Camunda

Camunda有Camunda7和Camunda8两个版本。

(1)Camunda7: Camunda7基于activiti5发展来来,所以其保留了PVM,最新版本Camunda7.18,BPMN标准模型,保持每年发布2个小版本的节奏,除了开源版本同时也提供了商业版,不过对于一般企业应用,开源版本也足够了。camunda7在功能方面比flowable、activiti流程引擎强大,性能和稳定性更突出。

(2)Camunda8:2022年4月,官方发布了Camunda8新版本,Camunda7和Camunda8在技术架构方面有本质区别。Camunda8定位于云架构SaaS模式,基于Zeebe流程引擎内核,采用gRPC API接口技术,不再使用关系型数据库。在开源和商业授权方面,Camunda8有诸多限制,Camunda8仅有Zeebe、modeler、elastic组件是开源的,可以免费使用,其它的组件Camunda Operate、Camunda Tasklist 、 Camunda Optimize等组件是需要商业授权才能使用。

简单总结:国内需要私有化部署流程引擎的用户建议选择camunda7,大部分组件开源,可免费使用,技术生态较好,程序员上手容易。如果对流程自动化和高并发有显著需求的客户,可以考虑选择camunda8,但需要大量扩展定制开发,对技术团队能力要求较高。国内主流的云程低代码平台使用了camunda7作为流程引擎,目前camunda7在国内也逐步流行起来,有超越activiti和flowable的势头。

Camunda官方网站:https://docs.camunda.org/manual/7.18/

Camunda体验系统:http://www.yunchengxc.com

activiti5、activiti6、activiti7、flowable、camunda7、camunda8流程引擎对比分析和选型参考相关推荐

  1. 工作流程引擎:流程引擎对比

    一. 简介 工作流引擎 LiteFlow 需要提前定义好执行流程,不支持分布式执行,支持xml,json,yml,支持逻辑执行 AirFlow ***** 支持分布式算子执行,不支持java算子执行, ...

  2. flash3D引擎对比分析

    flash 3D引擎简介     flash3D引擎有不下10款,在使用的时候真的是会让人犯难,我个人曾经使用过一段时间PV3D,感觉PV3D的创建时间,用户规模等等相对都要更加成熟,因此我自己更加推 ...

  3. 十大B2C网站购物车的流程设计对比分析

    购物车对整站的转化率和用户体验的提升有很大的帮助,所以一个设计非常合理的购物车对任何B2C都非常重要.在这里看看京东.亚马逊.易迅.1号店.库巴.国美.当当.凡客.苏宁.新蛋十家B2C的购物车设计. ...

  4. 开源流程引擎activiti、flowable、camunda选哪个好?

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.其中:Jbpm4.Activiti.Flowable.camunda四个框架同宗同源, ...

  5. osworkflow、jbpm、activiti、flowable、camunda开源流程引擎哪个好?

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.其中:Jbpm4.Activiti.Flowable.camunda四个框架同宗同源, ...

  6. 小白学流程引擎-FLowable(一) —FLowable是什么

    小白学流程引擎-FLowable(一) | FLowable是什么 一.什么是流程引擎? 通俗的说,流程引擎就是多种业务对象在一起合作完成某件事情的步骤,把步骤变成计算机能理解的形式就是流程引擎. 流 ...

  7. 流程引擎之Flowable简介

    背景 Flowable 是一个流行的轻量级的采用 Java 开发的业务流程引擎,通过 Flowable 流程引擎,我们可以部署遵循 BPMN2.0 协议的流程定义(一般为XML文件)文件,并能创建流程 ...

  8. 通过 Flowable-UI 来体验一把 Flowable 流程引擎

    [TOC] 本文为稀土掘金技术社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究! 本专栏第一篇已发布,尚未看过的小伙伴请移步这里: Flowable 开篇,流程引擎扫盲 在我们使 ...

  9. camunda7、camunda8对比分析,哪个版本好

    2022年4月,用于业务流程自动化的最著名的BPMN引擎之一Camunda升级到了新版本.这次升级非常重要,新版本理应拥有自己的编号,官方称之为Camunda 8.事实上,这些变化不仅仅是表面上的:C ...

最新文章

  1. 16. Spring Boot使用Druid(编程注入)【从零开始学Spring Boot】
  2. 机器学习处理流程、特征工程,模型设计实例
  3. 得到弹出菜单QMenu的高度
  4. SpringCloud_RibbonHystrixFeign
  5. c语言存储结构体,c语言结构体的保存和导入
  6. 产品优化成果过关?监控数据说了算
  7. 关于Websockets问题:
  8. 理解ThreadLocal(一)
  9. Android Studio Connection refused
  10. Terminate Instance 操作详解 - 每天5分钟玩转 OpenStack(33)
  11. 怎么将PDF转换成jpg图片?免费方法了解一下
  12. Blender创作流程01-软硬件配置
  13. OSChina 周六乱弹 —— 广州爱情故事
  14. windows11删除此电脑的6个图标,包括视频、图片、文档、下载、音乐、桌面
  15. cnpm : 无法加载文件 C:\Users\azhao\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本 问题解决
  16. IPSec基础-IPSec协议类型
  17. OTSU算法的原理介绍及C++和Python实现
  18. Google 出的C++轻量级日志库_GLog_了解_使用
  19. mfc: 获取打印机列表
  20. 射频中的 S参数 总结

热门文章

  1. 头部UP主的赚钱方法,都在这里了
  2. 【收藏】Android开源项目和 框架
  3. mysql查询近六个月的数据
  4. 基于ssm的模糊查询,解决中文乱码后可查询中文关键字
  5. STM32F4之什么是SPI?
  6. PHP CURL 与 java http
  7. Python-基于Flask表格创建管理
  8. FinalShell 下载安装
  9. layui表格筛选列不随页面刷新重置
  10. linux文件管理知识点总结,Linux基本知识点总结——磁盘配额