转一个关于JBPM JBPM4 基础

Execution 状态:
STATE_ CREATED:实例化,介于创建与启动之间
STATE_ACTIVE_ROOT:单(非并发)任务
STATE_ACTIVE_CONCURRENT:并发任务
STATE_INACTIVE_CONCURRENT_ROOT:并发任务的父任务,(fork节点)
STATE_INACTIVE_SCOPE:父任务的限定作用域
STATE_INACTIVE_JOIN:并发任务的下一步是join,等待其他并发任务执行,当前任务的状态改为inactive_join
STATE_SUSPENDED:挂起
STATE_ASYNC:异步延拓
STATE_ENDED:结束

jBPM资源库和运行时表结构ER图

jBPM资源库和运行时表结构ER图

jBPM历史数据库表结构ER图

jBPM历史数据库表结构ER图

jBPM身份认证表结构ER图

 jBPM身份认证表结构ER图



JBPM4表说明:

JBPM4_DEPLOYMENT   流程定义表
JBPM4_DEPLOYPROP
 流程定义属性表
 

JBPM4_EXECUTION  流程实例表 
JBPM4_HIST_ACTINST 流程活动( 节点) 实例表

JBPM4_HIST_DETAIL 
 流程历史详细表

JBPM4_HIST_PROCINST
 流程实例历史表 

JBPM4_HIST_TASK 
 流程任务实例历史表
JBPM4_HIST_VAR 
 流程变量( 上下文) 历史表
 

JBPM4_ID_GROUP
 组表
JBPM4_ID_MEMBERSHIP
 用户角色表
JBPM4_ID_USER 
 用户表
JBPM4_JOB  定时表
JBPM4_LOB 
 存储表
 
JBPM4_PARTICIPATION
 参与者表
JBPM4_SWIMLANE  泳道表
JBPM4_TASK
 任务表
 
JBPM4_VARIABLE 上下文表 

红 色的表为经常使用的表. 这里不使用JBPM 自己的权限角色定义.

发布一个流程deploy 后
jbpm4_deployment
 新增一条记录
jbpm4_deployprop
 新增三条记录
jbpm4_lob
 新增一条记录

开始一个流程startProcessInstanceByKey 后
jbpm4_execution
 新增一条记录
jbpm4_hist_actinst
 新增一条记录
jbpm4_hist_procinst
 新增一条记录
jbpm4_hist_task
 新增一条记录
jbpm4_task
 新增一条记录

流程定义相关的布署信息就存储在 1 ) JBPM4_DEPLOYMENT 、(2 ) JBPM4_DEPLOYPROP  3 )JBPM4_LOB 中。上传一个包含png 和jpdl.xml 的zip 包后,JBPM4_DEPLOYMENT 多一条记录 JBPM4_DEPLOYPROP多三条, JBPM4_LOB 多两条。
4 )JBPM4_HIST_PROCINST  5 ) JBPM4_HIST_ACTINST 分别存放的是Process Instance 、Activity Instance 的历史记录。
6 )JBPM4_EXECUTION 主要是存放JBPM4 的执行信息,Execution 机制代替了JBPM3 的Token 机制(详细参阅JBPM4 的PVM 机制)。
7 )JBPM4_TASK 存放需要人来完成的Activities ,需要人来参与完成的Activity 被称为Task 。
8 )JBPM4_PARTICIPATION 存放 Participation 的信息,Participation 的种类有Candidate 、ClientOwner 、Replaced Assignee 和Viewer 。而具体的Participation 既可以是单一用户,也可以是用户组。
9 )JBPM4_SWIMLANE 。 Swim Lane 是一种Runtime Process Role 。通过Swim Lane ,多个Task 可以一次分配到同一Actor 身上。
10 ) JBPM4 _VARIABLE 存的是进行时的临时变量。
11 ) JBPM4_HIST_DETAIL 保存 Variable 的变更记录。 
12 )JBPM4_HIST_VAR 保存历史的变量 。 
13 ) JBPM4_HIST_TASK Task 的历史信息。 
14 )JBPM4_ID_GROUP 15 )JBPM_ID_MEMBERSHIP 16 )JBPM4_ID_USER 这三张表很常见了,基本的权限控制,关于用户认证方面建议还是自己开发一套,JBPM4 的功能太简单了,使用中有很多需要难以满足。 
17 ) JBPM4_JOB 存放的是Timer 的定义

18 ) JBPM4_PROPERTY JBPM 引擎参数表。

 

 

1.1.1.1.   JBPM4_DEPLOYMENT

表名

流程定义表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

流程模版标识

NAME_

CLOB

