Flowable入门系列文章58 - 子过程

Posted 分享牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flowable入门系列文章58 - 子过程相关的知识,希望对你有一定的参考价值。

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
了解更多文章可以关注微信公众号:

以上是关于Flowable入门系列文章58 - 子过程的主要内容,如果未能解决你的问题,请参考以下文章

Flowable入门系列文章59 - 事件子流程

Flowable入门系列文章30 - Activity解读 06

Flowable入门系列文章60 - 交易子流程

Flowable入门系列文章27 - Activity解读 03

Flowable入门系列文章28 - Activity解读 04

Flowable入门系列文章31 - Activity解读 07