Activiti入门
在本章内容中,我们来创建一个Activiti工作流, 并启动这个流程。
创建Activiti工作流主要包含以下几步:
1、定义流程,捉照BPMN的规范,使用流程定义工具,用流程符号把整个流程描述出来
2、部署流程,把画好的流程定义文件,加载到数据库中,生成表的数据
3、启动流程,使用java代码来操作数据库表中的内容
5.1流程符号
BPMN 2.0是业务流程建模符号2.0的缩写。
它由Business Process Management Initiative这个非营利协会创建并不断发展。作为一种标识,BPMN 2.0是使用一些符号来明确业务流程设计流程图的一整天符号规范,它能增进业务建模时的沟通效率。
目前BPMN2.0是最新的版本,它用于在BPM.上下文中进行布局和可视化的沟通。
接下来我们先来了解在流程设计中常见的符号。
BPMN2.0的基本符合主要包含:
事件Event
指的是在业务流程的运行过程中发生的事情,分为:
-
开始:表示一个流程的开始
-
中间:发生的开始和结束事件之间,影响处理的流程
-
结束:表示该过程结束
活动Activity
活动是工作或任务的一个通用术语。于个活动可以是一个任务, 还可以是一个当前流程的子处理流程; 其次,你还可以为活动指定不同的类型。常见活动如下:
网关GateWay
网关用来处理决策,用于表示流程的分支与合并。,有几种常用网关需要了解:
-
排他网关(X)
只有一条路径会被选择。流程执行到该网关时,按照输出流的顺序逐个计算,当条件的计算结果为true时,继
续执行当前网关的输出流;
如果多条线路计算结果都是true,则会执行第一个值为true的线路。如果所有网关计算结果没有true,则引擎
会抛出异常。
排他网关需要和条件顺序流结合使用,default 属性指定默认顺序流,当所有的条件不满足时会执行默认顺序
流。 -
并行网关(+)
所有路径会被同时选择
拆分——并行执行所有输出顺序流,为每一条顺序流创建一个并行执行线路。
合并——所有从并行网关拆分并执行完成的线路均在此等候,直到所有的线路都执行完成才继续向下执行。 -
包容网关(+)
可以同时执行多条线路,也可以在网关上设置条件
拆分–计算每条线路上的表达式,当表达式计算结果为true时, 创建一个并行线路并继续执行
合并–所有从并行网关拆分并执行完成的线路均在此等候,直到所有的线路都执行完成才继续向下执行。 -
事件网关(+)
专门为中间捕获事件设置的, 允许设置多个输出流指向多个不同的中间捕获事件。当流程执行到事件网关
后,流程处于等待状态,需要等待抛出事件才能将等待状态转换为活动状态。
流向Flow
流是连接两个流程节点的连线。常见的流向包含一下几种:
-
顺序流:用一个带实心箭头的实心线表示,用于指定活动执行的顺序
-
信息流:用一条带箭头的虚线表示,用于描述两个独立的业务参与者(业务实体/业务角色)之间发送和接受的消息流动
-
关联:用一根带有线箭头的点线表示,用于将相关的数据、文本和其他人工信息与流对象联系起来。用于展示活动的输入和输出
5.2流程设计器使用
Activiti BPMN visualizer
新版idea只能使用Activiti BPMN visualizer
- 新建流程
- 右键view BPMN开启可视化
- 右键可视化界面开始画流程图