目录
一、介绍
工作流引擎(Workflow Engine)是一种软件系统,它负责执行定义在工作流模型中的业务流程。工作流模型通常由业务分析师或开发者使用图形化工具设计,并通过工作流引擎来执行这些流程。工作流引擎的核心功能是管理业务流程的执行状态,控制流程的流转,并根据预定义的规则触发相应的动作或任务
二、流行的工作流引擎
市场上比较有名的开源流程引擎有osworkflow、jbpm、activiti、flowable、camunda。其中:Jbpm4、Activiti、Flowable、camunda四个框架同宗同源,祖先都是Jbpm4,开发者只要用过其中一个框架,基本上就会用其它三个。
activiti5以及activiti6、flowable是Tijs Rademakers团队开发的。Activiti7是 Salaboy团队开发的。activiti6以及activiti5代码目前有 Salaboy团队进行维护。
1.Activiti
一个轻量级的、基于Java的工作流和业务流程管理(BPM)平台。
2.Flowable7
一个强大的、开源的工作流和业务流程管理(BPM)平台,由jBPM的原始开发者创建。
作为一个业务流程管理(BPM)工具,Flowable 一直以高效、灵活、易用等特点受到广大用户的青睐。
3.Camunda8
一个开源的工作流和决策自动化平台,支持BPMN、CMMN和DMN。
4.jBPM9
一个灵活的业务流程管理(BPM)套件,可以集成到各种Java应用中。
5.osworkflow
是一个轻量化的流程引擎,基于状态机机制,数据库表很少,osworkflow 提供的工作流构成元素有:
步骤(step)
条件(conditions)
循环(loops)
分支(spilts)
合并 joins)
等
但不支持会签、跳转、退回、加签等这些需要自己扩展开发,有一定难度。
如果流程比较简单,osworkflow 是很好的选择
6、Apache Airflow
一个用于编排复杂计算工作的开源平台,由Airbnb开发
7.jflow
对比项\引擎 | Activiti-7.x | Flowable-6.x | Camunda- |
---|---|---|---|
商业化 | √ | √ | √ |
路线(Roadmap) | 云 | 工具型 | 轻量&工具型 |
PVM引擎 | × | × | √ |
BPMN2引擎 | √ | √ | √ |
CMMN引擎 | × | √ | × |
DMN引擎 | × | √(开源版支持不太好) | √ |
建模工具选型 | √(AngularJS) | √(AngularJS) | √(Bpmn.js&Camunda Provider) |
建模工具内容 | BPMN2 | BPMN2/CMMN/DMN | BPMN2/CMMN/DMN |
扩展节点(Mule\Http等) | × | √ | √ |
Spring Boot | √ | √ | √ |
Spring Cloud | √ | × | × |
Web控制台 | √ | √ | √ |
Rest接口 | √ | √ | √ |
历史异步归档 | × | √ | × |
异步任务全局锁 | × | √ | × |
系列文章
内容 | 地址 链接 |
---|---|
LIMS | 一文搞清楚BPMN 、 CMMN &、 DMN 协议 |
版本记录
- 2024-03-18 第一版