Bpmn - 如何建模可选任务

时间:2017-05-02 13:56:15

标签: bpmn camunda

enter image description here

任务1完成后,我们需要根据条件生成一个可选任务。流程完成不依赖于此可选任务完成。

设计此模型的正确方法是什么?

3 个答案:

答案 0 :(得分:3)

Modeling optional task in BPMN

您应该对可选流使用条件标记。 图中的独占网关将始终执行强制任务2,即使执行条件为真,也始终会忽略可选任务。

无法使用并行网关,因为它将等待可选任务完成以便成功合并。

答案 1 :(得分:3)

可以像这样建模所需的行为:

BPMN Diagram

在Task1完成后触发Task2,如果可选Condition为true,则也会触发可选Task。 Task2完成后终止实例。如果可选任务仍处于活动状态,则将终止。

答案 2 :(得分:0)

使用非中断(消息/信号/升级)事件将有助于您的方案。

或者,在此过程中使用事件子流程。

如果您了解如何使用它,请告诉我。否则,我会为你画一个例子

更新

注意: 1.我只使用bpmn.io来绘制示例而不是Camunda。但是,这是基本的BPMN,我认为Camunda必须具有这种类型的模型。我只熟悉JBPM。

说明: 基本上,您实际上不必使用消息事件。它可以是信号/升级,具体取决于您拥有的场景。从理论上讲,如果有传入消息来创建其他活动,则使用消息事件,并且此事件在其他活动中最常见。然而,你必须考虑的一件事是事件是否在中断。在你的情况下,它不会中断,因此我把非中断消息事件。

中断消息事件将在事件触发后立即中止任务1,而非中断仅在不中止任务1的情况下添加其他任务/事件。

enter image description here

希望这个例子有所帮助。