我的文章习惯用大白话,而不是什么规范性的文章
什么是流程引擎
我曾经做过一个流处理引擎,对于流程引擎,其实也是差不多的;
流程引擎就是把多个节点步骤动态的整合起来,变成一件事情去做;
例如:申请报销,以下则是一个流程,流程引擎就是把以下多个节点整合成一件事去做
为什么要使用流程引擎
不需要的情况
1.如果你只有一个业务你肯定是不需要流水引擎的
2.如果你的业务是可重复使用也是不需要流水引擎的
需要的情况
1.你有很多业务,每个业务处理逻辑不一样,这个时候使用流水引擎会更方便的记录状态
2.用户可以动态的生成业务
3.可以在服务器不停止的情况下,不改变代码结构的情况下,添加一个新的业务
流程引擎应该包含哪些功能
流程引擎已经有一套规则,称呼为BPMN,本文以及后续内容以此规范来进行使用;
流程引擎应该完成以下基本节点
- 用户操作节点
- 系统自动节点
- 排他网关
- 并行网关
通过此四种类型,完成复杂业务流程
为什么使用FlowAble
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
我应该如何学习
跟着后续文章走,后续文章会实现多个功能
1.用户自定义工作流导入到项目里
2.同意、不同意、加签、会签、多人审批、抄送、系统自动运行、自动加载数据等功能
3.回退、撤销、操作日志、历史记录等功能
你可以完全根据后续我提供的依赖,进行商业化实现
【参考文献】
小白学流程引擎-FLowable(一) —FLowable是什么
原文链接:https://blog.csdn.net/weixin_44143114/article/details/128048613