Y

 

流程模版名称

TIMESTAMP_

NUMBER(19)

Y

 

时间戳

STATE_

VARCHAR2(255 CHAR)

Y

 

可用状态

补充说明

 

 

 

1.1.1.2.   JBPM4_DEPLOYPROP

表名

流程定义属性表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

主键

DEPLOYMENT_

NUMBER(19)

Y

FK(JBPM4_DEPLOYMENT, DBID_)

流程ID

OBJNAME_

VARCHAR2(255 CHAR)

Y

 

流程名称

KEY_

VARCHAR2(255 CHAR)

Y

 

类型

STRINGVAL_

VARCHAR2(255 CHAR)

Y

 

类型是字符串时的值

LONGVAL_

NUMBER(19)

Y

 

类型是数值时的值

 

 

 

 

 

补充说明

 

 

 

1.1.1.3.   JBPM4_EXECUTION

表名

流程实例表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

流程实例ID

CLASS_

VARCHAR2(255 CHAR)

N

 

类型

DBVERSION_

NUMBER(10)

N

 

步骤版本

ACTIVITYNAME_

VARCHAR2(255 CHAR)

Y

 

节点名称

PROCDEFID_

VARCHAR2(255 CHAR)

Y

 

流程定义ID

HASVARS_

NUMBER(1)

Y

 

是否有变量值

NAME_

VARCHAR2(255 CHAR)

Y

 

名称

KEY_

VARCHAR2(255 CHAR)

Y

 

 

ID_

VARCHAR2(255 CHAR)

Y

UK

令牌ID

STATE_

VARCHAR2(255 CHAR)

Y

 

令牌状态

SUSPHISTSTATE_

VARCHAR2(255 CHAR)

Y

 

保存暂停之前状态

PRIORITY_

NUMBER(10)

Y

 

优先级

HISACTINST_

NUMBER(19)

Y

 

历史活动实例ID

PARENT_

NUMBER(19)

Y

FK(JBPM4_EXECUTION, DBID_)

父实例

INSTANCE_

NUMBER(19)

Y

FK(JBPM4_EXECUTION, DBID_)

流程实例

SUPEREXEC_

NUMBER(19)

Y

FK(JBPM4_EXECUTION, DBID_)

父令牌

SUBPROCINST_

NUMBER(19)

Y

FK(JBPM4_EXECUTION, DBID_)

子流程实例

PARENT_IDX_

NUMBER(10)

Y

 

父实例序号

 

 

 

 

 

补充说明

 

 

 

1.1.1.4.   JBPM4_HIST_ACTINST

表名

流程活动( 节点) 实例表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

标识

CLASS_

VARCHAR2(255 CHAR)

N

 

activity 类型

DBVERSION_

NUMBER(10)

N

 

版本

HPROCI_

NUMBER(19)

Y

FK(JBPM4_HIST_PROCINST, DBID_)

历史流程实例

TYPE_

VARCHAR2(255 CHAR)

Y

 

活动实例类型

EXECUTION_

VARCHAR2(255 CHAR)

Y

 

令牌

ACTIVITY_NAME_

VARCHAR2(255 CHAR)

Y

 

活动实例名称

START_

TIMESTAMP(6)

Y

 

开始名称

END_

TIMESTAMP(6)

Y

 

结束时间

DURATION_

NUMBER(19)

Y

 

节点停留时间

TRANSITION_

VARCHAR2(255 CHAR)

Y

 

迁移路径

NEXTIDX_

NUMBER(10)

Y

 

 

HTASK_

NUMBER(19)

Y

FK(JBPM4_HIST_TASK, DBID_)

对应的定义任务

 

 

 

 

 

补充说明

 

 

 

1.1.1.5.   JBPM4_HIST_DETAIL

表名

流程历史详细表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

流程模版标识

CLASS_

VARCHAR2(255 CHAR)

N

 

 

DBVERSION_

NUMBER(10)

N

 

版本

USERID_

VARCHAR2(255 CHAR)

Y

 

用户ID

TIME_

TIMESTAMP(6)

Y

 

时间

HPROCI_

NUMBER(19)

Y

FK(JBPM4_HIST_PROCINST, DBID_)

对应的历史流程实例

HPROCIIDX_

NUMBER(10)

Y

 

 

HACTI_

NUMBER(19)

Y

FK(JBPM4_HIST_ACTINST, DBID_)

对应的历史活动实例ID

HACTIIDX_

NUMBER(10)

Y

 

 

HTASK_

NUMBER(19)

Y

FK(JBPM4_HIST_TASK, DBID_)

对应的任务

HTASKIDX_

