Activiti入门教程二(熟悉数据库设计)
来源:互联网 发布:淘宝全屏海报显示不全 编辑:程序博客网 时间:2024/05/29 08:06
上篇博客中提到,学习Activiti主要是学习自带的23张数据表,那么这篇博客就来分析一下这23张表,下面是分类。
下面来一点一点的来分析一下上图结构。
与部署对象和流程定义相关的表
act_re_deployment:部署数据表,一次部署可以添加多个资源,资源会被保存到资源表(act_ge_bytearray)中;而部署的信息,则保存到部署表中。
act_re_procdef:流程定义表,如果发布部署的文件是流程文件,除了将内容保存到资源表外,还会解析流程文件的内容,形成特定的流程定义数据,保存到此表中。
act_ge_bytearray:资源表,用来保存资源相应的信息
act_ge_property:用来生成下一个主键信息。
与流程实例,执行对象,任务相关的表
act_ru_execution:正在执行的流程实例表,当流程启动后,会产生一个流程实例,同时会产生相应的执行流,那么流程实例和执行流数据均会被保存到act_ru_execution表中。
act_hi_procinst:流程实例的历时表,与act_ru_execution正好对应。
act_ru_task:正在执行的任务列表(只有任务节点(UserTask),该表中才有数据)
act_hi_actinst:所有活动的历史表(包括所有的节点)
与流程变量相关的表
act_ru_variable: 正在执行的流程变量表,用来保存在整个流程执行过程中用到的变量信息
act_hi_varinst :历史的流程变量表,与act_ru_variable正好对应
与组任务表相关的表
act_ru_identitylink :正在执行的组任务表
act_hi_identitylink:历史的人员表
与组织结构相关的表
act_id_group :工作流中的角色表
act_id_user :工作流中的用户表
act_id_membership:中间表,关联关系表
以上就是大致的23张数据表,下面串起来,来把我们的知识连成线。
下面就通过上面这个流程的例子,来把我们上述的表给串起来。
首先是部署和流程相关方面的描述,上图从开始到结束是一个完整的流程,所以就是所谓的一次部署act_re_deployment,然后在整个流程中,我们可能会涉及到多个流程的文件,此时我们会把文件存储到act_ge_bytearray表中,然后把每个文件的详细信息存储到act_re_procdef中。
部署完流程完后,就要开始执行我们的流程了,从开始节点算起,每个节点都是一个流程实例,正在执行的会存储到act_ru_execution,执行完后,此表就会删除,然后把历史记录存储到act_hi_procinst。中间涉及到的用户任务节点,也就是UserTask节点,历史和正在执行的都会分别存储到act_hi_actinst、act_ru_task中。如果在流程中间执行中,设计到变量的传递,比如我们想把流程的执行者,作为变量来传递的话,就会存储到act_ru_variable和act_hi_varinst中。
最后,在整个流程执行过程中,设计到人员的操作信息,存储到act_id_user 中,如果设计到组的概念的话,那么某个用户是属于某个组的,就好比工作里面的部门一样,某些职责只能某些部门来执行,因此在Activi中也涉及到了组的概念,存储到act_id_group ,他们之间的联系用第三张表act_id_membership来关联。
- Activiti入门教程二(熟悉数据库设计)
- Activiti入门教程一(初步认识Activiti)
- Activiti入门教程
- Activiti工作流数据库设计说明
- Transformer入门教程(二)模型设计(一)
- Transformer入门教程(三)模型设计 (二)
- Activiti学习文档(二)之安装流程设计器
- Activiti工作流(二)——入门Demo及数据库
- Activiti入门教程四(自定义Activiti命令拦截器)
- Activiti入门教程六(详解Activiti中的查询API)
- activiti学习(二)
- Activiti(二)流程
- springMVC集成activiti--Activiti系列(二)
- activiti工作流框架 数据库设计说明书
- Activiti 5.22 框架数据库设计说明
- 工作流Activiti的学习总结(二)activiti中ProcessEngine的创建和数据库表命名规则
- (二)activiti流程图介绍
- activiti 流程定义(二)
- React Native——安装(Setup)
- Android 图片特效处理:Bipmapshader位图渲染器(CLAMP 、REPEAT 、MIRROR 区别)
- Android 图片特效处理:Shader着色器、渲染
- leetcode 268 Missing Number
- C++的类的声明及成员变量和成员函数
- Activiti入门教程二(熟悉数据库设计)
- Linux系统函数write(strlen、sizeof与write结合使用的区别)
- 黑马程序员——ios开发基础之OC中的Foundation框架(一)
- Java基础——switch、循环语句、控制跳转语句
- Android 自定义九宫格控件Gridview用法以及属性
- Node.js开发入门—UDP编程
- My test program from learning "move constructor", "move assignment". For personal memo purpose.
- 伍子胥
- springmvc文件上传的三种方式