一,概述
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:
?
?
? ? ?
?
?
?
? ? ?
?
?
? ? ?
?
?
? ? ?
?

(1)部署流程定义——从classpath加载jpdl.xml文件
public staticProcessEngine processEngine;
processEngine =Configuration.getProcessEngine();
?
public voidtestDeployFromClasspath(){
processEngine.getRepositoryService()
.createDeployment()
.addResourceFromClasspath("qingjia.jpdl.xml")
.addResourceFromClasspath("qingjia.png")
.deploy();
}
涉及到的表:
(2)启动流程实例——根据Id启动
public voidtestStartPIByPDID(){
ProcessInstancepi = processEngine.getExecutionService()
.startProcessInstanceById("qingjia1-1");
System.out.println(pi.getId());
System.out.println(pi.getState());
}
四,表结构总结:
共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? 用户表