作者:独钓寒江雪
一剑一酒一江湖, 便是此生
心中有图,何必点灯。装载请注明出处

QuickStart
Flowable在6.4.0版本上提供了一个Flowable-tomcat让人能快速的启动Flowable进行相关demo。包含的模块有:IDM,TASK,ADMIN,MODLER。不默认包含rest模块。
依赖关系
Flowable的表结构生成也是依赖于Liquibase来进行生成的。故只需要引入相应的依赖就会自动生成表结构。SpringBoot依赖如下:当前版本基于Flowable的6.5版本编写。。据官网所说也是最后一个开源版本。建议使用一个独立的DB Schema。Flowable为辅,只提供Engine相关服务即。 毕竟还是业务是王道。Flowable本身提供的还是太过于理想化。为何这么说, 后面一起来看。
<!-- 主要依赖-->
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter-basic</artifactId>
<version>${flowable.version}</version>
</dependency>
<!-- 如下3个是为了后续部署可以进行前后端好交互-->
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-bpmn-converter</artifactId>
<version>${flowable.version}</version>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-json-converter</artifactId>
<version>${flowable.version}</version>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-bpmn-layout</artifactId>
<version>${flowable.version}</version>
</dependency>
启动之后就会生成基本的
46张表。而非之前的传统的34张表。
表结构分析
一看
表命名是不是有点熟悉。没错。和Activity简直是一模一样的风格。毕竟都是同一波核心开发人员。有时候,英雄的离开,是以另一种方式来燃气烈火。。不扯犊子了。
ACT_EVT_*
- ACT_EVT_LOG: 事件日志相关
- ACT_PROCDEF_INFO: 当通过缓存保存的流程信息
ACT_GE_*
- ACT_GE_BYTEARRAY:保存流程的bpmn的xml以及流程的Image缩略图等信息
- ACT_GE_PROPERTY:Flowable相关的基本信息。比如各个module使用的版本信息。
ACT_RE_*
- ACT_RE_DEPLOYMENT: 部署对象,存储流程名称 租户相关
- ACT_RE_MODEL:基于流程的模型信息
- ACT_RE_PROCDEF:流程定义表
ACT_RU_*(Runtime相关)
- ACT_RU_ACTINST:运行中实例的活动表
- ACT_RU_DEADLETTER_JOB:当JOB执行很多次都无法执行,就会被记录在此表
- ACT_RU_ENTITYLINK:还没使用到。后续更新此表。
- ACT_RU_EVENT_SUBSCR:运行时的事件
- ACT_RU_EXECUTION:运行的实例表
- ACT_RU_HISTORY_JOB; 运行中的定时任务历史表
- ACT_RU_IDENTITYLINK: 当前任务执行人的信息
- ACT_RU_JOB:运行中的异步任务
- ACT_RU_SUSPENDED_JOB:暂停的任务表。如果一个异步任务在运行中,被暂停。就会记录在词表
- ACT_RU_TASK:运行中的正常节点任务
- ACT_RU_TIMER_JOB:定时作业表
- ACT_RU_VARIABLE:运行中的流程实例变量
ACT_ID_*(IDM模块。用户相关)
这块其实基于我个人想法,不建议使用。但是如果是以工作流为核心,为业务的公司,比如专门做OA的公司。鄙人是制造业相关出身,故工作流这块的IDM没有使用。都是业务系统进行WorkFlowEngine的调用而已。
- 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:用户
ACT_HI_*(历史相关)
- ACT_HI_ACTINST: 流程实例历史
- ACT_HI_ATTACHMENT:实例的历史附件,几乎不会使用,会加大数据库很大的一个loading
- ACT_HI_COMMENT:实例的历史备注
- ACT_HI_DETAIL:实例流程详细信息
- ACT_HI_IDENTITYLINK: 实例节点中,如果指定了
目标人,产生的历史 - ACT_HI_PROCINST:流程实例历史
- ACT_HI_TASKINST:流程实例的任务历史
- ACT_HI_VARINST:流程实例的变量历史
FLW_*
- FLW_CHANNEL_DEFINITION: 泳池管道定义表
- FLW_EVENT_DEFINITION:事件定义
- FLW_EVENT_DEPLOYMENT:事件必输
- FLW_EVENT_RESOURCE:事件所需资源
- FLW_EV_DATABASECHANGELOG:Liquibase执行的记录
- FLW_EV_DATABASECHANGELOGLOCK:Liquibase执行锁
- FLW_RU_BATCH:暂时未知
- FLW_RU_BATCH_PART:暂时未知
具体的相应的表结构会在后面的介绍中,结合实例一一分析。此处就不多费口舌了。
本期内容就到此就结束了。如有大侠指定,请不吝赐教。。。下期介绍流程定义,启动,历史以及查询代办任务以及流程未来节点相关。尽情期待。。。