NUMBER(10)

Y

 

 

HVAR_

NUMBER(19)

Y

FK(JBPM4_HIST_VAR, DBID_)

对应的变量值

HVARIDX_

NUMBER(10)

Y

 

 

MESSAGE_

CLOB

Y

 

消息

OLD_STR_

VARCHAR2(255 CHAR)

Y

 

老的String类型的值

NEW_STR_

VARCHAR2(255 CHAR)

Y

 

新的String类型的值

OLD_INT_

NUMBER(10)

Y

 

 

NEW_INT_

NUMBER(10)

Y

 

 

OLD_TIME_

TIMESTAMP(6)

Y

 

 

NEW_TIME_

TIMESTAMP(6)

Y

 

 

PARENT_

NUMBER(19)

Y

 

变量的父变量

PARENT_IDX_

NUMBER(10)

Y

 

变量的父变量序号

 

 

 

 

 

补充说明

 

 

 

1.1.1.6.   JBPM4_HIST_PROCINST

表名

流程实例历史表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

标识

DBVERSION_

NUMBER(10)

N

 

版本

ID_

VARCHAR2(255 CHAR)

Y

 

 

PROCDEFID_

VARCHAR2(255 CHAR)

Y

 

流程定义ID

KEY_

VARCHAR2(255 CHAR)

Y

 

 

START_

TIMESTAMP(6)

Y

 

开始时间

END_

TIMESTAMP(6)

Y

 

结束时间

DURATION_

NUMBER(19)

Y

 

停留时间

STATE_

VARCHAR2(255 CHAR)

Y

 

流程实例状态(活动,完成)

ENDACTIVITY_

VARCHAR2(255 CHAR)

Y

 

是否完成

NEXTIDX_

NUMBER(10)

Y

 

 

 

 

 

 

 

补充说明

 

 

 

1.1.1.7.   JBPM4_HIST_TASK

表名

流程任务实例历史表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

标识

DBVERSION_

NUMBER(10)

N

 

版本

EXECUTION_

VARCHAR2(255 CHAR)

Y

 

令牌

OUTCOME_

VARCHAR2(255 CHAR)

Y

 

路径名称

ASSIGNEE_

VARCHAR2(255 CHAR)

Y

 

处理人

PRIORITY_

NUMBER(10)

Y

 

优先级

STATE_

VARCHAR2(255 CHAR)

Y

 

完成情况

CREATE_

TIMESTAMP(6)

Y

 

创建时间

END_

TIMESTAMP(6)

Y

 

完成时间

DURATION_

NUMBER(19)

Y

 

任务节点停留时间

NEXTIDX_

NUMBER(10)

Y

 

 

SUPERTASK_

NUMBER(19)

Y

FK(JBPM4_HIST_TASK, DBID_)

父任务

 

 

 

 

 

补充说明

 

 

 

1.1.1.8.   JBPM4_HIST_VAR

表名

流程变量( 上下文) 历史表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

流程模版标识

DBVERSION_

NUMBER(10)

N

 

版本

PROCINSTID_

VARCHAR2(255 CHAR)

Y

 

对应运行的流程实例

EXECUTIONID_

VARCHAR2(255 CHAR)

Y

 

活动实例ID

VARNAME_

VARCHAR2(255 CHAR)

Y

 

变量名称

VALUE_

VARCHAR2(255 CHAR)

Y

 

HPROCI_

NUMBER(19)

Y

FK(JBPM4_HIST_PROCINST, DBID_)

历史流程实例

HTASK_

NUMBER(19)

Y

FK(JBPM4_HIST_TASK, DBID_)

历史任务

 

 

 

 

 

补充说明

 

 

 

1.1.1.9.   JBPM4_ID_GROUP

表名

组表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

 

 

DBVERSION_

NUMBER(10)

N

 

 

ID_

VARCHAR2(255 CHAR)

Y

 

 

NAME_

VARCHAR2(255 CHAR)

Y

 

 

TYPE_

VARCHAR2(255 CHAR)

Y

 

 

PARENT_

NUMBER(19)

Y

 

 

 

 

 

 

 

补充说明

 

 

 

1.1.1.10.         JBPM4_ID_MEMBERSHIP

表名

用户角色表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

 

 

DBVERSION_

NUMBER(10)

N

 

 

USER_

NUMBER(19)

Y

 

 

GROUP_

NUMBER(19)

Y

 

 

NAME_

VARCHAR2(255 CHAR)

Y

 

 

 

 

 

 

 

补充说明

 

 

 

1.1.1.11.         JBPM4_ID_USER

表名

用户表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

 

 

