BPMN网关
介绍
在 BPMN 2.0 中,网关通过确定如何根据某些条件拆分、合并或引导流程来控制流程流动。它们是流程中的决策点,路径可以分叉或汇合,使您能够建模具有多种可能结果的复杂工作流。网关在 BPMN 图中由菱形表示,内部带有不同的图标以指示其具体行为。
Gateway类型:
排他网关 (XOR 网关)
- 目的:这是最常见的网关类型,只有一个路径会根据条件被执行。
- 视觉表示:一个内部有“X”的菱形。
- 示例:在审批过程中,如果请求被批准,则遵循一个路径;如果被拒绝,则遵循另一个路径。
- 适用场景:当流程只能根据决策走一条路径时,如“是/否”或“真/假”。
包容网关 (OR 网关)
- 目的:该网关允许根据条件执行一个或多个路径。所有条件为真的路径都会被执行。
- 视觉表示:一个内部有圆圈的菱形。
- 示例:在需要多个审批的流程中(但不是全部都需要),系统可以根据设定的条件执行所有适用的审批路径。
- 适用场景:当多个路径可以根据条件执行时,如多个标准可以触发不同的动作。
并行网关 (AND 网关)
- 目的:该网关用于将流程分成多个并行路径,所有分支必须同时执行。它也可以用于同步多个传入路径。
- 视觉表示:一个内部有“+”的菱形。
- 示例:一个任务中,多部门同时审查文件。
- 适用场景:当任务或操作需要并行进行,或在继续之前必须同步多个路径时。
事件驱动型网关
- 目的:该网关根据事件引导流程。它等待特定事件(例如,消息、计时器、信号)以确定应选择的路径。
- 视觉表示:一个内部有五边形的菱形。
- 示例:一个流程等待客户回应或超时继续流程。
- 适用场景:当流程的下一步取决于外部事件时,例如等待消息或计时器触发。
网关的要点
- 分流:网关可以将单个序列流分成多个分支,根据条件或事件确定要走的路径。
- 合流:网关也可以将多个序列流合并为一个,同步并行路径或根据特定条件汇合。
- 决策:网关对于建模决策点至关重要,流程流动取决于评估结果、事件或用户输入。
使用场景
- 排他网关:当只有一个条件为真,并且流程需要符合一个路径时。
- 并行网关:当多个任务可以同时进行,并且都必须完成时。
- 包容网关:当一个或多个条件为真,并且需要执行多个路径时。
- 事件驱动型网关:当流程依赖于外部事件时,例如等待消息或计时器。
- 复杂网关:当复杂的规则或条件决定流程如何继续时。
示例
在简单的审批工作流中:
- 排他网关:如果请求被批准,流程继续;如果被拒绝,则流程结束。
- 并行网关:批准后,两个任务(文件准备和通知)可以同时完成。
- 事件驱动型网关:流程等待客户回复或超时,以确定下一步。
网关对提高业务流程的灵活性至关重要,允许决策、并行处理和不同路径之间的同步。