1、描述

子过程是包含其他活动,网关,事件,等等,其本身形成的过程,是更大的处理的一部分的活性。一个子流程在父流程中完全定义(这就是为什么它通常被称为嵌入式子流程)。

子流程有两个主要用例:

  • 子流程允许分层建模。许多建模工具允许折叠子流程,隐藏子流程的所有细节,从而形成业务流程的高级端到端概览。
  • 子流程为事件创建一个新的范围。在子过程执行期间抛出的事件可以被子过程边界上的边界事件捕获,从而为该事件创建一个限于子过程的范围。

使用子流程确实施加了一些限制:

  • 子进程只能有一个无启动事件,不允许有其他的启动事件类型。一个子过程必须至少有一个结束事件。请注意,BPMN 2.0规范允许在子进程中省略开始和结束事件,但是当前的Flowable实现不支持这一点。
  • 序列流不能通过子流程边界。

2、图形表示法

一个子过程被视为典型的活动(一个圆角的矩形)。如果子流程被折叠,则只显示名称和加号,从而高度概括了流程:
在这里插入图片描述

如果子流程被扩展,则子流程的步骤显示在子流程边界内:
在这里插入图片描述

使用子流程的主要原因之一是为某个事件定义一个范围。以下过程模型显示了这一点:调查软件/调查硬件任务需要并行执行,但是这两个任务都需要在一定时间内完成,然后才能咨询第2级支持。在这里,计时器的范围(其中活动必须按时完成)受到子进程的限制。
在这里插入图片描述

3、XML表示

子流程由subProcess元素定义。作为子过程一部分的所有活动,网关,事件和子元素都需要包含在这个元素中。

<subProcess id="subProcess">
<startEvent id="subProcessStart" />
... other Sub-Process elements ...
<endEvent id="subProcessEnd" />
</subProcess>

上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号:
在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