`

OSWorkflow表结构分析

阅读更多

OSWorkflow表结构分析

研究了一段时间的OSWorkflow,对其表结构做了一些分析,能帮助深入的学习:

以Oracle为例

1.========================================================================================
create table OS_PROPERTYENTRY  --存储propertyset的值(具体字段还不清晰以后补充)
(
 GLOBAL_KEY varchar(255),
 ITEM_KEY varchar(255),
 ITEM_TYPE smallint,
 STRING_VALUE varchar(255),
 DATE_VALUE date,
 DATA_VALUE blob,
 FLOAT_VALUE float,
 NUMBER_VALUE numeric,
 primary key (GLOBAL_KEY, ITEM_KEY)
);
2.========================================================================================
create table OS_USER           --用户表
(
    USERNAME varchar(20),      --用户名
    PASSWORDHASH varchar(2024),--经过加密的密码
    primary key (USERNAME)
);
3.========================================================================================
create table OS_GROUP          --组结构表
(
    GROUPNAME varchar(20),     --组名称
    primary key (GROUPNAME)
);
4.========================================================================================
create table OS_MEMBERSHIP     --用户与组的关系表
(
    USERNAME varchar(20),      --用户名
    GROUPNAME varchar(20),     --组名称
    primary key (USERNAME, GROUPNAME),
    foreign key (USERNAME) references OS_USER(USERNAME),
    foreign key (GROUPNAME) references OS_GROUP(GROUPNAME)
);
5.========================================================================================
create table OS_WFENTRY        --工作流主表,存放工作流名称和状态
(
    ID number,                
    NAME varchar(20),          --工作流名称
    STATE integer,             --工作流状态
    primary key (ID)         
);
6.========================================================================================
create table OS_CURRENTSTEP    --当前步骤表,存放当前步骤的数据
(
    ID number,                 --自动编号
    ENTRY_ID number,           --工作流编号
    STEP_ID integer,           --步骤编号
    ACTION_ID integer,         --动作编号
    OWNER varchar(20),         --步骤的所有者
    START_DATE date,           --开始时间
    FINISH_DATE date,          --结束时间
    DUE_DATE date,             --授权时间
    STATUS varchar(20),        --当前状态
    CALLER varchar(20),        --实际执行的用户
    primary key (ID),
    foreign key (ENTRY_ID) references OS_WFENTRY(ID),
    foreign key (OWNER) references OS_USER(USERNAME),
    foreign key (CALLER) references OS_USER(USERNAME)
);
 
7.========================================================================================
create table OS_HISTORYSTEP    --历史步骤表,存放当前步骤的数据
(
    ID number,                 --自动编号
    ENTRY_ID number,           --工作流编号
    STEP_ID integer,           --步骤编号
    ACTION_ID integer,         --动作编号
    OWNER varchar(20),         --步骤的所有者
    START_DATE date,           --开始时间
    FINISH_DATE date,          --结束时间
    DUE_DATE date,             --授权时间
    STATUS varchar(20),        --状态
    CALLER varchar(20),        --实际执行的用户
    primary key (ID),
    foreign key (ENTRY_ID) references OS_WFENTRY(ID),
    foreign key (OWNER) references OS_USER(USERNAME),
    foreign key (CALLER) references OS_USER(USERNAME)
);
8.========================================================================================
create table OS_CURRENTSTEP_PREV  --上一步骤表,存放当前步骤和上一个步骤的关联数据
(
    ID number,                    --当前步骤编号
    PREVIOUS_ID number,           --上一步骤编号
    primary key (ID, PREVIOUS_ID),
    foreign key (ID) references OS_CURRENTSTEP(ID),
    foreign key (PREVIOUS_ID) references OS_HISTORYSTEP(ID)
);
9.========================================================================================
create table OS_HISTORYSTEP_PREV      --上一历史步骤表,存放历史步骤和上一个步骤的关联数据
(
    ID number,                        --当前历史步骤编号
    PREVIOUS_ID number,               --上一历史步骤编号
    primary key (ID, PREVIOUS_ID),
    foreign key (ID) references OS_HISTORYSTEP(ID),
    foreign key (PREVIOUS_ID) references OS_HISTORYSTEP(ID)
);

ER图:

分享到:
评论

相关推荐

    OSWorkflow工作流程源码(JAVA/JSP)

    1. **配置数据库**: 根据`osworkflow数据库配置.txt`调整数据库配置,并创建相应的表。 2. **导入库**: 将osworkflow-2.7.0.jar添加到项目类路径中,如有其他依赖,如designer.jar,也需要一并引入。 3. **定义...

    osworkflow.7z

    通过使用POI,开发者可以创建、修改、读取Excel工作簿和工作表,获取单元格数据,甚至执行公式计算。这在数据导入导出、报表生成或者数据分析等场景中非常有用。 3. **OSWorkflow**:OSWorkflow是一款开源的工作流...

    osworkflow成功案例后的总结和升级方案

    3. "wfe-业务流引擎表.pdm":这可能是一个数据库模型文件,展示了与业务流引擎相关的数据结构,包括osworkflow在数据库中的表设计,这对于理解和优化osworkflow的存储和查询性能至关重要。 综合这些信息,我们可以...

    工作流引擎 Osworkflow 及其持久化机制的研究

    ##### 3.1 数据库表结构 为了实现持久化,OSWorkflow需要定义一组数据库表来存储工作流实例的相关信息。这些表主要包括: - `os_workflow_instance`:存储工作流实例的基本信息。 - `os_step`:存储每个步骤的信息...

    JBPM、OSWORKFLOW分析报告

    ### JBPM、OSWORKFLOW分析报告 #### 一、JBPM概述 JBPM,全称为Java Business Process Management,是一款开放源代码的业务流程管理框架。它涵盖了业务流程管理、工作流和服务协作等多个领域,旨在为开发者提供一...

    osworkflow_leaveApprove_mysql

    "osworkflow_leaveApprove_mysql.sql"文件正是这个例子的数据脚本,通过导入这个SQL文件,我们可以创建必要的数据库表结构,为工作流引擎提供数据支持。 在实际操作中,我们需要完成以下步骤: 1. **环境准备**:...

    用OSWorkFlow和JBPM开发工作流异同点解析

    它的XML文件包含了更多的标签元素,而且官方推荐不要直接修改流程文件,以免破坏流程结构。 **二、流程信息存储** 1. **JBPM** 直接将流程信息存储在数据库中,这使得流程数据可以方便地进行各种数据库操作。但这...

    yy.rar_DEMO_demo osworkflow_流程引擎_请假流程引擎

    2. **数据库脚本**:用于创建流程实例和任务数据所需的数据库表结构。 3. **文档**:关于如何运行和理解DEMO的说明,可能包含流程图和代码注释。 4. **配置文件**:osWorkflow的配置文件,定义了引擎的行为和连接到...

    主流工作流对比

    本文将对比分析几种主流的开源工作流引擎,包括JBPM4、Activiti5、OSWorkflow以及Shark,并针对它们的特点、优势和劣势进行详细的探讨。 #### 二、JBPM4 - **数据库**: 使用Hibernate 3作为持久层框架。 - **持久...

    jbpm工作流详解

    jBPM 4.4版本兼容Hibernate 3.3.1,因此能很好地支持各种主流数据库,共包含18张数据库表。jBPM官方网站提供了更多关于该引擎的信息:http://www.jboss.org/jbpm。 要开始使用jBPM 4.4,首先需要一个JDK 5或更高...

Global site tag (gtag.js) - Google Analytics