Workflow Gateways
关口用于决定流程接下来走哪条路,或者同时走多条路。
关口类型
Exclusive(单选)
只选择一条出线继续执行。
适合:
- 审批通过 / 驳回
- 按状态选择一条处理路径
Parallel(并行)
所有出线同时执行。
适合:
- 同时通知多个角色
- 多个并行处理步骤一起开始
Inclusive(条件多选)
满足条件的多条出线都执行。
适合:
- 多个条件可以同时成立
- 一个输入可能触发多个后续动作
Event Based(事件关口)
等待多个候选事件,哪个先发生就走哪条路。
适合:
- 等待用户回复或超时
- 等待多种外部触发之一
当前使用建议
当前最适合稳定使用的是:
- 单选关口
- 并行关口
条件多选和事件关口已经可以建模,但运行时语义仍建议按“部分实现”理解。
设计建议
- 关口不要做成
1 入 1 出。 - 普通关口应优先设计成:
1 入 多出(分支)多入 1 出(汇聚)
- 如果使用单选关口,请给每条出线定义清晰的分支标识。
- 如果使用并行关口,请提前确认后续汇聚逻辑。
最佳实践
- 能用单选就先用单选,最清晰。
- 并行只用于真正可并行的业务动作。
- 条件多选应在规则体系成熟后再大规模使用。
- 事件关口适合后续和消息、定时器能力一起上线。