且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Activiti 笔记

更新时间:2022-05-16 13:21:05

1、ProcessInstance 与ProcessDefinition

流程实例(ProcessInstance)和流程定义(ProcessDefinition)的关系,与类和实例对象的关系有点像,ProcessDefinition是整个流程步骤的说明而ProcessInstance就是指流程定义从开始到结束的那个最大的执行路线。

2、Execution

Execution是按照ProcessDefinition的规则执行的当前的路线,如果ProcessDefinition只有一个执行路线的话,那么Execution和ProcessInstance就是完全一样了如果ProcessDefinition中有多个执行路线的话,Execution和ProcessInstance可能是同一个也可能不是同一个。
所以得出结论:一个流程中ProcessInstance有且只能有一个,而Execution可以存在多个。

3、Task

任务(Task)就是当流程执行到某步骤或某环节时生产的任务信息。

4、数据库表设计

Activiti 笔记

5、基础框架

Activiti 笔记

6、BPMN2.0

BPMN2.0对流程执行语义定义了三类基本要素,它们是日常业务流程的“三板斧”:

Activities(活动)——在工作流中所有具备生命周期状态的都可以称之为“活动”,如原子级的任务(Task)、流向(Sequence Flow),以及子流程(Sub-Process)等
Gateways(网关)——顾名思义,所谓“网关”就是用来决定流程流转指向的,可能会被用作条件分支或聚合,也可以被用作并行执行或基于事件的排它性条件判断
Events(事件)——在BPMN2.0执行语义中也是一个非常重要的概念,像启动、结束、边界条件以及每个活动的创建、开始、流转等都是流程事件,利用事件机制,可以通过事件控制器为系统增加辅助功能,如其它业务系统集成、活动预警等
这三类执行语义的定义涵盖了业务流程常用的Sequence Flow(流程转向)、Task(任务)、Sub-Process(子流程)、Parallel Gateway(并行执行网关)、ExclusiveGateway(排它型网关)、InclusiveGateway(包容型网关)等常用图元,如下图:

Activiti 笔记