DBVERSION_

NUMBER(10)

N

 

 

ID_

VARCHAR2(255 CHAR)

Y

 

 

PASSWORD_

VARCHAR2(255 CHAR)

Y

 

 

GIVENNAME_

VARCHAR2(255 CHAR)

Y

 

 

FAMILYNAME_

VARCHAR2(255 CHAR)

Y

 

 

BUSINESSEMAIL_

VARCHAR2(255 CHAR)

Y

 

 

 

 

 

 

 

补充说明

 

 

 

1.1.1.12.         JBPM4_JOB

表名

定时表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

标识

CLASS_

VARCHAR2(255 CHAR)

N

 

版本

DBVERSION_

NUMBER(10)

N

 

 

DUEDATE_

TIMESTAMP(6)

Y

 

到期时间

STATE_

VARCHAR2(255 CHAR)

Y

 

状态

ISEXCLUSIVE_

NUMBER(1)

Y

 

是否可执行

LOCKOWNER_

VARCHAR2(255 CHAR)

Y

 

锁定的参与者

LOCKEXPTIME_

TIMESTAMP(6)

Y

 

锁定释放时间

EXCEPTION_

CLOB

Y

 

活动实例

RETRIES_

NUMBER(10)

Y

 

重复次数

PROCESSINSTANCE_

NUMBER(19)

Y

 

流程实例

EXECUTION_

NUMBER(19)

Y

 

异常信息

CFG_

NUMBER(19)

Y

FK(JBPM4_LOB, DBID_)

配置

SIGNAL_

VARCHAR2(255 CHAR)

Y

 

信号

EVENT_

VARCHAR2(255 CHAR)

Y

 

事件

REPEAT_

VARCHAR2(255 CHAR)

Y

 

重复

 

 

 

 

 

补充说明

 

 

 

1.1.1.13.         JBPM4_LOB

表名

存储表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

主键

DBVERSION_

NUMBER(10)

N

 

版本

BLOB_VALUE_

BLOB

Y

 

流程定义文件(xmlimgclass)

DEPLOYMENT_

NUMBER(19)

Y

FK(JBPM4_DEPLOYMENT, DBID_)

流程模版标识ID

NAME_

CLOB

Y

 

流程定义文件名

 

 

 

 

 

补充说明

 

 

 

1.1.1.14.         JBPM4_PARTICIPATION

表名

参与者表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

标识

DBVERSION_

NUMBER(10)

N

 

版本

GROUPID_

VARCHAR2(255 CHAR)

Y

 

ID

USERID_

VARCHAR2(255 CHAR)

Y

 

用户ID

TYPE_

VARCHAR2(255 CHAR)

Y

 

类型

TASK_

NUMBER(19)

Y

FK(JBPM4_SWIMLANE, DBID_)

任务ID

SWIMLANE_

NUMBER(19)

Y

FK(JBPM4_TASK,DBID_)

对应泳道

 

 

 

 

 

补充说明

 

 

 

1.1.1.15.         JBPM4_PROPERTY

表名

序列表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

KEY_

VARCHAR2(255 CHAR)

N

 

 

VERSION_

NUMBER(10)

N

 

 

VALUE_

VARCHAR2(255 CHAR)

Y

 

 

 

 

 

 

 

补充说明

 

 

 

 

1.1.1.16.         JBPM4_SWIMLANE

表名

泳道表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

标识

DBVERSION_

NUMBER(10)

N

 

版本

NAME_

VARCHAR2(255 CHAR)

Y

 

泳道名

ASSIGNEE_

VARCHAR2(255 CHAR)

Y

 

处理人

EXECUTION_

NUMBER(19)

Y

FK(JBPM4_EXECUTION, DBID_)

活动实例

 

 

 

 

 

补充说明

 

 

 

1.1.1.17.         JBPM4_TASK

表名

任务表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

主键

CLASS_

CHAR(1 CHAR)

N

 

类型

DBVERSION_

NUMBER(10)

N

 

版本

NAME_

VARCHAR2(255 CHAR)

Y

 

活动节点名称

DESCR_

CLOB

Y

 

描述

STATE_

VARCHAR2(255 CHAR)

Y

 

状态

SUSPHISTSTATE_

VARCHAR2(255 CHAR)

Y

 

保存暂停之前状态

ASSIGNEE_

VARCHAR2(255 CHAR)

Y

 

处理人

FORM_

VARCHAR2(255 CHAR)

Y

 

表单地址

PRIORITY_

NUMBER(10)

Y

 

优先级

CREATE_

TIMESTAMP(6)

Y

 

创建时间

DUEDATE_

