`
squall140
  • 浏览: 146220 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

jbpm4 数据库结构关系图

    博客分类:
  • 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修改数据库教程以及实例

    MySQL和PostgreSQL作为成熟的开源关系型数据库,提供了更好的扩展性、稳定性和安全性,是企业级应用的理想选择。 **1. 配置MySQL** (1) 安装与配置MySQL:确保已经安装了MySQL服务器,并创建一个用于JBPM的新...

    jbpm数据库表介绍

    jbpm 数据库表介绍 jbpm 是一个基于 Java 的 workflow 引擎,用于管理和执行业务流程。jbpm 需要持久化流程部署、...了解 jbpm 的数据库表结构能够帮助开发者更好地理解和使用 jbpm,实现更加复杂的业务流程管理系统。

    jbpm4.3数据库表结构

    ### jbpm4.3数据库表结构详解 #### 1. JBPM4_DEPLOYMENT - 流程定义表 此表存储了所有部署到系统中的流程模板的信息。每一行代表一个独立的流程模板。 - **DBID_**: `NUMBER(19)` 类型,主键,非空。该字段唯一...

    jbpm数据库表结构详解

    jbpm数据库中的表结构是理解其工作原理的关键。以下是对jbpm数据库表结构的详细解析: 1. **JBPM4_DEPLOYMENT**:这是流程定义表,记录了部署到jbpm中的所有流程定义。DBID字段作为主键标识每个流程模版,NAME_CLOB...

    jbpm数据库表结构

    ### JBPM数据库表结构详解 #### 一、概述 JBPM是Java Business Process Model的缩写,是一款开源的工作流引擎,用于实现业务流程管理和自动化的工具。JBPM的设计旨在简化复杂的业务流程,使得非技术人员也能够理解...

    jbpm4数据库表名注释以及官方开发手册html_en

    标题 "jbpm4数据库表名注释以及官方开发手册html_en" 暗示了我们正在探讨关于Jbpm4的数据库结构和相关的文档资源。Jbpm4是一款基于Java的业务流程管理(BPM)系统,它允许开发者设计、执行和管理业务流程。这个...

    jbpm创建数据库jbpm创建数据库

    在深入探讨如何使用JBPM创建数据库的过程中,我们首先...对于那些需要频繁部署和更新数据库结构的应用程序来说,这种方法尤其有用。同时,这也展示了JBPM作为一个强大的工作流引擎,其背后所依赖的技术栈以及实现机制。

    jbpm数据结构及其数据库表的详细字段

    理解这些数据库表的字段和逻辑关系对于开发、维护和优化基于JBPM的工作流系统至关重要。通过有效的数据库设计,JBPM能够高效地处理流程实例的生命周期,包括启动、执行、分支、合并、结束等各个阶段,并且支持灵活的...

    jbpm 数据库jbpm 数据库

    1. **jbpm数据库结构** jbpm使用关系型数据库来存储其运行时数据,如流程定义、流程实例、任务、变量等。通常,jbpm会创建一系列的数据库表来支持其功能。这些表包括但不限于: - `ACT_RU_EXECUTION`:记录流程...

    JBPM4表结构.doc

    在JBPM4中,数据库表结构对于系统的正常运行至关重要,它们存储了流程定义、流程实例、活动实例以及历史记录等关键信息。以下是部分核心表结构的详细说明: 1. **JBPM4_DEPLOYMENT**(流程定义表): - DBID:唯一...

    JBPM数据库表关系

    了解JBPM数据库表的关系对于有效使用和维护JBPM系统至关重要。以下将详细阐述这些表及其相互关系。 1. **流程配置类数据库表**: - **JBPM_ACTION**: 存储流程中的动作信息,如任务分配、通知等。 - **JBPM_...

    JBPM4.3数据库说明书

    本文将深入探讨JBPM4.3版本中的数据库结构,以便更好地理解和运用这一强大的工作流引擎。 #### 二、JBPM4核心数据库表说明 ##### 1. **JBPM4_DEPLOYMENT**:流程定义表 - **DBID_**: 主键,用于唯一标识一个流程...

    JBPM4 常用表结构及其说明

    - **主要内容**: 如流程图图片、XML定义文件等。 - **注意事项**: 在部署流程或更新流程定义时,该表会有新的记录添加。 ##### 9. **JBPM4_SWIMLANE** — 泳道表 - **作用**: 管理泳道信息。 - **主要内容**: 泳道...

    JBPM修改数据库实例

    2. **修改jbpm数据库脚本**:根据新选择的数据库类型,使用JBPM提供的SQL脚本来创建相应的表结构。MySQL和PostgreSQL的SQL语法有所不同,因此需要相应调整。 3. **配置jbpm.properties**:在JBPM的配置文件中,如`...

    jbpm常用数据库脚本

    4. **Oracle脚本(jbpm.jpdl.oracle.sql)**:Oracle数据库是企业级应用的首选,jbpm.jpdl.oracle.sql则包含了在Oracle环境中创建jbpm数据库架构的PL/SQL命令。在使用这个脚本之前,你需要确认Oracle数据库客户端工具...

    JBPM数据库表说明

    本文将详细解析JBPM数据库中的主要表及其字段,帮助读者深入理解JBPM的工作原理。 1. JBPM_PROCESSDEFINITION 表: 这个表存储了流程模板的信息。ID_字段是流程模板的唯一标识,NAME_字段表示流程模板的名称,...

    JBPM数据库表说明.

    以上表格共同构成了JBPM数据库的核心结构,它们协同工作以确保流程的正确执行和管理。理解这些表的作用和相互关系对于调试、监控和优化JBPM系统至关重要。通过深入分析这些表,开发者可以更好地理解和控制JBPM的工作...

    JBPM工作原理及表结构详解

    - **JBPM4_LOB**:存储大型对象,如流程图的图片数据。 - **JBPM4_PARTICIPATION**:记录参与者的角色和关联的执行实例。 - **JBPM4_PROPERTY**:系统配置和定制属性。 - **JBPM4_SWIMLANE**:泳道表,用于定义...

    ERStudio逆向工程从sql server 2000中导出jbpm数据库的idef1x图

    标题中的“ERStudio逆向工程从sql server 2000中导出jbpm数据库的idef1x图”指的是使用ERStudio数据建模工具,通过逆向工程的方法,从SQL Server 2000数据库中提取jbpm(Job Business Process Management)的数据库...

    jbpm数据库表说明

    **jbpm数据库表说明** jbpm(Java Business Process Management)是一个...通过文档《JBPM数据库表说明.doc》可以获取更详细的信息,包括字段解释、表间关系以及示例查询,有助于进一步学习和实践jbpm的数据库管理。

Global site tag (gtag.js) - Google Analytics