当前位置: 首页 > news >正文

哪个开源工作流引擎更好?Flowable or Camunda ?

哪个开源工作流引擎更好?

lecture:波哥

  当下在国内大家可以选择的开源的工作流引擎还是比较多的,但是对于具体选择用哪个产品,各自的优缺点有哪些其实并不是太清楚,为此波哥今天专门给大家来整理总结下。
在这里插入图片描述

一、主流开源框架介绍

1.OsWorkFlow

  对于比较简单的流程,OsWorkFlow会是一个比较好的选择,对于复杂的流程就不推荐了,OsWorkFlow是一个轻量化的流程引擎,基于状态机机制,数据库表很少,Osworkflow提供的工作流构成元素有:步骤(step)、条件(conditions)、循环(loops)、分支(spilts)、合并(joins)等,但不支持会签、跳转、退回、加签等这些操作,需要自己扩展开发,有一定难度。而且OsWorkFlow组件已过时,长时间没有版本升级了。

2.JBPM

  JBPM由JBoss公司开发,目前最高版本JPBM7,不过从JBPM5开始已经跟之前不是同一个产品了,JBPM5的代码基础不是JBPM4,而是从Drools Flow重新开始,基于Drools Flow技术在国内市场上用的很少,所有不建议选择jBPM5以后版本,jBPM4诞生的比较早,后来JBPM4创建者Tom Baeyens离开JBoss后,加入Alfresco后很快推出了新的基于jBPM4的开源工作流系统Activiti, 另外JBPM以hibernate作为数据持久化ORM也已不是主流技术,现在时间节点选择流程引擎,JBPM不是最佳选择。

在这里插入图片描述

3.Activiti

官网地址:https://www.activiti.org/

  Activiti由Alfresco软件开发,目前最高版本Activiti 7。Activiti的版本比较复杂,有Activiti5、Activiti6、Activiti7几个主流版本,选型时让人晕头转向,有必要先了解一下Activiti这几个版本的发展历史。Activiti5和Activiti6的核心leader是Tijs Rademakers,由于团队内部分歧,在2017年时Tijs Rademakers离开团队,创建了后来的Flowable, Activiti6以及Activiti5代码已经交接给了 Salaboy团队, Activiti6以及Activiti5的代码官方已经暂停维护了, Salaboy团队目前在开发Activiti7框架,activiti7内核使用的还是Activiti6,并没有为引擎注入更多的新特性,只是在Activiti之外的上层封装了一些应用。结论是activiti谨慎选择。

4.Flowable

  Flowable基于activiti6衍生出来的版本,flowable目前最新版本是v6.7.2,开发团队是从Activiti中分裂出来的,修复了一众Activiti6的bug,并在其基础上研发了DMN支持,BPEL支持等等,相对开源版,其商业版的功能会更强大。以flowable6.4.1版本为分水岭,大力发展其商业版产品,开源版本维护不及时,部分功能已经不再开源版发布,比如表单生成器(表单引擎)、历史数据同步至其他数据源、ES等。

  Flowable 是一个使用 Java 编写的轻量级业务流程引擎,使用 Apache V2 license 协议开源。2016 年 10 月,Activiti 工作流引擎的主要开发者离开 Alfresco 公司并在 Activiti 分支基础上开启了 Flowable 开源项目。基于 Activiti v6 beta4 发布的第一个 Flowable release 版本为6.0。Flowable 项目中包括 BPMN(Business Process Model and Notation)引擎、CMMN(Case Management Model and Notation)引擎、DMN(Decision Model and Notation)引擎、表单引擎(Form Engine)等模块。

中文用户手册:https://tkjohn.github.io/flowable-userguide/#_conclusion

5.Camunda

  Camunda基于Activiti5,所以其保留了PVM,最新版本Camunda7.17,保持每年发布2个小版本的节奏,开发团队也是从activiti中分裂出来的,发展轨迹与flowable相似,同时也提供了商业版,不过对于一般企业应用,开源版本也足够了,强烈推荐camunda流程引擎,功能和性能表现稳定。

二、Camunda和Flowable对比

  

1.功能上对比

  Flowable和Camunda都是工作流引擎,在功能上有非常多的相似之处。我们罗列几个比较重要的给大家看看

在这里插入图片描述

2.性能上对比

通过压力测试工具JMeter分别对flowable和camunda进行高并发压力测试,并发用户数从100到1000,JMeter设置Ramp-up为1,循环次数为1,测试数据如下:

并发数FlowableCamunda性能对比
1002702115450%
200×2103
400×4467
600×4928
800×6571
1000×8780

 Camunda我们还能正常的测试,Flowable在并发100的情况下还可以,但是200的时候就直接没有了反应。

结论:对并发量有要求的强烈推荐Camunda

相关文章:

  • 十大USDT交易平台大全XEX交易所
  • Maven介绍 主要包括Maven的基本介绍,作用,以及对应的Maven模型,可以对Maven有一个基本的了解
  • 【介绍下分布式系统】
  • Beyond Chain-of-Thought: A Survey of Chain-of-X Paradigms for LLMs论文阅读笔记(未完待续)
  • 基于java的商店积分管理系统的设计与实现
  • UVa12313 A Tiny Raytracer
  • dcat admin自定义操作按钮
  • 【蓝桥杯】快读|min和max值的设置|小明和完美序列|​顺子日期​|星期计算|山
  • 车牌检测(分割+识别)
  • 【LeetCode】升级打怪之路 Day 06:哈希表的应用
  • 桥接模式:解耦抽象与实现,实现灵活多变的扩展结构
  • 机器学习是什么
  • 牛客网专项练习30天Pytnon篇第17天
  • 【Vue】Vue全家桶(九)Vue3
  • #php 递归获取下级元素#
  • 使用 userdel 命令删除 Linux 中的用户
  • Docker部署Archery(v1.9.1)
  • jvm相关知识详解
  • AI(七)基础
  • CANalyst—Ⅱ 连通与手动收发测试、python收发测试
  • 类和对象基础(C++)
  • Maven简介、安装、使用、依赖传递
  • 11.MongoDB系列之连接副本集
  • 电子与电路复习题重点大题(附答案)
  • 【精品】seata综合示例:订单-库存-扣款
  • Spring常用注解的详细介绍(包你学明白)
  • Torchtext快速入门(一)——Vocab
  • 34461A数字万用表参数
  • AI加速(四)| 衣柜般的分层存储设计
  • Linux格式化输出当前时间
  • c++类和对象中
  • ATT汇编总结_9_静态库与动态库