TIMESTAMP(6)

Y

 

任务持续时间,表明任务应在多长时间内完成

PROGRESS_

NUMBER(10)

Y

 

活动实例名

SIGNALLING_

NUMBER(1)

Y

 

签收

EXECUTION_ID_

VARCHAR2(255 CHAR)

Y

 

活动实例ID

ACTIVITY_NAME_

VARCHAR2(255 CHAR)

Y

 

活动实例名称

HASVARS_

NUMBER(1)

Y

 

是否有流程变量

SUPERTASK_

NUMBER(19)

Y

FK(JBPM4_TASK, DBID_)

父任务

EXECUTION_

NUMBER(19)

Y

 

活动实例

PROCINST_

NUMBER(19)

Y

 

流程实例

SWIMLANE_

NUMBER(19)

Y

FK(JBPM4_SWIMLANE, DBID_)

对应的泳道

TASKDEFNAME_

VARCHAR2(255 CHAR)

Y

 

任务定义名

 

 

 

 

 

补充说明

 

 

 

1.1.1.18.         JBPM4_VARIABLE

表名

上下文表

列名

数据类型(精度范围)

/ 非空

约束条件

中文名

DBID_

NUMBER(19)

N

PK

标识

CLASS_

VARCHAR2(255 CHAR)

N

 

版本

DBVERSION_

NUMBER(10)

N

 

变量类型

KEY_

VARCHAR2(255 CHAR)

Y

 

变量索引

CONVERTER_

VARCHAR2(255 CHAR)

Y

 

数值转换器

HIST_

NUMBER(1)

Y

 

对应的流程实例

EXECUTION_

NUMBER(19)

Y

FK(JBPM4_EXECUTION, DBID_)

活动实例

TASK_

NUMBER(19)

Y

FK(JBPM4_TASK, DBID_)

对应的任务

LOB_

NUMBER(19)

Y

FK(JBPM4_LOB, DBID_)

 

DATE_VALUE_

TIMESTAMP(6)

Y

 

当值为date类型时,存值

DOUBLE_VALUE_

FLOAT

Y

 

当值为double类型时,存值

CLASSNAME_

VARCHAR2(255 CHAR)

Y

 

变量类名

LONG_VALUE_

NUMBER(19)

Y

 

当值为long类型时,存值

STRING_VALUE_

VARCHAR2(255 CHAR)

Y

 

当值为String 类型时,存值

TEXT_VALUE_

CLOB

Y

 

当值为date类型时,存值

EXESYS_

NUMBER(19)

Y

FK(JBPM4_EXECUTION, DBID_)

 

 

 

 

 

 

补充说明

 

 

 

流程定义相关的布署信息就存储在

 1  JBPM4_DEPLOYMENT 、( 2  JBPM4_DEPLOYPROP   3  JBPM4_LOB 中。上传一个包含 png jpdl.xml  zip 包后, JBPM4_DEPLOYMENT 多一条记录 JBPM4_DEPLOYPROP 多三条, JBPM4_LOB 多两条。 
 4  JBPM4_HIST_PROCINST   5  JBPM4_HIST_ACTINST 分别存放的是 Process Instance Activity Instance 的历史记录。 
 6  JBPM4_EXECUTION 主要是存放 JBPM4 的执行信息, Execution 机制代替了 JBPM3  Token 机制(详细参阅 JBPM4  PVM 机制,过段时间我也会进一步分析)。 
 7  JBPM4_TASK 存放需要人来完成的 Activities ,需要人来参与完成的 Activity 被称为 Task  
 8  JBPM4_PARTICIPATION 存放 Participation 的信息, Participation 的种类有 Candidate  Client Owner  Replaced Assignee  Viewer 。而具体的 Participation 既可以是单一用户,也可以是用户组。 
 9  JBPM4_SWIMLANE  Swim Lane 是一种 Runtime Process Role 。通过 Swim Lane ,多个 Task 可以一次分配到同一 Actor 身上。 
 10  JBPM4_VARIABLE   存的是进行时的临时变量。 
 11  JBPM4_HIST_DETAIL 保存 Variable 的变更记录。 
 12  JBPM4_HIST_VAR 保存历史的变量。 
 13  JBPM4_HIST_TASK Task 的历史信息。 
 14  JBPM4_ID_GROUP

 15  JBPM_ID_MEMBERSHIP

 16  JBPM4_ID_USER   这三张表很常见了,基本的权限控制,关于用户认证方面建议还是自己开发一套,JBPM4 的功能太简单了,使用中有很多需要难以满足。 
 17  JBPM4_JOB   存放的是 Timer 的定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值