工作流-JBPM(2)
来源:互联网 发布:php开发直播系统 编辑:程序博客网 时间:2024/06/16 22:04
上篇博客中简单的介绍了工作流的概念以及JBPM中一些基本概念的理解,理论理解后结合着数据库中的表和表中的字段对这些抽象的概念进一步理解。下面内容中数据库表中的字段只是选择部分说明。
流程定义:一个流程的说明,在实际应用的就是将用户画的流程图及生成的xml部署到JBPM解析器中,这个过程对应了四张表。
JBPM4_DEPLOYMENT:部署表,用来描述一次部署
流程定义中如果某一步任务的执行人可以有多个候选人,且任何一个人接受并完成任务即可,这就出现了组任务的情况。这种情况就设计到了另一张数据库表——
JBPM4_PARTICIPATION:存储组任务候选人,但这张表是一张临时表,任务完成后表中的相关数据会被删除。
流程实例:当某个用户发起一次流程,就是启动一次流程实例。涉及到5张表。
小结:
结合数据库表理解JBPM中的概念容易很多,表结构整理清楚在程序中可灵活调用方法查询自己想要的信息。
流程定义:一个流程的说明,在实际应用的就是将用户画的流程图及生成的xml部署到JBPM解析器中,这个过程对应了四张表。
JBPM4_DEPLOYMENT:部署表,用来描述一次部署
字段说明DBID_: 主键,部署IDSTATE: 状态 active
JBPM4_LOB:仓库表,存放了流程定义文档(xml,png)
字段说明DBID_:主键BLOB_VALUE_:文件转为二进制的存储DEPLOYMENT_:部署ID ( 外键 )NAME_: xml或者png的文件路径
JBPM4_DEPLOYPROP:部署属性表,存放流程定义信息(一个部署4条记录)
如果pdkey发生改变,则是一个全新的名称,所以版本号应该从1开始计算这是一张比较直观的数据库中的原数据图
JBPM_PROPERTY :版本表,记录版本,一般不会使用
流程定义中如果某一步任务的执行人可以有多个候选人,且任何一个人接受并完成任务即可,这就出现了组任务的情况。这种情况就设计到了另一张数据库表——
JBPM4_PARTICIPATION:存储组任务候选人,但这张表是一张临时表,任务完成后表中的相关数据会被删除。
流程实例:当某个用户发起一次流程,就是启动一次流程实例。涉及到5张表。
JBPM4_EXECUTION:表示当前正在执行的流程实例
字段DBID_:主键ID_:流程实例ID,即piid(process instance),该值是唯一的ACTIVITYNAME_:当前流程实例活跃的节点名PROCDEFID_:流程定义ID,即JBPM4_DEPLOYPROP表中的pdid
JBPM4_HIST_PROCINST:表示历史的流程实例,但是当前正在运行的流程实例也在这里
字段DBID_:主键ID_:流程实例IDSTART_:整个流程实例的开始时间END_:流程实例的结束时间,如果该流程实例为当前正在运行的流程则,该值为空STATE:表示流程实例的状态 如果是正在运行,为active 如果流程实例结束 为ended
JBPM4_TASK:表示当前正在执行的任务
说明:任务是jbpm流程图的一个节点字段DBID_:主键、任务IDNAME_:任务名称ASSIGNEE_:任务的执行人EXECUTION_ID_:JBPM_EXECUTION表中的ID_,相当于是piid
JBPM4_HIST_TASK:表示历史的任务,但是当前正在执行的任务也在这里
字段类似正在执行的任务,注意以下两个STATE_:如果一个任务被完成以后,值为completedend_:任务的结束时间有值了JBPM4_HIST_ACTINST:表示历史的节点字段TYPE_:节点类型
流程变量:流程执行过程中的数据,涉及到两张表
JBPM4_VARIABLE:存放流程变量当一个流程实例结束以后,关于该流程实例的流程变量也被删除了
该表也是一个临时表,临时存放流程变量
JBPM4_HIST_VAR:永久存放流程变量的表
但是如果用jbpm4的方法把流程变量持久化,那么就意味着所有的数据的数据结构按照JBPM的表定死了,如果将来需要比较复杂的查询统计,jbpm4本身的表由于存储信息较少是无法满足需求的。
流程控制的表和数据结构的表分开,存储数据的表按照系统的需求设计
小结:
结合数据库表理解JBPM中的概念容易很多,表结构整理清楚在程序中可灵活调用方法查询自己想要的信息。
0 0
- 工作流-JBPM(2)
- Jbpm工作流(一)
- 工作流-JBPM(1)
- JBPM(二)---JBPM工作流基本操作
- 工作流JBPM有关(一)
- JBPM工作流
- JBPM工作流
- JBPM工作流
- JBPM工作流
- JBPM工作流
- JBPM工作流
- JBPM工作流
- jBPM工作流
- JBPM工作流
- JBPM-工作流
- 【工作流】:JBPM
- 工作流--JBPM
- JBPM工作流
- 数据库二进制
- C++一些技巧
- ListView和ScrollView的下拉和上拉的回弹效果
- printf("%s")导致内存泄露
- 动态规划概念讲解
- 工作流-JBPM(2)
- 常用正则表达式大全
- Namenode HA原理详解(脑裂)
- 2743: [HEOI2012]采花
- 数据结构01秦九算法
- RabbitMQ --用户管理
- 【17.07%】【codeforces 583D】Once Again...
- c语言==字节、半字、字对齐方式(15)
- JavaScript之——面向对象