Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / JBPM表结构

一,概述JBPM全称——Java  Business PrcessManagerment(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开放的、灵活的、易扩展的可执行流程语言框架。二,最大特色(1)它的业务逻辑定义没有采用目前的一些规范,而是采用了它自己定义的Jboss Jbpm Process Definition Language(jpdl)。jpdl任务一个业务流程可以被看作是一个UML状态图。jpdl认为一个业务流程可以被看作是一个UML状态图。jpdl就是详细定义了这个状态图的每个部分,如起始、结束状态,以及状态之间的转换,通过图形化的流程定义,直观地描述业务流程。(2)使用Hibernate来管理Jbpm的数据库。三,通过实例介绍Jbpm重要的几张表(1)Jbpm共18张表(2)涉及到的一些基本流程无非是:——部署流程定义、启动流程实例、获取个人(组)任务、高亮显示(查看流程进展图)、完成任务。。。。(3)例:以请假流程为例:qingjia.jpdl.xml:<?xmlversion="1.0" encoding="UTF-8"?>
 
<processname="qingjia1" xmlns="http://jbpm.org/4.4/jpdl"key="qingjia1">
 <start g="246,28,7,3"name="start1">
      <transition g="-71,-17"name="to 申请请假" to="申请请假"/>
 </start>
 <end g="226,320,48,48"name="end1"/>
 <task assignee="张三" g="88,99,92,52" name="申请请假">
      <transition g="-138,5"name="to 部门经理审批" to="部门经理审批"/>
 </task>
 <task assignee="李四" g="233,156,92,52" name="部门经理审批">
      <transition g="3,-26"name="to 总经理审批" to="总经理审批"/>
 </task>
 <task assignee="王二麻子" g="380,226,92,52" name="总经理审批">
      <transition g="-47,-17"name="to end1" to="end1"/>
 </task>
</process>(1)部署流程定义——从classpath加载jpdl.xml文件public staticProcessEngine processEngine;
processEngine =Configuration.getProcessEngine();
 
public voidtestDeployFromClasspath(){
processEngine.getRepositoryService()
.createDeployment()
.addResourceFromClasspath("qingjia.jpdl.xml")
.addResourceFromClasspath("qingjia.png")
.deploy();
}涉及到的表:
表名(英)表名(中)                   说明字段                              字段说明 
Jbpm4_Deployment部署表描述一次部署DBID_主键、部署ID 
State状态 active 
Jbpm4_Lob仓库表存放了流程定义文档(xml、png)Deployment_部署ID、外键 
Name_Xml或png的文件路径 
Jbpm4_Deployprop部署属性表 DBID_主键 
Objname_流程定义名称 
Key_每部署一次,生成4行记录 
Langid语言版本 jpdl-4.4
Pdid{pdkey-version}
Pdkey流程定义名称一般情况下,pdkey和objname_的值是一样的
Pdversion版本号如果pdkey没有发生改变,每部署一次,版本号加1;如果pdkey发生改变,则是一个全新的名称,所以版本号应该从1开始计算
(2)启动流程实例——根据Id启动public voidtestStartPIByPDID(){
ProcessInstancepi = processEngine.getExecutionService()
.startProcessInstanceById("qingjia1-1");
System.out.println(pi.getId());
System.out.println(pi.getState());
}
表名(英)表名(中)说明字段字段说明 
Jbpm4_Execution流程实例表表示当前正在执行的流程实例DBID_主键 
ID_流程实例ID 
ActivityName_当前流程实例活跃的节点 
Procdefid_流程定义ID 
Jbpm4_Hist_Procinst历时流程实例表表示历史的流程实例,但是当前正在运行的流程实例也在这里DBID_主键 
ID_流程实例ID 
Start_整个流程实例的开始时间 
End_流程实例的结束时间,如果该流程实例为当前正在运行的流程,则该值为空 
State表示流程实例的状态,如果是正在运行为active,如果流程实例结束为ended 
Jbpm4_task任务表表示当前正在执行的任务(任务是jbpm流程图的一个节点)DBID_主键、任务ID临时表,当前任务完成后,数据被删除;当启动流程实例的时候,会自动离开开始节点,流向下一个节点
Name_任务名称 
Assignee_任务执行人 
Jbpm4_Hist_Task历史任务表表示历史的任务,但是当前正在执行的任务也在这里State_如果一个任务被完成以后,值为completed 
End_任务结束时间 
Jbpm4_Hist_Actinst历时节点表表示历史的节点Type节点类型
四,表结构总结:
共18张表。红色为常用表 (1)资源库与运行时表结构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 参与者表 (2) 历史数据表11. JBPM4_HIST_ACTINST 流程活动(节点)实例表12. JBPM4_HIST_DETAIL  流程历史详细表13. JBPM4_HIST_PROCINST 流程实例历史表14. JBPM4_HIST_TASK  流程任务实例历史表15. JBPM4_HIST_VAR 流程变量(上下文)历史表 (3)身份认证表结构16. JBPM4_ID_GROUP 组表17. JBPM4_ID_MEMBERSHIP 用户角色表18. JBPM4_ID_USER  用户表JBPM4.4部署在Tomcat6以上的版本jar包冲突 http://www.linuxidc.com/Linux/2014-04/99476.htmJBPM工作流开发指南 PDF http://www.linuxidc.com/Linux/2014-06/103823.htmJBPM流程实例(PV)Process Variables http://www.linuxidc.com/Linux/2014-06/102859.htmJBPM流程实例(PI)Process Instance http://www.linuxidc.com/Linux/2014-06/102858.htmJBPM流程部署校验 http://www.linuxidc.com/Linux/2014-06/102860.htmJBPM 的详细介绍:请点这里
JBPM 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-11/110028.htm