研究了一段时间的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图:
相关推荐
1. **配置数据库**: 根据`osworkflow数据库配置.txt`调整数据库配置,并创建相应的表。 2. **导入库**: 将osworkflow-2.7.0.jar添加到项目类路径中,如有其他依赖,如designer.jar,也需要一并引入。 3. **定义...
通过使用POI,开发者可以创建、修改、读取Excel工作簿和工作表,获取单元格数据,甚至执行公式计算。这在数据导入导出、报表生成或者数据分析等场景中非常有用。 3. **OSWorkflow**:OSWorkflow是一款开源的工作流...
3. "wfe-业务流引擎表.pdm":这可能是一个数据库模型文件,展示了与业务流引擎相关的数据结构,包括osworkflow在数据库中的表设计,这对于理解和优化osworkflow的存储和查询性能至关重要。 综合这些信息,我们可以...
##### 3.1 数据库表结构 为了实现持久化,OSWorkflow需要定义一组数据库表来存储工作流实例的相关信息。这些表主要包括: - `os_workflow_instance`:存储工作流实例的基本信息。 - `os_step`:存储每个步骤的信息...
### JBPM、OSWORKFLOW分析报告 #### 一、JBPM概述 JBPM,全称为Java Business Process Management,是一款开放源代码的业务流程管理框架。它涵盖了业务流程管理、工作流和服务协作等多个领域,旨在为开发者提供一...
"osworkflow_leaveApprove_mysql.sql"文件正是这个例子的数据脚本,通过导入这个SQL文件,我们可以创建必要的数据库表结构,为工作流引擎提供数据支持。 在实际操作中,我们需要完成以下步骤: 1. **环境准备**:...
它的XML文件包含了更多的标签元素,而且官方推荐不要直接修改流程文件,以免破坏流程结构。 **二、流程信息存储** 1. **JBPM** 直接将流程信息存储在数据库中,这使得流程数据可以方便地进行各种数据库操作。但这...
2. **数据库脚本**:用于创建流程实例和任务数据所需的数据库表结构。 3. **文档**:关于如何运行和理解DEMO的说明,可能包含流程图和代码注释。 4. **配置文件**:osWorkflow的配置文件,定义了引擎的行为和连接到...
本文将对比分析几种主流的开源工作流引擎,包括JBPM4、Activiti5、OSWorkflow以及Shark,并针对它们的特点、优势和劣势进行详细的探讨。 #### 二、JBPM4 - **数据库**: 使用Hibernate 3作为持久层框架。 - **持久...
jBPM 4.4版本兼容Hibernate 3.3.1,因此能很好地支持各种主流数据库,共包含18张数据库表。jBPM官方网站提供了更多关于该引擎的信息:http://www.jboss.org/jbpm。 要开始使用jBPM 4.4,首先需要一个JDK 5或更高...