JBPM表结构
来源:互联网 发布:ip怎么看域名 编辑:程序博客网 时间:2024/05/17 09:43
一,概述
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>
qingjia.png:
(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 用户表
- Jbpm表结构说明
- Jbpm表结构说明
- jbpm 4.4 表结构
- jBPM表结构
- JBPM表结构说明
- jBPM 表结构介绍
- Jbpm表结构说明
- jBPM表结构
- JBPM表结构
- JBPM表结构说明
- 工作流--JBPM核心服务及表结构
- jbpm的表结构以及六大服务
- jbpm例子的结构
- jBPM表
- jBPM表
- JBPM表
- [jbpm]jBPM(四): 部署jBPM所用表到数据库_1
- [jbpm]jBPM(五): 部署jBPM所用表到数据库_2
- shell在线中文手册abs,shell中文教程,shell中文教程 - 脚本之家
- java泛型受限
- (转)运维经验分享:Hadoop管理员的十个最佳实践
- redis PHP非常有用的文章
- SQL添加数据
- JBPM表结构
- hdu 3555(数位dp)
- 招聘后台MVC优化与微信端优化重构
- 【Note】动态规划初步1-Ch9-《算法竞赛入门经典2nd》
- uboot之start.S源码分析
- webkit扩展DOM事件
- 用emacs 建立开发环境,安装ecb和cedet的全过程
- listview加载性能优化ViewHolder
- Python的ODBC接口 ceODBC 2.0.1 发布