(BPM业务流程管理)JEE
工作流管理系统 BPM详解
1 流程配置类数据库表:
_PROCESSDEFINITION:流程模版表
字段名 字段含义 主键 外键
ID_ 流程模版标识 √ ×
NAME_ 流程模版名称 × ×
VERSION_
流程模版版本,对于同
一流程模版,多次插入
数据库时,数据库中有
多条记录,每条记录中
的版本号一次增加
× ×
ISTERMINATIONIMPLICIT_
是否支持强行终止流
程(目前理解)
× ×
STARTSTATE_
起始节点 ID,在
JBPM_NODE表中
× √
_NODE:流程节点表
字段名 字段含义
主
键
外键
ID_ 流程节点标识 √
CLASS_
节点类型:
C:
D:
E:
F:
J:
K:
N:
R:
S:
U:
NAME_ 流程节点名称
SUBPROCESSDEFINITION_
节点类型为 ProcessState时使用,代表
子流程模版 id
√
ISASYNC_ 节点是否支持异步机制
ACTION_
节点中指定的 action,对应 JBPM_ACTION
表
√
SUPERSTATE_
节点对应的 SuperState的 id,表明该节
点属于某个 SuperState
√
PROCESSDEFINITION_ 节点所在的流程模版 id √
DECISIONDELEGATION
节点类型为 Decision时使用,表明
Decision对应的代理类,对应
JBPM_DELEGATION表
√
DECISIONEXPRESSION_
节点类型为 Decision时使用,该属性表
示 Decision中使用的判断表达式
SIGNAL_ 节点类型为 Task
CREATETASKS_ 节点类型为 Task
ENDTASKS_ 节点类型为 Task
NODECOLLECTIONINDEX_ 节点类型为 SuperState时使用,
_TRANSITION:流程迁移表
字段名 字段含义 主键 外键
ID_ 流程迁移标识 √
NAME_ 流程迁移名称
PROCESSDEFINITION_ 迁移所在的流程模版 id √
FROM_
迁移来源,对应 Node的
id
√
TO_ 迁移目的,对应 Node的 √
id
FROMINDEX_ ?
_ACTION:流程动作表
字段名 字段含义
主
键
外
键
ID_ 流程动作标识 √
NAME_ 流程动作名称 √
CLASS_
流程动作分类:
A(动作):
S(脚本):
C(创建定时器):
nI(取消定时器):
n
ISPROPAGATIONALLOWED_ ?
ACTIONEXPRESSION_ 动作类行为 I时使用,表示动作执行的脚本
ISASYNC_ 动作是否支持异步机制
REFERENCEDACTION_ 动作中引用的动作,对应 JBPM_ACTION √
ACTIONDELEGATION_
动作类型为A时使用,表示动作执行的代理类,
对应 JBPM_DELEGATION
√
EVENT_ 动作中指定的事件,对应 JBPM_EVENT
PROCESSDEFINITION_ 动作所在的流程模版 id √
TIMERNAME_ 定时器名称
DUEDATE_ 定时器间隔时间
REPEAT_ 定时器动作执行次数
TRANSITIONNAME_ 动作指定后指向的 Transition
TIMERACTION_ 定时器动作代理类,对应 JBPM_ACTION
EXPRESSION_ 定时器执行表达式
EVENTINDEX_ ?
EXCEPTIONHANDLER_ 异常处理类,对应 JBPM_EXCEPTIONHANDLER
EXCEPTIONHANDLERINDEX_ ?
_EVENT:流程事件表
字段名 字段含义 主键 外键
ID_ 流程事件标识 √
EVENTTYPE_ 流程事件类型名称
TYPE_
流程事件所在的图形节点类型
"A":Task
"C":ProcessState
"D":Decision"
"E":EndState"
"F":Fork"
"J":Join"
"K":TaskNode"
"N":Node"
"P":ProcessDefinition"
"R":StartState"
"S":State"
"T":Transition"
"U":SuperState"
GRAPHELEMENT_ 流程事件所在的图形节点的 ID
PROCESSDEFINITION_
流程事件所属流程定义,对应
JBPM_PROCESSDEFINITION
√
NODE_
流程事件所属节点,对应
JBPM_NODE
√
TRANSITION_
流程事件所属迁移,对应
JBPM_TRANSITION
√
TASK_
流程事件所属任务,对应
JBPM_TASK
√
_DELEGATION:流程代理类表(用于实例化 jbpm中的 action类)
字段名 字段含义 主键 外键
ID_ 流程代理标识 √
CLASSNAME_ 流程代理类名称
CONFIGURATION_ 流程代理类配置信息
CONFIGTYPE_ 流程代理类配置类型
PROCESSDEFINITION_
流程代理类所属流程定义,对
应 JBPM_PROCESSDEFINITION
√
_TASK:流程任务表
字段名 字段含义 主键 外键
ID_ 流程任务标识 √
NAME_ 流程任务名称
PROCESSDEFINITION_
流程任务所属流程定义,对应
JBPM_PROCESSDEFINITION
√
DESCRIPTION_ 流程任务描述
ISBLOCKING_
任务是否为阻塞(任务不完成、
流程不能继续)
ISSIGNALING_ 任务是否可以驱动 TOKEN
DUEDATE
任务持续时间,表明任务应在多
长时间内完成
ACTORIDEXPRESSION ?
POOLEDACTORSEXPRESSION ?
TASKMGMTDEFINITION_
任务所属的任务管理模块 ID,
对应 JBPM_MODULEDEFIFNITION
√
TASKNODE_
任务所属的 TASK_NODE,对应
JBPM_NODE
√
STARTSTATE
任务所属的 START_NODE,对应
JBPM_NODE
√
ASSIGNMENTDELEGATION ? √
SWIMLANE 执行该任务的泳道(角色) √
TASKCONTROLLER_ ?
_TASKCONTROLLER:流程任务控制器
字段名 字段含义 主键 外键
ID_ 流程任务控制器标识 √
TASKCONTROLLERDELEGATION_
流程任务控制器对应的
代理,对应
JBPM_DELEGATION
√
_VARIABLEACCESS:流程变量表
字段名 字段含义 主键 外键
ID_ 流程变量标识 √
VARIABLENAME_ 流程变量名称
ACCESS_ 流程变量存取方式
MAPPEDNAME ?(暂时不使用)
PROCESSSTATE
流程变量所属的流程节点,
对应 JBPM_NODE
√
TASKCONTROLLER
流程变量所属的流程任务控
制器,对应
JBPM_TASKCONTROLLER
√
INDEX_ ?
SCRIPT 流程变量所属的 ACTION,对 √
应 JBPM_ACTION
_MODULEDEFINITION:流程模块定义表
字段名 字段含义
主
键
外
键
ID_ 流程模块标识 √
CLASS_
流程模块类型:
M:
C:
F:
L:
I:
T:
NAME_ 流程模块名称
PROCESSDEFINITION_
流程模块所属流程定义,对应
JBPM_PROCESSDEFINITION
√
STARTTASK 类型为 T时使用,对应 JBPM_TASK √
_EXCEPTIONHANDLER:流程异常处理器表
字段名 字段含义 主键 外键
ID_ 流程异常处理器标识 √
EXCEPTIONHANDLERNAME_ 流程异常处理器名称
TYPE_
流程异常处理器所在的图形节
点类型
"A":Task
"C":ProcessState
"D":Decision"
"E":EndState"
"F":Fork"
"J":Join"
"K":TaskNode"
"N":Node"
"P":ProcessDefinition"
"R":StartState"
"S":State"
"T":Transition"
"U":SuperState"
GRAPHELEMENT_
流程异常处理器所在的图形节
点的 ID
PROCESSDEFINITION_
流程异常处理器所属流程定义,
对应 JBPM_PROCESSDEFINITION
√
NODE_
流程异常处理器所属节点,对
应 JBPM_NODE
√
TRANSITION_
流程异常处理器所属迁移,对
应 JBPM_TRANSITION
√
TASK_
流程异常处理器所属任务,对
应 JBPM_TASK
√
GRAPHELEMENTINDEX_
流程异常处理器中包含的
ACTION集合的索引(?)
_DECISIONCONDITION:DECISION节点判断条件表
字段名 字段含义 主键 外键
INDEX_ 标识 √
DECISION_ 所属的 DECISION,对应 √
JBPM_NODE
TRANSITIONNAME_
DECISION节点的“离开节
点名称”
EXPRESSION
每一个“离开节点名称”
对应的条件表达式
_SWINLANE:DECISION节点判断条件表
字段名 字段含义 主键 外键
ID_ 标识 √
NAME_ 泳道名称 √
TRANSITIONNAME_
DECISION节点的“离开节
点名称”
EXPRESSION
每一个“离开节点名称”
对应的条件表达式
2流程运行类数据库表:
_PROCESSINSTANCE:流程实例表
字段名 字段含义 主键 外键
ID_ 标识 √
VERSION_ 版本
START_ 流程实例开始时间
END_ 流程实例结束时间
ISSUSPENDED 流程实例是否暂停
PROCESSDEFINITION_
流程实例所属的流程模版,对
应 JBPM_PROCESSDEFINITION
√
ROOTTOKEN_
流程实例对应的 TOKEN,对应
JBPM_TOKEN
√
SUPERPROCESSTOKEN_
父流程的当前 TOKEN的 ID,当
流程实例为子流程实例时使用,
表明由父流程进入子流程时,
父流程的当前 TOKEN。对应
JBPM_TOKEN
√
_TOKEN:流程 TOKEN表
字段名 字段含义 主键 外键
ID_ 标识 √
VERSION_ 版本
START_ TOKEN开始时间
END_ TOKEN结束时间
NODEENTER_ TOKEN进入当前节点(TOKEN
当前所处的节点)的时间
NEXTLOGINDEX_ ?
ISABLETOREACTIVATEPARENT_ 能否重新激活父 TOKEN标志
ISTERMINATIONIMPLICIT_ 能够强制终止 TOKEN标志
ISSUSPENDED_ TOKEN是否处于暂停状态
NODE_
TOKEN所在的当前节点,对应
JBPM_NODE
√
PROCESSINSTANCE_
TOKEN所属的流程实例,对应
JBPM_PROCESSINSTANCE
√
PARENT_
TOKEN的父 TOKEN,当 TOKEN
是由 fock产生或处于子流程
中时使用,对应 JBPM_TOKEN
√
_LOG:流程日志表
字段名 字段含义
主
键
外
键
ID_ 标识 √
CLASS_
日志类型:
A:ActionLog
B:ByteArrayUpdateLog
C:CompositeLog
D:VariableDeleteLogE:DateUpdateLog
F:HibernateStringUpdateLog
G:LongUpdateLog
H:HibernateLongUpdateLog
I:ProcessInstanceCreateLog
L:DoubleUpdateLog
M:MessageLog
N:NodeLog
O:TokenCreateLog
P:ProcessLog
R:VariableCreateLogS:SignalLog
T:TransitionLog
U:StringUpdateLog
V:VariableLog
W:VariableUpdateLogX:ProcessInstanceEndLog
Y:TokenEndLog
0:TaskLog
1:TaskCreateLog
2:TaskAssignLog
3:TaskEndLog
4:SwimlaneLog
5:SwimlaneCreateLog
6:SwimlaneAssignLog
INDEX_ ?
DATE_ 日志产生时间
TOKEN_ 日志所属 TOKEN
PARENT_ 日志的父日志,对应 JBPM_LOG
CHILD_
创建的子 TOKEN,对应 TokenCreateLog
结束的子 TOKEN,对应 TokenEndLog
MESSAGE_ 消息信息,当日志类型为 M(MessageLog)时使用
EXCEPTION_ 日志异常信息,对应 ActionLog
ACTION_ 日志所属 ACTION,当日志类型为 A(ActionLog)时
使用
NODE_ 日志所属 NODE,当日志类型为 N(NodeLog)时使用
ENTER_ 进入节点时间,对应 NodeLog
LEAVE_ 离开节点时间,对应 NodeLog
DURATION_ 节点停留时间,对应 NodeLog
TRANSITION_ 日志所属 TRANSITION
SOURCENODE_ TRANSITION的起点,对应 TransitionLog
DESTINATIONNODE_ TRANSITION的终点,对应 TransitionLog
VARIABLEINSTANCE_ 日志所属的流程变量实例,对应 VariableLog
OLDBYTEARRAY_ 原 BYTEARRAY值,对应 ByteArrayUpdateLog
NEWBYTEARRAY 新 BYTEARRAY值,对应 ByteArrayUpdateLog
OLDDATEVALUE 原 DATE值,对应 DateUpdateLog
NEWDATEVALUE 新 DATE值,对应 DateUpdateLog
OLDDOUBLEVALUE_ 原 DOUBLE值,对应 DoubleUpdateLog
NEWDOUBLEVALUE_ 新 DOUBLE值,对应 DoubleUpdateLog
OLDLONGIDCLASS_ 原 LONGIDCLASS值,对应 HibernateLongUpdateLog
NEWLONGIDCLASS_ 新 LONGIDCLASS值,对应 HibernateLongUpdateLog
OLDLONGIDVALUE_ 原 LONGID值,对应 HibernateLongUpdateLog
NEWLONGIDVALUE_ 新 LONGID值,对应 HibernateLongUpdateLog
OLDSTRINGIDCLASS_
原 STRINGIDCLASS值,对应
HibernateStringUpdateLog
OLDSTRINGIDVALUE_ 原 STRINGID值,对应 HibernateStringUpdateLog
NEWSTRINGIDCLASS_
新 STRINGIDCLASS值,对应
HibernateStringUpdateLog
NEWSTRINGIDVALUE_ 新 STRINGID值,对应 HibernateStringUpdateLog
OLDLONGVALUE_ 原 LONG值,对应 LongUpdateLog
NEWLONGVALUE_ 新 LONG值,对应 LongUpdateLog
OLDSTRINGVALUE_ 原 STRING值,对应 StringUpdateLog
NEWSTRINGVALUE_ 新 STRING值,对应 StringUpdateLog
TASKINSTANCE_
日志所属的 TASKINSTANCE,对应 TaskLog
TaskCreateLog
TaskAssignLog
TaskEndLog
TASKACTORID_
任务的新 ACTORID,对应 TaskAssignLog
TaskCreateLog
SwimlaneCreateLog
SwimlaneAssignLog
TASKOLDACTORID_
任务的原 ACTORID,对应 TaskAssignLog
SwimlaneAssignLog
SWIMLANEINSTANCE_
日志所属的 SWIMLANEINSTANC,对应 SwimlaneLog
SwimlaneCreateLog
SwimlaneAssignLog
_RUNTIMEACTION:流程实时 ACTION表
字段名 字段含义 主键 外键
ID_ 标识 √
VERSION_ 版本
EVENTTYPE_
实时 ACTION所处的事件类型
名称
TYPE_
实时 ACTION所在的图形节点
类型
"A":Task
"C":ProcessState
"D":Decision"
"E":EndState"
"F":Fork"
"J":Join"
"K":TaskNode"
"N":Node"
"P":ProcessDefinition"
"R":StartState"
"S":State"
"T":Transition"
"U":SuperState"
GRAPHELEMENT_
实时 ACTION所在的图形节点
的 ID
PROCESSINSTANCE_
实时ACTION所在的流程实例,
对应 JBPM_PROCESSINSTANCE
ACTION_
实时 ACTION对应的 ACTION,
对应 JBPM_ACTION
PROCESSINSTANCEINDEX_ ?
_VARIABLEINSTANCE:流程变量实例表
字段名 字段含义
主
键
外
键
ID_ 标识
CLASS_
变量类型:
V:
B:
rayInstance
D:
stance
O:
Instance
H:
ateLongInstance
I:
ateStringInstance
L:
stance
S:
Instance
N:
stance
NAME_ 变量名称
TYPE_ ?
CONVERTER_ 数值转换器
TOKEN_ 变量所在的 TOKEN,对应 JBPM_TOKEN √
TOKENVARIABLEMAP_
该变量所属的 TOKEN的变量映射,对应
JBPM_TOKENVARIABLEMAP
√
PROCESSINSTANCEINDE
X_
?
PROCESSINSTANCE_ 变量所在的流程实例,对应 JBPM_PROCESSINSTANCE √
BYTEARRAYVALUE_
当流程变量是 ByteArray类型时,变量的值,对应
JBPM_BYTEARRAY
DATEVALUE_ 当流程变量是 DATE类型时,变量的值
DOUBLEVALUE_ 当流程变量是 DOUBLE类型时,变量的值
LONGIDCLASS_
当流程变量是了 HibernateLongInstance类型时,变
量的类型
LONGVALUE_
当流程变量是了 HibernateLongInstance/Long类型
时,变量的值
STRINGIDCLASS_
当流程变量是了 HibernateStringInstance类型时,
变量的类型
STRINGVALUE_
当流程变量是了 HibernateStringInstance/String
类型时,变量的值
TASKINSTANCE_ 变量所在的任务实例,对应 JBPM_TASKINSTANCE
_COMMENT:流程备注信息表
字段名 字段含义 主键 外键
ID_ 标识 √
VERSION_ 版本
ACTORID_ 产生该备注的 ACTOR
TIME_ 流程备注产生时间
MESSAGE_ 流程备注信息
TOKEN_
流程备注所属的 TOKEN,
对应 JBPM_TOKEN
√
TASKINSTANCE_
流程备注所属的
TASKINSTANCE,对应
JBPM_TASKINSTANCE
√
TOKENINDEX_ ? √
TASKINSTANCEINDEX_ ?
_MESSAGE:流程异步消息表
字段名 字段含义 主外
键键
ID_ 标识 √
CLASS_
消息类型
M::
age
A:
N:
S:
K:
DESTINATION_ 消息目的源
EXCEPTION_ 消息异常信息
ISSUSPENDED_ ?
TOKEN_ 流程消息所属的 TOKEN,对应 JBPM_TOKEN √
TASKINSTANCE_ 流程消息所属的 TASKINSTANCE,对应 JBPM_TASKINSTANCE √
TEXT_ 消息内容
ACTION_ 流程消息所属的 ACTION,对应 JBPM_ACTION √
NODE_ 流程消息所属的 NODE,对应 JBPM_NODE √
TRANSITIONNAME_ ?
_TIMER:流程定时器表
字段名 字段含义 主键 外键
ID_ 标识 √
NAME_ 定时器名称
DUEDATE_ 定时器每次执行的间隔时间
REPEAT_ 定时器是否重复执行
TRANSITIONNAME_
定时器执行后,流程的目的
TRANSITION名称
EXCEPTION_
流程备注所属的 TOKEN,对应
JBPM_TOKEN
ISSUSPENDED_
ACTION_
定时器所属的 ACTION,对应
JBPM_ACTION
√
TOKEN_
定时器所属的 TOKEN,对应
JBPM_TOKEN
√
PROCESSINSTANCE_
定时器所属的
PROCESSINSTANCE,对应
JBPM_PROCESSINSTANCE
√
TASKINSTANCE_
定时器所属的TASKINSTANCE,
对应 JBPM_TASKINSTANCE
√
GRAPHELEMENTTYPE_ 定时器所属的图形元素类型
GRAPHELEMENT_ 定时器所属的图形元素
_TOKENVARIABLEMAP:流程 TOKEN变量 MAP表
字段名 字段含义 主键 外键
ID_ 标识 √
TOKEN_
流程 TOKEN变量映射所属的
TOKEN,对应 JBPM_TOKEN
√
CONTEXTINSTANCE_
流程 TOKEN变量映射所属的
流程上下文实例,对应
JBPM_MODULEINSTANCE
√
_MODULEINSTANCE:流程模块实例表
字段名 字段含义
主
键
外
键
ID_ 标识 √
CLASS_
模块实例类型:
M:
C:
L:
I::
.
PROCESSINSTANC
E_
模块实例所属的流程实例,对应 JBPM_PROCESSINSTANCE √
TASKMGMTDEFINI
TION_
任务类模块实例所属的任务模块,对应
JBPM_MODULEDEFINITION
√
NAME_ 模块实例名称
_BYTEARRAY:文件模块形式的流程变量实例表
字段名 字段含义 主键 外键
ID_ 标识
NAME_ 流程变量名称
FILEDEFINITION_
FILEMODULE,对应
JBPM_MODULEDEFINITION
√
_BYTEBLOCK:
字段名 字段含义 主键 外键
PROCESSFILE_ 对应 JBPM_BYTEARRAY √
BYTES_ 序列化流程变量
INDEX_ 标识 √