工作流引擎activiti——进阶

一、介绍

activiti把业务系统中复杂的业务流程抽取出来,使用建模语言BPMN2.0进行定义,实现了业务流程由activiti进行管理,减少了由于流程变更进行系统升级改造的工作量,减少了开发和维护成本。

使用步骤

  • 部署activiti
    使用activiti工具类生成25张表。
  • 流程定义
  • 流程定义部署
  • 启动一个流程实例
  • 用户查询待办任务
  • 用户办理任务
  • 流程结束

数据库支持

工作流引擎activiti——进阶_第1张图片

activiti的表结构

一般数据 历史记录 流程定义 运行实例
GE HI RE RU

使用25张表。

类关系图

工作流引擎activiti——进阶_第2张图片
工作流引擎activiti——进阶_第3张图片

二、入门案例

  1. 定义流程
  2. 部署流程
  3. 启动流程

流程符号——BPMN2.0

  • 事件
  • 活动
  • 网关
  • 流向

三、流程操作

删除流程定义

如果开启了流程实例,在删除流程定义时会失败。此时设置成级联删除,可以先后删除流程实例和流程定义。

下载流程资源文件

使用commons-io.jar实现输入流和输出流的转化。

四、Activiti进阶

工作流引擎activiti——进阶_第4张图片
工作流引擎activiti——进阶_第5张图片
工作流引擎activiti——进阶_第6张图片

流程实例

实现businessKey的关联
流程的挂起和激活

个人任务

分配任务负责人

  • 固定分配
  • 表达式分配
    UEL表达式,属于Java EE6规范
  • 监听器分配

流程变量

作用域:global、local
使用:属性上、连线上
设置流程变量:UEL-value、UEL-method

组任务

负责人和候选人的区别
个人任务和组任务的区别

网关

排他网关:只执行一个分支
并行网关:fork+join,分支和汇聚
包含网关:排他+并行

五、Activiti7与SpringBoot整合开发

  • 直到Activiti7发布之后,才完全支持SpringBoot2.x整合。
  • 默认集成了SpringSecurity安全框架。

环境搭建

  • ideaU2019
  • MySQL5.7
  • maven插件
  • actiBPM流程设计插件

ideaC不支持Diagrams,ideaU支持

你可能感兴趣的:(java)