AWS BPMN2 Gateway参考指南

包容网关(Inclusive Gateway)

包容网关是排他网关和并行网关的综合体。当进行决策判断时,与排他网关所不同的是,所有条件为true的后继分支都会被依次执行,如果所有分支条件决策都为false且该网关定义了一个默认的连线,那么该默认分支将被执行。如果没有可到达的分支,抛出异常,该网关所处的分支被中断,在流程设计上应避免这种情况发生。包容网关有分支和合并两种行为,允许多进多出。

下图给出一个包容网关的示例。网关A评估后继三个分支,如果变量str1等于a执行Service1路径,如果变量str2等于b执行Service2路径,如果变量str3等于c执行Service3路径;网关B做路径合并,流程结束。

包容拆分

判断包容网关的每个分支连线,条件为true的分支被执行。使用包容网关的分支连线必须设置条件规则,未设置规则的连线被评估为false。当一条分支执行时,一个令牌被创建。如上图例子中,网关A会逐个的判断三条路径的条件,依次执行条件达成的路径。

如果后继分支可能存在都不通过的情况,应该合理的选择一个默认路径,否则引擎执行到该网关的分支将被中断于此。

包容合并

所有到达包容网关的活动分支路径都汇聚于此等待,直到每个有活动令牌的前置分支都执行完毕。如果其中有分支未被执行或中断,包容网关会做出智能判断,不再等待该分支(这是一种类似向上递归的检查,用来推断该分支是否可能被到达。但如果网关嵌套模式复杂,包容网关会认为该路径可能不被到达而放弃等待。

在流程设计上应尽可能避免复杂的网关嵌套,或使用复杂网关实现基于场景的合并算法)。如在上图例子中,网关B会等待被网关A选择的一条或多条路径完成后,结束流程。



Seven
 010-62962343-690
 liujx@actionsoft.com.cn
感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区