Activiti,Flowable,Camunda流程引擎对比

这篇具有很好参考价值的文章主要介绍了Activiti,Flowable,Camunda流程引擎对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 简介

1.1 发展历史

Activiti,Flowable,Camunda流程引擎对比

        市场上比较有名的开源流程引擎有osworkflow、jbpm、activiti、flowable、camunda。其中:Jbpm4、Activiti、Flowable、camunda四个框架同宗同源,祖先都是Jbpm4,开发者只要用过其中一个框架,基本上就会用其它三个。osworkflow目前功能简单,目前已处于不活跃状态,此处就不展开描述了。       

1.2 官网

  • JBPM(JBoss公司):jBPM - Open Source Business Automation Toolkit - jBPM Business Automation Toolkit
  • Activiti(Alfresco团队):Open Source Business Automation | Activiti
  • Flowable(Tijs Rademakers团队):Open Source
  • Camunda(德国Camunda公司):https://camunda.com/

1.3 术语

  • BPMN(Business Process Modeling Notation)业务流程建模与符号
  • CMMN(Case Management Model and Notation) 案例管理模型与符号
  • DMN(Decision Model and Notation) 决策模型与符号
  • 表单引擎(Form Engine) 

1.4 工作流引擎对比

Activiti,Flowable,Camunda流程引擎对比

 1.5 流程引擎选型

1.5.1 JBPM

        JBPM 是一套灵活的商业进程管理 (BPM) 套件。轻量、开源(基于Apache License 2.0) 、使用Java实现。你可以用于商业进程与案例整个生命周期中的建模、执行与监控。

      JBPM由JBoss公司开发,目前最高版本JPBM7,不过从JBPM5开始已经跟之前不是同一个产品了,JBPM5的代码基础不是JBPM4,而是从Drools Flow重新开始。

    JBPM自从版本五后,便重启炉灶,完全抛弃了JBMP4的代码基础,重新基于drools进行了实现。JBPM5,JBPM6似乎缺少一个合格的系统架构师,其接口设计匪夷所思,基本上是按照drools的接口再提供了一套JBPM接口,同名的接口,实现类不断重复出现,代码体系十分混乱。

    基于Drools Flow技术在国内市场上用的很少,所有不建议选择jBPM5以后版本。

    JBPM5,JBPM6是一个巨大的失败,使用drools规则引擎来实现工作流引擎听起来是一个很酷的概念,但JBPM开发团队显然没有很好地去掌控好整个架构的变化。因此选择activiti作为工作流引擎至少在可见的几年间都是正道,今后需要实现规则库时,再单独引入drools工具包,相信drools会是一个比JBPM靠谱的工具。

    jBPM4诞生的比较早,后来JBPM4创建者Tom Baeyens离开JBoss后,加入Alfresco后很快推出了新的基于jBPM4的开源工作流系统Activiti, 另外JBPM以hibernate作为数据持久化ORM也已不是主流技术,JBPM不是最佳选择

  1. jBPM3是一个完整的工作流系统实现,面向开发人员,目的在于简化对组织核心流程进行支撑的软件创建,不支持标准。
  2. jBPM4引入PVM,使其拥有更强大的扩展性,同时增加BPMS特性,这些特性包括了对BPMN的支持、面向业务人员的Web建模器和简单统计分析功能的加入。
  3. jBPM5基于原先的Drools Flow,支持BPMN,通过与Drools的合并支持BAM,通过内容仓库增加对流程可视化的支持。由于放弃了jBPM4的PVM,引擎的可扩展性受到损害,并且不再支持jPDL。

1.5.2 Activiti

        Activiti由Alfresco软件开发,目前最高版本v7.7.0。

        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谨慎选择

 1.5.3 Flowable

        Flowable基于activiti6衍生出来的版本,flowable目前开源最新版本是v6.7.2。

        开发团队是从activiti中分裂出来的,修复了一众activiti6的bug,并在其基础上研发了DMN支持,BPEL支持等等,相对开源版,其商业版的功能会更强大。

        以flowable6.4.1版本为分水岭,大力发展其商业版产品,开源版本维护不及时,目前已一年没有进行更新,部分功能已经不再开源版发布,比如表单生成器(表单引擎)、历史数据同步至其他数据源、ES、支持mongodb数据库等。

