什么是BPMN网关? - sea的博客

sea520 2021-11-11 原文


什么是BPMN网关?


什么是BPMN网关?

  网关用于拆分或合并复杂的流程流场景,网关有下面几种方式:

  1. BPMN排他网关
  2. BPMN并行网关
  3. BPMN包含网关

 

排他网关Exclusive Gateway

排他网关也称专用网关,它是BPMN中使用的最常见的网关之一,被描绘为空钻石或可以显示为带有“X”的钻石图形,建模者最常使用带叉的钻石。作为最佳实践,一旦建模者选择使用哪个符号,他应该在整个图表中保持一致。

当用作分支网关(将顺序流分成多个路径,一分为二)时,专用网关可以具有2个或更多个传出路径,当某个变量条件返回“真”时,它会专门只指向下一个路径,当使用专用网关时,对于某个流程实例,运行时只能在多个路径中使用其中任意一条,这就是使用术语“独占或排他”的意思,检查每个路径上的变量条件,直到有一个路径的变量条件评估为真,一旦条件评估为真,流程就沿着为真的路径前进,并且不再检查其他路基的条件。

 

通常,只有一条路径被识别为默认路径,这意味着如果没有其他路径上的条件评估为true,则默认路径将自动继续。如果进程建模者未能定义缺省路径且没有任何路径条件评估为true,则会发生运行时异常。
 

当用作聚合网关时,专用网关将传递它接收的任何令牌而不进行同步。这应该是直观有意义的,因为专用网关最常用于合并来自分散的专用网关的路径,其中只允许一个条件评估为真并发出令牌,如果融合的专用网关等待其他令牌进行同步,它将永远等待。

并行网关

并行网关是BPMN中使用的最常见的网关之一,并且被描绘为内部带有“+”的菱形

当用作分支网关(将一个顺序流分成多个路径)时,并行网关可以具有2个或更多个传出路径。使用并行网关时,必须为流程实例指定可采用的所有路径。在沿着每条路径行进之前没有检查条件。

 

当用作聚合网关时,并行网关将在合并和同步流之前会等待每个传入路径所有令牌的到达。

包含网关

包含性网关是BPMN中使用的最常见的网关之一,被描述为带有圆圈的菱形,包含性网关=专用网关+并行网关。  

当用作分支网关(将一个顺序流分成多个路径)时,包含网关可以具有2个或更多个传出路径。它用于沿着条件评估为“True”的所有路径引导顺序流,路径策略可以有一个 或几个或全部。检查每个分支路径的条件,如果它的计算结果为true,则发送一个令牌到路径,使用包含网关,即使遭遇到一个分支的条件评估为“真”之后,也会检查其余分支条件,以查看是否应沿其他路径发送令牌。

通常,如果有一条路径被识别为默认路径。这意味着如果没有其他路径条件评估为true,则默认路径将自动继续。如果进程建模者未能定义缺省路径且没有任何路径条件评估为true,则会发生运行时异常。

当用作聚合网关时,包含网关将在合并和同步流之前等待所有令牌到达。每个融合的包含网关需要在流程中的之前有关联的那网关,以便它知道有哪些路径被激活了以及它应该等待多少个令牌,等待哪些令牌。

发表于
2020-07-16 10:52 
sea的博客 
阅读(845
评论(0
编辑 
收藏 
举报

 

版权声明:本文为sea520原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/sea520/p/13321423.html

什么是BPMN网关? - sea的博客的更多相关文章

随机推荐

  1. JQuery&原生js ——实现剪刀石头布小游戏

    前言 jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaS […]...

  2. 经验—OSS和CDN配置使用

    Oss和cdn目的就是: 1 把资源文件和程序分开存储 2 可以通过cdn缓存加速     下面介绍阿里云OS […]...

  3. 实验二

    实验二 博客班级 AHPU软件工程 作业要求 结构化分析与设计 作业目标 用visio画出机票订票系统、图书管 […]...

  4. 动态规划两题连刷,移动下标的小技巧

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode的37篇,我们继续愉快的刷题 […]...

  5. python+unittest框架第六天unittest之优化测试报告

      今天的内容主要是,用第三方的HTMLRUNner 第三方的报告来优化之前第五天批量执行案例的测试报告。案例 […]...

  6. springboot项目整合mybatis

    记录创建springboot项目并配置mybatis中间件: 资源准备及版本说明 编程工具:IDEA JDK版 […]...

  7. MySQL高级(十三)— 表锁

    前言:锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算机资源(如CPU、RAM、I […]...

  8. 前端图片上传那些事儿 – ChessZhang

    前端图片上传那些事儿 本文讲的图片上传,主要是针对上传头像的。大家都知道,上传头像一般都会分成以下 4 个步骤 […]...

展开目录

目录导航