JBPM4.3数据库说明书
### JBPM4.3数据库说明书知识点解析 #### 一、JBPM4简介 JBPM4作为一款当前最为流行的企业级开源工作流管理平台之一,它提供了丰富的API接口以及灵活的扩展性,允许开发者构建出复杂的工作流应用。JBPM4在架构设计上采用了流程虚拟机(Process Virtual Machine, PVM)的概念,极大地简化了流程定义和执行的过程。本文将深入探讨JBPM4.3版本中的数据库结构,以便更好地理解和运用这一强大的工作流引擎。 #### 二、JBPM4核心数据库表说明 ##### 1. **JBPM4_DEPLOYMENT**:流程定义表 - **DBID_**: 主键,用于唯一标识一个流程模板。 - **NAME_**: 存储流程模板的名称。 - **TIMESTAMP_**: 记录流程定义的最后修改时间戳。 - **STATE_**: 表示流程模板的可用状态,例如“启用”或“禁用”。 ##### 2. **JBPM4_DEPLOYPROP**:流程定义属性表 - **DBID_**: 主键。 - **DEPLOYMENT_**: 外键,关联至JBPM4_DEPLOYMENT表中的DBID_,表示该属性所属的流程定义。 - **OBJNAME_**: 存储流程定义的对象名称。 - **KEY_**: 类型字段,可能用于区分不同的属性类别。 ##### 3. **JBPM4_LOB**:存储表 - 用于存储大对象,如流程图(png或jpdl.xml)等文件。 ##### 4. **JBPM4_HIST_PROCINST**:流程实例历史表 - 存储每个流程实例的历史记录,包括启动时间、结束时间等信息。 ##### 5. **JBPM4_HIST_ACTINST**:流程活动(节点)实例表 - 记录每个流程活动中各个节点的执行情况,包括执行时间、完成时间等信息。 ##### 6. **JBPM4_EXECUTION**:流程实例表 - 存储正在执行的流程实例信息,代替了JBPM3中的Token机制。 - 包含流程实例的状态、当前活动等关键信息。 ##### 7. **JBPM4_TASK**:任务表 - 用于存储需要人工参与的任务信息,包括任务的所有者、参与者等。 - Task是由需要人工参与的Activity转换而来。 ##### 8. **JBPM4_PARTICIPATION**:参与者表 - 存储参与者的相关信息,包括候选者(Candidate)、客户端(Client)、所有者(Owner)、替代者(Replaced Assignee)和观察者(Viewer)等不同类型的参与者。 ##### 9. **JBPM4_SWIMLANE**:泳道表 - SwimLane是一种Runtime Process Role,用于将多个任务分配给同一个Actor执行。 ##### 10. **JBPM4_VARIABLE**:上下文表 - 存储正在进行中的临时变量信息。 ##### 11. **JBPM4_HIST_DETAIL**:流程历史详细表 - 保存流程执行过程中变量的变更记录。 ##### 12. **JBPM4_HIST_VAR**:流程变量(上下文)历史表 - 保存已完成流程实例中的历史变量。 ##### 13. **JBPM4_HIST_TASK**:流程任务实例历史表 - 存储已完成任务的相关历史信息。 ##### 14. **JBPM4_ID_GROUP**、**JBPM4_ID_MEMBERSHIP**、**JBPM4_ID_USER** - 这三张表分别用于实现基本的权限控制功能,包括用户组、成员关系和用户信息的管理。 - 对于更复杂的权限需求,建议自行开发相应的模块。 ##### 15. **JBPM4_JOB**:定时表 - 用于存储定时任务的定义,包括触发器、执行时间等。 ##### 16. **JBPM4_PROPERTY**:JBPM引擎参数表 - 存储JBPM引擎的配置参数。 #### 三、JBPM4数据库操作流程 当发布一个新的流程定义(deploy)时,数据库中的变化如下: 1. **JBPM4_DEPLOYMENT**表新增一条记录,表示新发布的流程模板。 2. **JBPM4_DEPLOYPROP**表新增三条记录,对应流程定义的属性信息。 3. **JBPM4_LOB**表新增一条记录,用于存储上传的流程文件(zip包)。 当开始一个新的流程实例(startProcessInstanceByKey)时,数据库中的变化如下: 1. **JBPM4_EXECUTION**表新增一条记录,代表新的流程实例。 2. **JBPM4_HIST_ACTINST**表新增一条记录,记录流程实例中的第一个活动节点。 3. **JBPM4_HIST_PROCINST**表新增一条记录,记录流程实例的历史信息。 4. **JBPM4_HIST_TASK**表新增一条记录,如果流程中存在需要人工处理的任务。 5. **JBPM4_TASK**表新增一条记录,用于跟踪任务的执行状态。 通过以上分析可以看出,JBPM4的数据库设计充分考虑了流程定义、执行和历史记录的需求,为开发者提供了强大且灵活的工作流管理能力。
剩余14页未读,继续阅读
- wwee36882012-09-10写的很详细,数据库的表都列出来了,做参考文档很不错,感谢楼主!~~
- tnt20040082015-07-07谢谢,结合前面下的源码包看的。很不错
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助