整体说明:
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分别存放的是ProcessInstance、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 ProcessRole。通过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 | 流程定义文件(xml、img、class) | |
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_TASKTask的历史信息。
(14)JBPM4_ID_GROUP(15)JBPM_ID_MEMBERSHIP(16)JBPM4_ID_USER 这三张表很常见了,基本的权限控制,关于用户认证方面建议还是自己开发一套,JBPM4的功能太简单了,使用中有很多需要难以满足。
(17)JBPM4_JOB 存放的是Timer的定义。
地址:http://blog.csdn.net/gamestart104/article/details/8608558