BPMN网关

介绍

BPMN 2.0 中,网关通过确定如何根据某些条件拆分、合并或引导流程来控制流程流动。它们是流程中的决策点,路径可以分叉或汇合,使您能够建模具有多种可能结果的复杂工作流。网关在 BPMN 图中由菱形表示,内部带有不同的图标以指示其具体行为。

Gateway类型:

排他网关排他网关
包容网关包容网关
并行网关并行网关
事件网关事件网关

排他网关 (XOR 网关)

排他网关
  • 目的:这是最常见的网关类型,只有一个路径会根据条件被执行。
  • 视觉表示:一个内部有“X”的菱形。
  • 示例:在审批过程中,如果请求被批准,则遵循一个路径;如果被拒绝,则遵循另一个路径。
  • 适用场景:当流程只能根据决策走一条路径时,如“是/否”或“真/假”。

包容网关 (OR 网关)

包容网关
  • 目的:该网关允许根据条件执行一个或多个路径。所有条件为真的路径都会被执行。
  • 视觉表示:一个内部有圆圈的菱形。
  • 示例:在需要多个审批的流程中(但不是全部都需要),系统可以根据设定的条件执行所有适用的审批路径。
  • 适用场景:当多个路径可以根据条件执行时,如多个标准可以触发不同的动作。

并行网关 (AND 网关)

并行网关
  • 目的:该网关用于将流程分成多个并行路径,所有分支必须同时执行。它也可以用于同步多个传入路径。
  • 视觉表示:一个内部有“+”的菱形。
  • 示例:一个任务中,多部门同时审查文件。
  • 适用场景:当任务或操作需要并行进行,或在继续之前必须同步多个路径时。

事件驱动型网关

事件驱动型网关
  • 目的:该网关根据事件引导流程。它等待特定事件(例如,消息、计时器、信号)以确定应选择的路径。
  • 视觉表示:一个内部有五边形的菱形。
  • 示例:一个流程等待客户回应或超时继续流程。
  • 适用场景:当流程的下一步取决于外部事件时,例如等待消息或计时器触发。

网关的要点

  • 分流:网关可以将单个序列流分成多个分支,根据条件或事件确定要走的路径。
  • 合流:网关也可以将多个序列流合并为一个,同步并行路径或根据特定条件汇合。
  • 决策:网关对于建模决策点至关重要,流程流动取决于评估结果、事件或用户输入。

使用场景

  • 排他网关:当只有一个条件为真,并且流程需要符合一个路径时。
  • 并行网关:当多个任务可以同时进行,并且都必须完成时。
  • 包容网关:当一个或多个条件为真,并且需要执行多个路径时。
  • 事件驱动型网关:当流程依赖于外部事件时,例如等待消息或计时器。
  • 复杂网关:当复杂的规则或条件决定流程如何继续时。

示例

在简单的审批工作流中:

  1. 排他网关:如果请求被批准,流程继续;如果被拒绝,则流程结束。
  2. 并行网关:批准后,两个任务(文件准备和通知)可以同时完成。
  3. 事件驱动型网关:流程等待客户回复或超时,以确定下一步。

网关对提高业务流程的灵活性至关重要,允许决策、并行处理和不同路径之间的同步。