JBPM数据库分析
持久化基础知识
持久化(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_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:历史变量相关信息
分享到:
相关推荐
JBPM数据库分析文档.pdf
学习JBPM数据库分析文档.pdf
JBPM数据库分析文档[定义].pdf
JBPM数据库分析文档[收集].pdf
jbpm数据库表字段详解,字段详细说明,和表关系都有,希望大家有jbpm的学习资料多多交流。
JBPM 4.4用户手册.chm jbpm-4.4 api帮助文档.CHM jBPM-jPDL学习笔记——...jbpm4自带数据库分析.doc jBPM_4教程PPT.pdf JBPM与SSH架构融合.doc 工作流模型分析_v1.1.pdf 揭秘jbpm流程引擎内核设计思想及构架.doc
35 2.8 安装jBPM数据库 35 2.8.1 新数据库安装 36 2.8.2 升级旧的数据库 36 2.9 安装图形化流程设计器(GPD) 37 2.9.1 获取Eclipse 37 2.9.2 在Eclipse中安装GPD插件 37 2.9.3 配置jBPM运行环境 38 2.9.4 添加jPDL4...
在技术方面,突破了传统的数据库分析,采用了Hibernate中ORM技术,实现了实体模型和数据库表的映射,将管理数据库表转化为管理面对对象的实体。整合SSH框架采用MVC设计模式进行开发,主要将项目开发分成Action层、...
宏天BPM X3软件平台是一个易于部署和使用的新一代业务流程管理平台,能够以最快的速度帮助您梳理、设计、执行、监控分析和优化业务流程,从业务和IT相结合的完美视角为用户组建长期而久远的卓越BPM流程管 理架构。...
本系统主要使用了Java技术Springboot框架技术,结合JBPM工作流引擎以及功能强大的MySQL数据库管理工具。系统实现了个人中心、学生管理、教师管理、班级管理、综合测评管理等功能的管理,完成了系统设计任务的所有...
本系统主要使用了Java技术Springboot框架技术,结合JBPM工作流引擎以及功能强大的MySQL数据库管理工具。系统实现了个人中心、学生管理、教师管理、班级管理、综合测评管理等功能的管理,完成了系统设计任务的所有...
PrettyFaces优雅的解决了这个问题,包括诸如功能:网页装载行动,无缝的跟faces的导航整合,动态视图的ID分配和管理参数分析,无需配置,兼容其他JSF框架。P ... by zly06 2009-09-09 回复 (0) 相关博客 ant模板 ...
BPMN是一套流程建模的标准,主要目标是被所有业务用户容易理解的符号,支持从创建流程轮廓的业务分析到这些流程的最终实现,知道最终用户的管理监控。 通俗一点其实就是一套规范,画流程模型的规范。流程模型包括:...
它以基于流行的JEE开源技术整合,以JBPM4.4流程引擎为基础,采用了WebService、XML、J2EE、Spring组件的灵活配置,并且与Microsoft Office实现了有机整合。完善了用户管理和安全的权限管理,支持POP3/POP3,SMTP/...
1.3编写目的 本文档为需求分析人员进行需求分析和设计进行指导,同时作为开发人员对本项目的需求、业务内容及界面原型进行确认的依据。 1.4适用范围 智能公厕开发方案全文共8页,当前为第1页。本项目项目组。 智能...
它可根据事物的地理坐标对其进行管理、检索、评价、分析、结果输出等处理,提供决策支持、动态模拟、统计分析、预测预报等服务。其应用覆盖工业、农业、交通运输、环保、国防、公安等诸多领域,特别是GIS与MIS相结合...