工作流程基础

matevip 2021-7-31 大约 3 分钟

# 一、Flowable工作流基础

# 1.1 什么是 BPMN

BPMN是一套符号的标准,这些符号描述了如果做一个业务,并且这个业务在做的过程中被人监控和控制。业务人员和开发人员通过这套图形可以很好的完成协作。

# 1.2 什么是 Flowable

Flowable提供了一个组高效的核心开源业务流程引擎,为开发人员,系统管理员和业务用户提供工作流和业务流程管理(BPM)平台。全部用Java编写,并且基于Apache 2.0许可的开源,代码在社区维护。其核心是一个快速,经过试验和测试的动态BPMN流程引擎,附带DMN决策表和CMMN Case管理引擎。

# 翻译成大白话

Flowable是BPMN的一个基于java的软件实现,不过Flowable不仅仅包括BPMN,还有DMN决策表和CMMN Case管理引擎,并且有自己的用户管理、微服务API等一系列功能,是一个服务平台。

# 二、官方文档

# 2.1 官方文档

https://flowable.com/open-source/docs/oss-introduction/ (opens new window)

# 2.2 开源地址

https://github.com/flowable/flowable-engine (opens new window)

# 三、基础概念

# 3.1 model 模型

运行工作流首先你得需要一个流程的模板,来说明这个流程有哪几个节点,比如一个请假流程提交后先给到张三,张三同意后再给李四,李四同意后结束。

# 3.2 deploy 流程部署

流程模板部署后成为流程定义,一个模板可以多次部署,每次部署成功后版本号+1,所以不影响老的流程定义。 部署这个动作会往三张表里插入数据:

  1. act_re_deployment:部署一次,这张表里生成1条记录,会有一个ID_
  2. act_re_procdef:部署的时候在这张表里生成1条记录,代表一个流程实例,通过DEPLOYMENT_ID_对应act_re_deployment的ID_
  3. act_ge_bytearray:部署的时候在这张表里生成2条记录,一条是对应的xml,一条是对应图片,通过DEPLOYMENT_ID_对应act_re_deployment的ID_

# 3.3 processDefinition 流程定义

流程实例运行的时候以流程定义为参照,决定了一个流程实例运行的时候每一步的走向,而流程定义又是以流程模板部署而来。 流程定义主要是act_re_procdef

# 3.4 processInstance 流程实例

张三发起一个流程就是一个流程实例,李四发起一个流程就是一个流程实例 当前运行中的流程实例存放在act_ru_execution表 已经结束的流程实例存放在act_hi_actinst

# 3.5 task 任务

task代表一个节点的任务,比如张三发起一个流程,生成一个流程实例,当前的节点任务应该是张三的下一个节点李四审批了 当前运行中的任务存放在act_ru_task表 已经审批通过的任务存放在act_hi_taskinst

上次编辑于: 2021年7月31日 22:28
贡献者: matevip