58 lines
2.5 KiB
Markdown
58 lines
2.5 KiB
Markdown
|
## WordFlow 工作流引擎
|
|||
|
|
|||
|
是一种按照预定义规则【需要符合BPMN规范】进行部署,将业务和节点的流程进行分离【特定形式进行关联】,
|
|||
|
|
|||
|
|
|||
|
### 二、什么是Activiti7?
|
|||
|
|
|||
|
Activiti 是一个工作流引擎, activiti 可以将业务系统中复杂的业务流程抽取出来,使用专门的
|
|||
|
建模语言(BPMN2.0)进行定义,业务系统按照预先定义的流程进行执行
|
|||
|
|
|||
|
https://www.activiti.org
|
|||
|
|
|||
|
2.2 Activiti7内部核心机制
|
|||
|
|
|||
|
1️⃣业务流程图要规范化,需要遵守一套标准。
|
|||
|
|
|||
|
2️⃣业务流程图本质上就是一个XML文件,而XML可以存放所要的数据。
|
|||
|
|
|||
|
3️⃣读取业务流程图的过程就是解析XML文件的过程。
|
|||
|
|
|||
|
4️⃣读取一个业务流程图的结点就相当于解析一个XML的结点,进一步将数据插入到MySQL表中,形成一条记录。
|
|||
|
|
|||
|
5️⃣将一个业务流程图的所有节点都读取并存入到MySQL表中。
|
|||
|
|
|||
|
6️⃣后面只要读取MySQL表中的记录就相当于读取业务流程图的一个节点。
|
|||
|
|
|||
|
7️⃣业务流程的推进,后面就转换为读取表中的数据,并且处理数据,结束的时候这一行数据就可以删除了。
|
|||
|
|
|||
|
### BPMN
|
|||
|
|
|||
|
BPMN(Business Process Model And Notation),业务流程模型和符号,是由BPMI(Business Process Management Initiative)开发的一套的业务流程建模符号,使用BPMN提供的符号可以创建业务流程。2004年5月发布了BPMN1.0规范。
|
|||
|
|
|||
|
> [processOn BPMN 概念](https://www.processon.com/knowledge/bpmndiagram)
|
|||
|
>
|
|||
|
> ### BPMN 的核心元素
|
|||
|
> - 活动:活动是 BPMN 中最基本的元素之一,它代表了业务流程中的一个具体任务或操作。可以自动/手动、
|
|||
|
> - 事件:事件是 BPMN 中用于表示流程中的特定时刻或状态的元素。例如,开始事件、结束事件、中间事件等。
|
|||
|
> - 网关:网关用于控制流程的执行路径,可以实现并行、条件、互斥等多种逻辑。
|
|||
|
> - 泳道:泳道用于将流程分解为多个并行的部分,每个泳道代表一个独立的执行路径。
|
|||
|
|
|||
|
> 一个BPMN的例子:
|
|||
|
> - 当事人填写请假单,启动流程后把请假单ID绑定到流程中;
|
|||
|
> - 部门经理对请假单进行审核;
|
|||
|
> - 然后人事经理进行复核并进行备案;
|
|||
|
> - 最后请假流程结束。
|
|||
|
|
|||
|
### Activiti支持的数据库
|
|||
|
|
|||
|
- Activiti的运行需要数据库的支撑,支持如下:
|
|||
|
- h2
|
|||
|
- MySQL
|
|||
|
- Oracle
|
|||
|
- Db2
|
|||
|
- postgres
|
|||
|
- mysql
|
|||
|
|
|||
|
- 在Navicat工具中创建`activiti`的数据库,用于后续的实验.
|