前言
工作流是什么,这个问题我们就不在此进行解释了,这里我们主要讲解一下Activiti、Flowable和CodeDriver三款工作流的对比,为大家选型时做一些参考。
Activiti和Flowable大家可能多少都听说过,都是国外的工作流引擎,都支持BPM2.0协议。最开始的时候,Activiti、Flowable包括Camunda都一家,其源头都是由Activiti,后来Flowable与Camunda逐渐脱离。Camunda目前在国内的应用还是比较少,所以在本文章中主要讲解一下Activiti与Flowable。
Activiti
activiti经过版本更迭,目前最新版本为activiti7.x,与之前版本相比较,activiti7更加专注流程处理及服务,与业务表单(数据)耦合度越来越低,这也与它目前逐渐向云方向发展有关系。其源代码基于Java开发,与Spring完美集成,其设计思路也向Spring Cloud靠拢。
Activiti7由于支持BPMN2.0协议,其流程模式、可扩展性、事件都是很完善的,能满足绝大部分的流程需求。
BPMN2.0协议:https://blog.csdn.net/jflows/article/details/126766737
Flowable
flowable基于activiti6开始,经过迭代,目前最新版本为flowable6.7.x。flowable目前更像是activiti6版本的一个完整版、稳定版,它修复了activiti6中的大量bug,具有完整的流程引擎服务,与流程表单(业务数据)的耦合度相比较activiti7要高,在功能上,除了BPMN2.0协议中的内容之外,它还支持cmmn与dmn规范,但是支持程度没有camunda高。
CodeDriver
CodeDriver是一款基于bpmnjs,并进行国产适配化的工作流,不仅仅支持BPMN2.0协议中的网关、活动、事件等,还支持事件自定义、自定义扩展、业务个性化编排等,使之更加全面化、合符国内特色需求。
CodeDriver地址:http://www.codedriver.com.cn
综合
以上三款产品,最主要的特点:
Activiti7:分布式、云方向,与业务数据耦合低(通过business_key关联);
Flowable:稳定、支持mongdb存储、功能较为完善
CodeDriver:微服务、私有化部署、国产适配、功能丰富
产品选型对比:
云服务支持度 |
业务数据耦合度 |
二开与集成支持度 |
国产化程度 | |
Activiti7 |
较高 |
低 |
高 |
中 |
Flowable |
中 |
中 |
高 |
中 |
CodeDriver |
中 |
中 |
高 |
高 |
注:国产化程度,包括国内特色审批场景(包括并发、会签、加签、驳回、移交、跳转等)、国产化数据库适配程度(比如达梦、人大金仓、瀚高等等)。