1.5.4 Camunda

        Camunda基于Activiti5,所以其保留了PVM,最新版本v8.1.5,保持每年发布2个小版本的节奏,开发团队也是从activiti中分裂出来的,发展轨迹与flowable相似,同时也提供了商业版,不过对于一般企业应用,开源版本也足够了,
选择Camunda的理由:
(1)通过压力测试验证Camunda BPMN引擎性能和稳定性更好,性能对比Flowable提升最小10%,最大39%,而且Camunda无报错,Flowable有报错,Camunda在高并发场景下稳定性更好。
(2)功能比较完善,除了BPMN,Camunda还支持企业和社区版本中的CMMN(案例管理)和DMN(决策自动化)。Camunda不仅带有引擎,还带有非常强大的工具,用于建模,任务管理,操作监控和用户管理,所有这些都是开源的。


2 流程设计器选型

        对于低代码平台中的流程可视化,流程设计器是重要的支撑工具,目前市场上比较主流的流程设计器有bpmn-js、mxGraph、Activiti-Modeler、flowable-modeler。

2.1 官网 

  • bpms-js:https://bpmn.io/
  • mxGraph:mxGraph 4.2.2
  • Activiti-Modeler:同Activiti官网
  • Flowable-Modeler:同Flowable官网

2.2 选型 

2.2.1 bpmn-js

        bpmn-js 是 BPMN 2.0 渲染工具包和 Web 模型。bpmn-js 正在努力成为 Camunda BPM 的一部分。

        bpmn-js 使用 Web 建模工具可以很方便的构建 BPMN 图表,可以把 BPMN 图表嵌入到你的项目中,容易扩展。bpmn-js是基于原生js开发,支持集成到vue、react等开源框架中

Activiti,Flowable,Camunda流程引擎对比

2.2.2  mxGraph

        mxGraph是一个强大的JavaScript流程图前端库,可以快速创建交互式图表和图表应用程序。

        国内外著名的ProcessOne和draw.io都是使用该库创建的强大的在线流程图绘制网站. 由于mxGraph是一个开放的js绘图开发框架,我们可以开发出很炫的样式,或者完全按照项目需求定制。

2.2.3 Activiti-Modeler

        Activiti 开源版本中带了web版流程设计器,在Activiti-explorer项目中有Activiti-Modeler,优点是集成简单,开发工作量小,缺点是界面不美观,用户体验差。

2.2.4 Flowable-Modeler

        Flowable开源版本中带了web版流程设计器,展示风格和功能基本跟Activiti-Modeler一样,优点是集成简单,开发工作量小,缺点是界面不美观,用户体验差。

3 选型推荐

        推荐大家使用Camunda+bpms-js组合,笔者因工作需要,后续将从事这方面的开发,后续针对Camunda的开发再出系列博客进行说明


4 参考资料

https://lowcode.blog.csdn.net/article/details/109030329

Activiti、Flowable和Camunda用哪个会比较好? - 知乎

https://lowcode.blog.csdn.net/article/details/109121092

工作流的基础知识梳理 - 知乎

activiti与flowable的区别_分享牛的博客-CSDN博客_flowable activiti

flowable camunda activiti 功能对比 - 腾讯云开发者社区-腾讯云

Activiti7.1, jBPM7.25, Camunda, Flowable6.3技术组成对比_haysong的博客-CSDN博客_flowable和jbpm

常见的工作流引擎(osworkflow、jbpm、activiti、flowable、camunda)比较_风情客家__的博客-CSDN博客_工作流引擎对比文章来源地址https://www.toymoban.com/news/detail-437492.html

