Flowable从入门到入土(2)-初始Flowable表关系

9,804 阅读3分钟

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


前文传送门:Flowable从入门到入土(1)-初始Flowable


QuickStart

Flowable6.4.0版本上提供了一个Flowable-tomcat让人能快速的启动Flowable进行相关demo。包含的模块有:IDM, TASK,ADMIN, MODLER。不默认包含rest模块。

依赖关系

Flowable的表结构生成也是依赖于Liquibase来进行生成的。故只需要引入相应的依赖就会自动生成表结构。 SpringBoot依赖如下:当前版本基于Flowable的6.5版本编写。。据官网所说也是最后一个开源版本。建议使用一个独立的DB SchemaFlowable为辅,只提供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:暂时未知

具体的相应的表结构会在后面的介绍中,结合实例一一分析。此处就不多费口舌了。


本期内容就到此就结束了。如有大侠指定,请不吝赐教。。。下期介绍流程定义,启动,历史以及查询代办任务以及流程未来节点相关。尽情期待。。。