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

小白学流程引擎-FLowable(一) | FLowable是什么

一、什么是流程引擎?

通俗的说,流程引擎就是多种业务对象在一起合作完成某件事情的步骤,把步骤变成计算机能理解的形式就是流程引擎。

流程引擎,用来驱动业务按照设定的固定流程去流转的东西,在复杂多变的业务情况下,使用既定的流程能够大大降低我们设计业务的成本,并且保证了我们业务执行的准确性。

流程引擎应用广泛,在由流程驱动的各种系统中都有应用,例如OA、CRM、ERP、ECM、BI等。在企业应用中还有很多产品或平台集成流程引擎,用来处理系统运行过程中发起的业务流程。

Flowable是一个使用Java编写的轻量级业务流程引擎。

OA流程审批系统就是用到了流程引擎。
在这里插入图片描述

二、流程引擎框架有哪些?

常见的开源流程引擎有Osworkflow,JBPM,Activiti,Flowable,Camunda等。

其中:Jbpm4、Activiti、Flowable、camunda四个框架同宗同源,祖先都是Jbpm4,开发者只要用过其中一个框架,基本上就会用其它三个。开发低代码平台、OA系统、BPM软件均需要流程可视化功能,而流程可视化核心是流程引擎和流程设计器,对于市场上如此多的开源流程引擎,哪个功能和性能好,该如何选型呢?

三、常见的流程引擎对比

Osworkflow
是一个轻量级的流程引擎,提供的工作流构成元素有:步骤(step)、条件(conditions)、循环(loops)、分支(spilts)、合并(joins)等,但不支持会签、跳转、退回、加签等这些操作,需要自己扩展开发,有一定难度。如果流程比较简单,可以使用,但笔者不推荐。
官方网站:http://www.opensymphony.com/osworkflow/

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

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

Flowable
flowable基于activiti6衍生出来的版本,是一个使用Java编写的轻量级业务流程引擎,使用 Apache V2 license 协议开源。
Flowable 项目中包括 BPMN(Business Process Model and Notation)引擎、CMMN(Case Management Model and Notation)引擎、DMN(Decision Model and Notation)引擎、表单引擎(Form Engine)等模块。
官方网站:https://flowable.com/open-source/
github地址:https://github.com/flowable/flowable-engine

Camunda
Camunda基于activiti5,所以其保留了PVM,开发团队也是从activiti中分裂出来的,发展轨迹与flowable相似,同时也提供了商业版,不过对于一般企业应用,开源版本也足够了。
相对开源流程引擎来说,Camunda的功能和性能表现的更好更稳定。在性能和稳定性表现好,功能也是对比其他开源流程引擎来说更丰富和完善。
官方网站:https://docs.camunda.org/manual/7.15/
github地址:https://github.com/camunda/camunda-bpm-platform

更多
Activiti,Flowable,Camunda的详细对比可以翻阅文章末的参考文献。

四、总结

流程引擎没有最优的一个,只有更适合的一个。选择符合自己业务发展的需要来选择对于的流程引擎。

以上的常见的开源流程引擎,Osworkflow功能简单,很多功能不支持;JBPM可能需要大量的扩展开发,才能实现中国特色的复杂流程需求,因此JBPM不是最佳选择;Activiti的版本比较复杂,有多个主流版本,选型复杂,当然Activiti也还不错,是后续Flowable和Camunda的前身;Flowable和Camunda相比Activiti,功能更完善,性能更好,当然Camunda会更优。
当然,Activiti,Flowable和Camunda这三个选择任意一个作为业务的流程引擎,都是能够满足大多是场景需求的,还要结合业务难易需求,系统架构等方面来综合考虑。

题外话,笔者在公司主要负责公司内部的流程引擎系统的开发,使用的是Flowable,后续会记录学习Flowable的笔记,一是让自己的知识形成体系化,二是让更多想要学习Flowable的同学们得到一点点帮助也好。

【参考文献】
1,Flowable用户手册v6.3.0
https://tkjohn.github.io/flowable-userguide/
2,CSDN博主「大龄码农有梦想」的原创文章“osworkflow、jbpm、activiti、flowable、camunda开源流程引擎哪个好?”
https://lowcode.blog.csdn.net/article/details/116405594
3,CSDN博主「分享牛」的原创文章“flowable camunda activiti 功能对比”
https://blog.csdn.net/qq_30739519/article/details/86682931
4,CSDN博主「分享牛」的原创文章“Camunda/Flowable/Activiti技术发展史/盘古BPM框架对比最新版”
https://blog.csdn.net/qq_30739519/article/details/105050776

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ruoyi-flowable是一个基于vue3的开源工作流引擎,它能够帮助开发者快速开发和管理各种工作流程。Vue3是最新版本的Vue框架,它在性能、开发体验和生态系统方面都有很大的改进。 ruoyi-flowable的优势在于它提供了一套完整的工作流引擎,能够满足不同项目的需求。它支持流程定义、流程实例化、任务分配等功能,可以帮助开发者设计和管理复杂的业务流程。同时,ruoyi-flowable还提供了丰富的扩展接口,可以与其他系统进行集成,如用户管理系统、权限管理系统等。 在使用方面,ruoyi-flowable提供了友好的用户界面,通过vue3的特性来增强用户体验。它支持绑定数据和事件,实时更新,使用户能够快速准确地了解到工作流程的状态和进展。同时,ruoyi-flowable还提供了灵活的配置选项,可以根据具体需求对工作流进行定制,适应不同的业务场景。 此外,ruoyi-flowable还具有良好的社区支持和文档资料,开发者可以通过官方文档了解到其详细的使用方法和技术细节。在遇到问题时,还可以通过社区提问或参与讨论,获得及时的帮助和解决方案。 总的来说,ruoyi-flowable是一个集成了vue3的工作流引擎,具有完善的功能和良好的用户体验。它可以帮助开发者快速开发和管理各种工作流程,并且具有良好的社区支持和文档资料。使用ruoyi-flowable可以大大提高开发效率和项目质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值