到了这里,关于Activiti,Flowable,Camunda流程引擎对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Springboot整合Camunda工作流引擎实现审批流程实例

    环境:Spingboot2.6.14 + camunda-spring-boot-starter7.18.0 依赖配置 应用程序配置 通过上面的配置后访问控制台: http://localhost:8100/workflow/ 默认是没有上面的tasks中的内容,这里是我之前测试数据 环境准备好后,接下来就可以设计工作流程。 上面的 camunda-bpm-spring-boot-starter-rest依赖中定义

    2024年02月09日
    浏览(52)
  • 小白学流程引擎-FLowable(四) —Flowable UI应用程序详解

    环境版本:Flowable UI 6.7.2 1.1 Flowable-idm主要提供以下功能: 提供用户管理功能:可以添加用户、编辑用户、删除用户和密码修改功能 提供用户分组功能:提供用户组的创建、用户组的删除、添加删除用户到组功能,方便统一管理用户权限,是一个简化版的角色处理 提供权限管

    2024年02月09日
    浏览(62)
  • 企业内业务系统与Activiti流程引擎的结合(一)

    Activiti流程接口中台 此模块分以下几部分: 一、数据库表设计 二、后台接口设计 系统使用的Activiti版本  一、初始化的数据库表 1. Activiti 涉及25张表 ACT_EVT_LOG                        事件日志 ACT_GE_BYTEARRAY            部署流程的资源(bpmn、图片) ACT_GE_PROPERTY           

    2023年04月12日
    浏览(36)
  • 企业内业务系统与Activiti流程引擎的结合(五)

    书接上回 Activiti流程接口中台 接口实现 查询指定人员办理过的任务 /task/user/{userNo}/hiProcinst 查询 activiti 相关表 请求参数 返回参数

    2024年02月13日
    浏览(42)
  • Activiti7工作流引擎:在线流程编辑器Activiti Modoler5.x

    有的时候我们的流程图需要业务人员自己绘制,然后使用自己绘制的流程图,此时就需要一个在线流程图编辑器需要集成到我们的web系统中。Activiti Modoler是Activiti官方推出的在线流程编辑器。 https://github.com/Activiti/Activiti/tree/5.x 将整个项目下载下来。不同版本的目录结构区别

    2024年02月09日
    浏览(54)
  • 工作流程引擎之flowable(集成springboot)

    现状:公司各部门业务系统有各自的工作流引擎,也有cross function的业务在不同系统或OA系统流转,没有统一的去规划布局统一的BPM解决方案,近期由于一个项目引发朝着整合统一的BPM方案,特了解一下市面上比较主流的开源和收费的工作流引擎。本文主要介绍开源的工作流引

    2024年02月08日
    浏览(32)
  • 基于Docker和Springboot两种方式安装与部署Camunda流程引擎

    Camunda 相对于其他流程引擎的优势在于开源性、 BPMN 2.0 支持、可扩展性、轻量级和高性能,以及可观察性。并且 Camunda 支持独立平台的方式部署流程引擎,这更有利于分布式的项目。本文以 7.18.0 版本为例,介绍了: Docker Spring Boot 两种安装和部署 Camunda 流程引擎的方式。 D

    2024年03月16日
    浏览(45)
  • Spring Boot 整合流程引擎 Flowable,so easy

    为啥想写 flowable 呢?原因很简单,因为最近在录的 tienchin 项目视频会用到,先写一篇文章和大家打打预防针,后面视频再细讲。 流程引擎,也算是一个比较常见的工具了,我们在日常的很多开发中都会用到,当然用的最多的就是 OA 系统了,但是在一些非 OA 系统中,我们也

    2024年02月07日
    浏览(42)
  • 【springboot中使用@RequestBody MultiValueMap 总是报400,415错误-关于流程引擎flowable】

    在Spring boot 中使用 @RequestBody 会报错,提示错误 Content type ‘application/x-www-form-urlencoded;charset=UTF-8’ not supported,代码如下: 这个在传统 spring MVC 中是有效的,但是在 Spring boot 中会报错。 传统是 Spring MVC 有效,是因为有 mvc:annotation-driven 注解,查资料,mvc:annotation-driven 注解配

    2024年02月17日
    浏览(37)
  • Camunda8微服务流程引擎搭建实战 -- camunda-identity接入keycloak,使用mysql数据库以OpenID Connect的方式实现用户的权限管理

    准备需要: docker最新版,camunda官方建议使用容器且最好能使用k8s,而且jar包启动失败时不能停止 mysql8.0+,keycloak默认使用postgresql,我不会 提前启动好其他组件,es,tasklis,operate,zeebe,偷个懒,我使用的jar包运行,也可以容器 组件下载地址,版本8.3.4 因为容器通信的问题(应该是通信/网络的

    2024年01月19日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包