BPMN网关
什么是网关
在BPMN 2.0中,网关根据特定条件拆分、合并或引导顺序流,从而控制流程。网关是流程中的决策点,路径可以在此分支或汇合,帮助您对具有多种可能结果的复杂工作流进行建模。在BPMN流程图中,网关以菱形表示,内部的不同图标用于指示其具体行为。
网关类型
排他网关(XOR网关)
- 用途:这是最常见的网关类型,流程根据条件仅沿一条输出路径继续。
- 图形表示:内部带有“X”的菱形。
- 示例:在审批流程中,如果请求获批,则沿一条路径继续;如果被拒绝,则沿另一条路径继续。
- 适用场景:流程根据决策只能选择一条路径时,例如“是/否”或“真/假”。
包容网关(OR网关)
- 用途:此网关允许根据条件选择一条或多条路径。所有条件判断为真的路径都会被采用。
- 图形表示:内部带有圆形的菱形。
- 示例:在需要多项审批但不要求全部审批的流程中,系统可以根据设定条件沿所有适用的审批路径继续。
- 适用场景:多个条件可能成立并需要采用多条路径时,例如多个标准可能触发不同操作。
并行网关(AND网关)
- 用途:此网关用于将顺序流拆分为多个并行路径,使流程同时沿所有分支继续。它也可用于同步多个输入路径。
- 图形表示:内部带有“+”的菱形。
- 示例:多个部门同时审核文件的任务。
- 适用场景:任务或操作需要并行执行,或必须同步多条路径后才能继续时。
基于事件的网关
- 用途:此网关根据发生的事件引导顺序流。它会等待特定事件,例如消息、计时器或信号,以确定应选择的路径。
- 图形表示:内部带有五边形的菱形。
- 示例:流程等待客户回复或超时后再继续。
- 适用场景:流程下一步取决于外部事件时,例如等待消息或计时器触发。
网关要点
- 拆分顺序流:网关可以根据条件或事件,将一条顺序流拆分为多个分支,并决定应沿哪条或哪些路径继续。
- 合并顺序流:网关也可以将多条顺序流合并为一条,同步并行路径,或根据特定条件汇合。
- 决策:网关对于建模决策点至关重要,流程走向取决于评估结果、事件或用户输入。
适用场景
- 排他网关:只有一个条件可以成立,且流程需要沿单一路径继续时。
- 并行网关:多个任务可以同时执行且必须全部完成时。
- 包容网关:一个或多个条件可以成立,且需要采用多条路径时。
- 基于事件的网关:流程取决于外部事件时,例如等待消息或计时器。
- 复杂网关:复杂规则或条件决定流程如何继续时。
示例
在简单的审批工作流中:
- 排他网关:请求获批后流程继续;被拒绝后流程结束。
- 并行网关:获批后,文件准备和通知这两项任务可以并行完成。
- 基于事件的网关:流程等待客户回复或超时,以确定下一步。
网关对于提高业务流程的灵活性至关重要,可支持决策、并行处理以及工作流中不同路径的同步。