flowable 工作流引擎
1. 什么是工作流
-
工作的一个流程 事物发展的一个业务过程
-
如请假流程:
员工申请-----部门审核------总经理审核------人事存档
-
-
在计算机的帮助下,能够实现流程 的自动化控制,称为工作流
2. 什么是工作流引擎
- 实现流程的自动化控制(自动化相对与程序员来说)
- 业务流程变更而程序不需要改变(目标)
- 以不变应万变
3. 工作流系统
-
具备工作流的系统
如果一个系统具备流程的自动化管理功能,这个功能就能称为工作流系统
-
有哪些手段能够实现工作流系统:如何来实现流程的自动化管理?
- 编码可以实现:在数据库中设置字段
4.使用步骤
- 导入依赖
<!--工作流引擎-->
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter-basic</artifactId>
<version>${flowable.version}</version>
</dependency>
-
创建数据库(flowable_demo)并链接(随便创建一个类(HolidayRequest)
public class HolidayRequest { public static void main(String[] args) { //1、创建ProcessEngineConfiguration实例,该实例可以配置与调整流程引擎的设置 ProcessEngineConfiguration cfg=new StandaloneProcessEngineConfiguration() //2、通常采用xml配置文件创建ProcessEngineConfiguration,这里直接采用代码的方式 //3、配置数据库相关参数 .setJdbcUrl("jdbc:mysql://localhost:3306/flowable_demo?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2b8&nullCatalogMeansCurrent=true") .setJdbcUsername("root") .setJdbcPassword("123123") .setJdbcDriver("com.mysql.jdbc.Driver") .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); //4、初始化ProcessEngine流程引擎实例 ProcessEngine processEngine=cfg.buildProcessEngine(); } }
-
试运行该类得到下面结果
-
运行产生的结果:会在数据库种创建34张表
-
数据库表如下
-
-
第一类:act_evt_*:事件日志信息
第二类:act_ge_*:普通通用的数据,各种情况都使用的数据
第三类:act_hI_* :hI是history存储的是历史信息,包含着流程的结束的流程实例,变量,任务等
第四类:act_id_* :id是identity(组织机构),包含标识的信息,如用户,用户组等等
第五类:act_re_* :与 act_procdef :repository 仓库
第六类:act_ru_* ru是runtime 运行时的表,存储着流程变量,用户任务,变量,且只存储运行时的数据,流程结束即表里面数据清空,保证了表小且快的特性。
以下为每张表的详细介绍:参考
分类 | 表名 | 描述 |
---|---|---|
普通数据(2) | act_ge_batearray | 通用的流程定义和流程资源 |
act_ge_property | 系统属性配置项 | |
流程历史记录(8) | act_hI_actinst | 历史的流程实例 |
act_hI_attachment | 历史的流程附件 | |
act_hI_comment | 历史的流程说明信息 | |
act_hI_detail | 历史的流程运行中产生的详细信息 | |
act_hI_identitylink | 历史的流程在运行过程中用户的关系 | |
act_hI_procinst | 历史的流程实例 | |
act_hI_taskinst | 历史的任务实例 | |
act_hI_varinst | 历史的流程运行中的变量信息 | |
用户与用户组(9) | act_id_bytearray | 二进制数据 |
act_id_group | 用户组信息 | |
act_id_info | 用户详细信息 | |
act_id_membership | 人与组的关系 | |
act_id_priv | 权限 | |
act_id_priv_mapping | 用户或组权限关系 | |
act_id_property | 属性 | |
act_id_token | 系统登录日志信息 | |
act_id_user | 用户信息 | |
流程定义(3) | act_re_deployment | 部署单元信息 |
act_re_model | 模型信息 | |
act_re_procdef | 已经部署的流程定义 | |
运行实例(10) | act_ru_deadletter_job | 正在运行的任务 |
act_ru_event_subscr | 运行时事件 | |
act_ru_execution | 运行时流程执行实例 | |
act_ru_history_job | 历史作业信息 | |
act_ru_ideatitylink | 运行时用户关系 | |
act_ru_job | 运行时作业信息 | |
act_ru_suspended_job | 暂停作业信息 | |
act_ru_task | 运行作业信息 | |
act_ru_timer_job | 定时作业信息 | |
act_ru_variable | 运行时变量信息 | |
act_evt_log | 事件日志表 | |
act_procdef_info | 流程定义详细信息 |
附录数据库34张表截图