Activiti工作流学习要点
1. 1个插件
在Eclipse中安装Activiti插件,让你可以在Eclipse中绘制Activiti工作流图
2. 1个引擎
ProcessEngine对象,Activiti工作流引擎。这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。
所有的操作都是从获取引擎开始的,所以一般会把引擎作为全局变量
ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();
3. 1个配置文件
activiti.cfg.xml。Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数
4. 5种数据库表
Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。
ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。
ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例,变量,任务等等。
ACT_GE_*: 通用数据,用于不同场景下,如存放资源文件。
5. 23张表
不同的表存放不同方面的数据,有流程定义表、任务结点表、流程变量表、任务历史表等等。
表名 | 功能 |
---|---|
ACT_GE_PROPERTY | 属性数据表。存储这个流程引擎级别的数据。 |
ACT_GE_BYTEARRAY | 用来保存部署文件的大文本数据 |
ACT_RE_DEPLOYMENT | 用来存储部署时需要持久化保存下来的信息 |
ACT_RE_PROCDEF | 业务流程定义数据表 |
ACT_RE_MODEL | 流程设计模型部署表 |
ACT_ID_GROUP | 用来存储用户组信息 |
ACT_ID_MEMBERSHIP | 用来保存用户的分组信息 |
ACT_ID_USER | 用来保存用户信息 |
ACT_ID_INFO | 用户扩展信息表 |
ACT_RU_EXECUTION | 运行时流程执行实例表 |
ACT_RU_TASK | 运行时任务数据表 |
ACT_RU_IDENTITYLINK | 任务参与者数据表。主要存储当前节点参与者的信息 |
ACT_RU_VARIABLE | 运行时流程变量数据表 |
ACT_RU_JOB | 运行时定时任务数据表 |
ACT_RU_EVENT-SUBSCR | |
ACT_HI_PROCINST | 历史流程实例表 |
ACT_HI_ACTINST | 历史节点表 |
ACT_HI_TASKINST | 历史任务实例表 |
ACT_HI_DETAIL | 启动流程或者在任务complete之后,记录历史流程变量 |
ACT_HI_ATTACHMENT | 历史附件表 |
ACT_HI_COMMENT | 历史意见表 |
ACT_HI_IDENTITYLINK | 历史流程人员表 |
ACT_HI_VARINST | 历史变量表 |
流程文件部署主要涉及到的3个表:ACT_GE_BYTEARRAY、ACT_RE_DEPLOYMENT、ACT_RE_PROCDEF
6. 7大Service接口
Service接口 | 作用 |
---|---|
RepositoryService | 流程仓库Service,用于管理流程仓库,例如部署、删除、读取流程资源 |
IdentifyService | 身份Service,用于管理和查询用户、组之间的关系 |
RuntimeService | 运行时Service,可以也拿过来处理所有正在运行状态的流程实例、任务等 |
TaskService | 任务Service,用于管理和查询任务,例如签收、办理、指派等 |
FormService | 表单Service,用于读取流程、任务相关的表单数据 |
HistoryService | 历史Service,用于查询所有历史数据,例如流程实例、任务、活动、变量、附件 |
ManagementService | 引擎管理Service,和具体业务无关,主要可以查询引擎配置、数据库、作业等 |
7. 7项基本操作
设计流程图(各种组件,如连线、用户任务、网关)
流程定义增删改查
流程变量增删改查
启动流程定义
任务增删改查
完成任务
历史信息查询
最新文章
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
- sql 从一个库中取某个表的数据导入到另一个库中相同结构的表中
- VB CreateObject转C#
- 【VB6】vbRichClient5.cWebServer实现一个简单web服务器
- kali linux 、 windows、ubuntu三系统的引导问题
- 在Win7下安装IIS
- Why Hadoop2
- VC6集成开发环境使用参考
- perl-cgi基础
- 为Qt视图中的文字添加彩虹渐变效果
- (一)jdk8学习心得之遍历
- poj 3764 The xor-longest Path (01 Trie)
- bzoj 4770 图样 - 概率与期望 - 动态规划
- turtle画戒指
- java基础知识-方法
- IDEA 2017 安装后 关联SVN
- [LeetCode] 98. Validate Binary Search Tree_Medium
- Centos 6.5 搭建阿里云yum源
- BIND DNS拒绝服务漏洞 CVE-2016-2776修复
- 用代码块在new对象时set属性
热门文章
- KnockoutJS + My97DatePicker b
- Knockout.js 数据验证之插件版和无插件版
- 用 Qt Creator 开发非 Qt 的 C/C++ 程序
- 微信小程序-基于canvas画画涂鸦
- 【微信小程序】解决 竖向<;scroll-view>;组件 “竖向滚动页面出现遮挡”问题
- StringBuilder.AppendFormat(String, Object, Object) 方法
- Visual C#两分钟搭建BHO IE钩子
- js removeChild
- 在TFS 2013上,使用tf workspace命令删除其他用户的工作区
- JS打开新窗口防止被浏览器阻止的方法[转]