文章目录
- 1.前言
- 1.1Flowable是什么?
- 1.2重要概念
- 1.3使用步骤
- 2.全局配置说明
- 2.1数据库表说明
- 2.2BPMN文件说明(了解)
- 2.2.1BPMN定义
- 2.2.2BPMN基础元素
1.前言
1.1Flowable是什么?
- Flowable是WorkFlow的一种工作流
- WorkFlow,即工作流,对于一项业务,按照规定的流程,逐级传递、申请、执行等,并且受到了严格控制的一种业务过程
- Flowable,是一款轻量级的工作流引擎,启动快、体积小,且可以嵌入Java应用中使用
- Flowable官方中文文档
1.2重要概念
- 流程模型: Model,即描述整个流程的过程,为流程图或bpmn
- 流程定义: ProcessDefinition,将一个流程模型,即 XML 文件或流程图,部署到 flowable 中,这就是一个定义好的流程了,基于这个定义好的流程,我们可以开启很多流程实例
- 流程实例: ProcessInstance,即一个流程对象,例如每一次申请请假,就是一个流程实例
- 执行实例: Execution,在一个流程中,出口和入口是一个流程实例的节点,而中间的过程则是执行实例
- 流程变量: 流程实例里面设置的变量名、变量值
1.3使用步骤
- 建立流程模型,描述整个流程的过程,可生成流程图或bpmn文件
- 部署流程模型,生成流程定义,并绑定关联的业务表
- 启动指定的流程实例,每一次申请请假,即启动一个流程实例
- 任务节点指定的审批人或组的key获取待办列表,审批该节点
- 自动到下一个节点指定的审批人或组,审批人查询节点已办列表。
2.全局配置说明
2.1数据库表说明
- Flowable的所有数据库表都以ACT_ 开头。第二部分是说明表用途的两字符标示符。
- ACT_RE_: 'RE’代表repository。带有这个前缀的表包含“静态”信息,例如流程定义与流程资源(图片、规则等)。
- ACT_RU_: 'RU’代表runtime。这些表存储运行时信息,例如流程实例(process instance)、用户任务(user task)、变量(variable)、作业(job)等。Flowable只在流程实例运行中保存运行时数据,并在流程实例结束时删除记录。这样保证运行时表小和快。
- ACT_HI_: 'HI’代表history。这些表存储历史数据,例如已完成的流程实例、变量、任务等。
- ACT_GE_: 通用数据。在多处使用。
表分类 | 表名 | 表说明 |
---|---|---|
一般数据(2) | ACT_GE_BYTEARRAY | 通用的流程定义和流程资源 |
ACT_GE_PROPERTY | 系统相关属性 | |
流程定义表(3) | ACT_RE_MODEL | 流程模型 |
ACT_RE_DEPLOYMENT | 流程部署表 | |
ACT_RE_PROCDEF | 流程定义表 | |
运行实例表(10) | ACT_RU_EXECUTION | 运行时流程实例 |
ACT_RU_VARIABLE | 运行时变量表 | |
ACT_RU_DEADLETTER_JOB | 正在运行任务表 | |
ACT_RU_HISTORY_JOB | 历史作业表 | |
ACT_RU_SUSPENDED_JOB | 暂停作业表 | |
ACT_RU_TIMER_JOB | 定时作业表 | |
ACT_RU_JOB | 运行时作业表 | |
ACT_RU_TASK | 运行时任务表 | |
ACT_RU_EVENT_SUBSCR | 运行时事件 | |
ACT_RU_IDENTITYLINK | 运行时用户关系信息 |
2.2BPMN文件说明(了解)
2.2.1BPMN定义
- BPMN(Business Process Modeling Notation,即业务流程建模符号),是一种流程建模的通用和标准语言,用来绘制业务流程图,以便更好地让各部门之间理解业务流程和相互关系。
2.2.2BPMN基础元素
-
BPMN基础元素有四种:流对象、数据、连接对象、泳道
-
流对象: 流对象:定义业务流程的主要图形元素,包括三种:事件、活动、网关
- 事件: 指的是在业务流程的运行过程中发生的事情,分为:开始、中间、结束
- 活动: 包括任务和子流程两类。
- 网关: 排他网关、并行网关、包容网关(同时执行多条线路,也可以在网关上设置条件)、事件网关:专门为中间捕获事件设置的,允许设置多个输出流指向多个不同的中间捕获事件。当流程执行到事件网关后,流程处于等待状态,需要等待抛出事件才能将等待状态转换为活动状态
-
数据: 数据主要通过四种元素表示,如数据对象、数据输入、数据输出、数据存储
-
连接对象: 流对象彼此互相连接或者连接到其他信息的方法主要有三种
- 顺序流:用一个带实心箭头的实心线表示,用于指定活动执行的顺序
- 信息流:用一条带箭头的虚线表示,用于描述两个独立的业务参与者(业务实体/业务角色)之间发送和接受的消息流动
- 关联:用一根带有线箭头的点线表示,用于将相关的数据、文本和其他人工信息与流对象联系起来。用于展示活动的输入和输出
-
泳道: 通过泳道对主要的建模元素进行分组,将活动划分到不同的可视化类别中来描述由不同的参与者的责任与职责