存数数据的,工作流的每个环节产生的数据都要保存到数据库,有个状态变化的过程。
Jbpm4 共有18张表,如下,其中红色的表为经常使用的表
一:资源库与运行时表结构
1. JBPM4_DEPLOYMENT 流程定义表
2. JBPM4_DEPLOYPROP 流程定义属性表
3. JBPM4_EXECUTION 流程实例表
4. JBPM4_PROPERTY 流程引擎表
5. JBPM4_TASK 任务表
6. JBPM4_VARIABLE 上下文表
7. JBPM4_JOB 定时表
8. JBPM4_LOB 存储表
9. JBPM4_SWIMLANE泳道表
10. JBPM4_PARTICIPATION 参与者表
二: 历史数据表
11. JBPM4_HIST_ACTINST 流程活动(节点)实例表
12. JBPM4_HIST_DETAIL 流程历史详细表
13. JBPM4_HIST_PROCINST 流程实例历史表
14. JBPM4_HIST_TASK 流程任务实例历史表
15. JBPM4_HIST_VAR 流程变量(上下文)历史表
三:身份认证表结构
16. JBPM4_ID_GROUP 组表
17. JBPM4_ID_MEMBERSHIP 用户角色表
18. JBPM4_ID_USER 用户表
这三张表很常见,基本的权限控制,关于用户认证方面建议还是自己开发一套,组件自带的功能太简单,使用中有很多需求难以满足
第二部分:表结构描述
1. JBPM4_DEPLOYMENT 流程定义表
2. JBPM4_DEPLOYPROP 流程定义属性表
3. JBPM4_EXECUTION 流程实例表
主要是存放JBPM4的执行信息,Execution机制代替了JBPM3的Token机制。
4. JBPM4_PROPERTY 流程引擎表
5. JBPM4_TASK 任务表
存放需要人来完成的Activities,需要人来参与完成的Activity 被称为Task
6. JBPM4_VARIABLE 上下文表 存的是进行时的临时变量
7. JBPM4_JOB 定时表 存放的是Timer的定义
8. JBPM4_LOB 存储表
9. JBPM4_SWIMLANE泳道表
Swim Lane是一种Runtime Process Role。通过Swim Lane,多个Task可以一次分配到同一Actor身上。
10. JBPM4_PARTICIPATION 参与者表
存放 Participation的信息,Participation的种类有Candidate、Client、Owner、 Replaced Assignee和Viewer。而具体的Participation既可以是单一用户,也可以是用户组。
二: 历史数据表
11. JBPM4_HIST_ACTINST 流程活动(节点)实例表 存放Activity Instance的历史记录
12. JBPM4_HIST_DETAIL 流程历史详细表 保存Variable的变更记录
13. JBPM4_HIST_PROCINST 流程实例历史表 存放Process Instance的历史信息
14. JBPM4_HIST_TASK 流程任务实例历史表 Task的历史信息。
15. JBPM4_HIST_VAR 流程变量(上下文)历史表 保存历史的变量
第三部分:操作信息变化
注意:以下操作步骤向表中增加记录的顺序(经过测试)
发布一个流程deploy后
Ø jbpm4_deployment(流程定义):新增一条记录
Ø jbpm4_lob(存储表): 新增一条记录
Ø jbpm4_deployprop(流程定义属性表):新增四条记录
上传一个zip包(包含png和jpdl.xml)后
Ø JBPM4_DEPLOYMENT多一条记录
Ø JBPM4_DEPLOYPROP 多三条
Ø JBPM4_LOB多两条。
开始一个流程startProcessInstanceByKey后
Ø jbpm4_execution(流程实例表):新增一条记录
Ø jbpm4_hist_procinst(流程实例历史表):新增一条记录
Ø jbpm4_variable (上下表):新增一条记录
Ø jbpm4_task (任务表):新增一条记录
Ø jbpm4_hist_task(任务历史表):新增一条记录
Ø jbpm4_hist_actinst (活动节点实例表):新增一条记录
填写申请信息
Ø jbpm4_variable(上下表) : 新增N条记录,根据表单信息决定
Ø jbpm4_task (任务表):新增一条记录
Ø jbpm4_hist_task(任务历史表):新增一条记录
Ø jbpm4_hist_actinst (活动节点实例表):新增一条记录
审批申请信息
1.同意:
Ø jbpm4_hist_actinst (活动节点实例表):新增一条记录
2.驳回:
Ø jbpm4_task (任务表):新增一条记录
Ø jbpm4_hist_task(任务历史表):新增一条记录
Ø jbpm4_hist_actinst (活动节点实例表):新增一条记录
审批结束
Ø jbpm4_hist_actinst (活动节点实例表):新增一条记录
JBPM4_DEPLOYMENT
流程定义表
JBPM4_DEPLOYPROP
流程定义属性表
JBPM4_EXECUTION
保存流程执行信息
JBPM4_HIST_ACTINST
保存流程活动(节点)实例历史记录
JBPM4_HIST_DETAIL
保存Variable的变更记录
JBPM4_HIST_PROCINST
保存流程实例历史记录
JBPM4_HIST_TASK
保存任务实例历史记录
JBPM4_HIST_VAR
流程变量(上下文)历史表, 保存历史的变量
JBPM4_ID_GROUP
角色表
JBPM4_ID_MEMBERSHIP
用户角色表
JBPM4_ID_USER
用户表
JBPM4_JOB
定时表
JBPM4_LOB
存储表
JBPM4_PARTICIPATION
参与者表,存放参与者信息,参与者的种类有Candidate、Client、Owner、Replaced Assignee和Viewer。而具体的参与者既可以是单一用户,也可以是用户组。
JBPM4_SWIMLANE
泳道表。SwimLane是一种Runtime Process Role。通过SwimLane,多个Task可以一次分配到同一Actor身上
JBPM4_TASK
任务表,存放需要人来完成的Activities,需要人来参与完成的Activity被称为Task
JBPM4_VARIABLE
上下文表,保存进行时的临时变量。
发布一个流程deploy后
jbpm4_deployment新增一条记录
jbpm4_deployprop新增三条记录
jbpm4_LOB新增一条记录
上传一个包含png和jpdl.xml的zip包后
JBPM4_DEPLOYMENT多一条记录
JBPM4_DEPLOYPROP多三条
JBPM4_LOB多两条。
说明一下:这里JBPM4_LOB这表就是存储我们发布的流程xml和流程图PNG!
开始一个流程startProcessInstanceByKey后
jbpm4_execution新增一条记录
jbpm4_hist_actinst新增一条记录
jbpm4_hist_procinst新增一条记录
jbpm4_hist_task新增一条记录
jbpm4_task新增一条记录