读书人

jbpm4 数据库构造关系图

发布时间: 2013-11-08 17:51:56 作者: rapoo

jbpm4 数据库结构关系图

持久化基础知识

???????持久化(?Persistence?),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、?XML?数据文件中等等。

??????我们可以这样理解:

  在一定周期内保持不变就是持久化?,?持久化是针对时间来说的?.

  数据库中的数据就是持久化了的数据?,?只要你不去删除或修改?.

  ?Session?会话中?Session?对象变量也是不变的?,?是?Session?容器中持久化

  ?对象持久化?的方式有很多种?,?根据周期不同有?,page,Session,Application,

对象序列化机制对于需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态?,

对象序列化的过程是对象持久化的方法之一?,?把对象保存到文件中?.

广义上说我们需要持久化是由于内存的易失性和过于昂贵造成的。

JBPM?流程引擎的持久化有什么特点

???????JBPM?流程引擎的持久化层使用的当前流行的?ORM?框架?hibernate?,得益于?hibernate?的一些强大特性,导致?JBPM?也具有了这样的一些特性,比如通过?hibernate?的?HSQL?,我们可以专注我们的业务逻辑,而不用考虑不同的数据库之间?T-SQL?的差异,这样是?jbpm?具备一套代码,可以平滑的从不同数据库间进行更换。

???????JBPM?需要持久化?基于以下特点

1.???????工作流作为典型的交互性应用,其必须精细控制执行过程,并记录执行的状态,在用户唤醒流程时,能够在流程持久化的那个点继续运行。同时在流程挂起时,我们将相关数据持久化,也有性能和故障恢复的考虑。

2.???????流程引擎的运行本身也会产生相关的对象?(?流程实例、?Execution?等?)?,需要持久化到数据库

3.???????流程引擎需要记录相关的业务数据

4.???????流程引擎需要记录相关的执行历史数据

JBPM?流程引擎的数据库结构图

jbpm4 数据库构造关系图

各个数据表的功能简单介绍

流程部署

???????jbpm4_deployment?:发布的记录表,通过?dbid?跟后两个表进行关联。

???????jbpm4_deployprop?:定义流程定义?(ProcessDefinitionImpl)?的相关属性?(key?、?Id?等?)

???????jbpm4_lob:?保存根据流程定义?xml?形成的二进制数据(同时也保存变量?variable?)

值得注意的是一条?jbpm4_deployment?记录需要对应?4?条?jbpm4_deployprop?记录,他们的?key?字段分别为langid?,?pdid?,?pdkey?,?pdversion

???????Langid?标识解析流程定义使用的?jpdl?的版本

???????Pdid??流程定义的?id ,?唯一标识一个流程

???????Pdkey?流程的?key?,标识同一类流程

???????Pdversion?标识流程的版本

主键生成机制表

jbpm4_property?:为运行时需要持久化的对象生成?dbid?,其记录当前所有对象实例的

最大值,每次需要生成?dbid?时,需要先获取该值,然后递增返回。

用户认证表

???????JBPM?实现的用户库比较简单,我们可以实现并扩展其相关接口,并进行认证库独立

???????jbpm4_id_group?:用户组相关信息

jbpm4_id_membership?:用户组和用户的关系表

jbpm4_id_user?:用户相关信息表

流程实例运行相关表

?????????jbpm4_execution?:驱动流程运行,记录流程实例运行必须的信息

?????????jbpm4_job?:作业相关

?????????jbpm4_participation?:办理人相关信息

?????????jbpm4_swimlane?:泳道相关信息

?????????jbpm4_task:?记录任务的相关信息

?????????jbpm4_variable?:记录传给流程的变量的相关信息

?

流程历史相关表

?????????jbpm4_hist_actinst?:流程运行中执行过的节点的记录,包括?Task?和?State?节点

?????????jbpm4_hist_detail?:历史信息的详细表,跟其他的历史表进行关联

?????????jbpm4_hist_procinst?:历史流程实例相关信息

??jbpm4_hist_task?:历史任务相关信息,与?jbpm4_hist_actinst?关联,单独的表减少了

state?节点相应字段的空闲和空间浪费

?????????jbpm4_hist_var?:历史变量相关信息

读书人网 >其他数据库

热点推荐