10.3.3 扩展元素
什么是BPMN扩展元素?我们为什么要从BPMN元素中界定出一个扩展元素的子集?BPMN扩展元素是我们平时使用频率不高的BPMN元素,这些元素更多的面向开发人员而不是业务人员,它们强调流程执行的细节,例如对事件子流程和事务性子流程的定义和对更多具有具体执行语义事件类型的定义。BPMN扩展元素使BPMN变得复杂,它关注流程的执行层面。对于BPMN扩展元素,我们的观点是大概知道它们所表达的语义即可,需要时再查规范。
BPMN扩展元素包括了这些元素,如下图红色部分所示:
- 两种子流程:事件子流程(EventSub-Process)和事务性子流程(Transaction);
- 八种事件:条件事件(ConditionalEvent)、链接事件(Link Event)、多重事件(Multiple Event)、并行多重事件(Parallel Multiple Event)、出错事件(Error Event)、补偿事件(CompensationEvent)、取消事件(Cancel Event)和升级事件(Escalation Event);
- 四种网关:包容性网关(Inclusive)、复杂网关(Complex)、排他事件网关-实例化(ExclusiveEvent-based Gateway-instantiate)和并发事件网关-实例化(Parallel Event-based Gateway-instantiate);
图10‑52BPMN的扩展元素
BPMN扩展元素全部是流对象元素,在下面的小节中,我们将按照活动、事件和网关的顺序展开,同时,在活动里,我们会首先讨论活动的内部循环和多实例行为。
10.3.3.1 活动
内部循环和多实例行为
在实际生活中,我们经常需要重复执行某项任务直至满足一定的条件为止。例如,作为作者,我们需要不断的修改稿子直到编辑认可为止;作为顾客,我们与装修公司的合同里写到:装修不达到要求就不付款。
存在两种类型的循环:一种是类似于程序语言里的“while”,先判断是否满足循环的条件,如果满足才执行,然后再判断循环;一种是类似于程序语言里的“do while”,先执行,然后再判断是否满足循环的条件,如果满足就再循环。活动的内部循环行为实现了工作流控制模式里的结构化循环模式(WCP_21)。
图10‑53活动的循环行为
与活动的内部循环产生一个活动实例重复执行相比,活动的多实例行为会产生多个活动实例,这些活动实例可以并行执行也可以顺序执行。更加复杂的情况请参考工作流控制模式里的多实例模式。
图10‑54活动的多实例行为
子流程
扩展元素里的子流程有两种:事件子流程和事务性子流程。
事件子流程被嵌入到子流程里使用,处理子流程执行过程中发生的事件,我们使用虚线框标识事件子流程,它需要由一个事件触发器触发,根据不同的行为,事件子流程又分为中断和非中断两种,中断事件子流程中断父流程的执行,非中断事件子流程与父流程一同执行,我们使用两种不同的开始事件类型来区分这两种事件子流程的行为:中断事件子流程的开始事件(实线圆圈)与非中断事件子流程的开始事件(单虚线圆圈)。
图10‑54事件子流程
事务性子流程具有ACID属性,它具有三个输出:
- 成功完成(SuccessfulCompletion):事务成功完成,我们使用一个顺序流连接成功后的后续活动;
- 失败完成(Failed Completion):事务执行不成功被取消,事务回滚,所有定义有补偿活动的活动都被补偿,我们使用一个取消捕获事件来连接事务取消后的后续活动;
- 严重异常(Hazard):事务执行过程中系统出现严重的异常,事务无法回滚,活动无法补偿,我们使用一个异常捕获事件来处理这种严重的情况,通常我们会继续抛出异常或者通知上一级流程进行处理。
图10‑56事务性子流程
- 大小: 81.5 KB
- 大小: 36.9 KB
- 大小: 25.4 KB
- 大小: 65.8 KB
- 大小: 87.3 KB
分享到:
相关推荐
用于令牌模拟的bpmn-js扩展。 安装 通过安装。 npm install bpmn-js-token-simulation 作为附加模块添加到 。 造型师 var BpmnModeler = require ( 'bpmn-js/lib/Modeler' ) ; var tokenSimulation = require ( '...
扩展BPMN片段库 可扩展的插件体系结构 可执行的BPMN模拟 自动分割/合并边缘 柔性装配/拆卸的子 直接部署到现有的BPMN 2.0的发动机。 包括LDAP浏览器/编辑器 进口的Visio VDX文件,并转换为BPMN2.0文件(仅适用于2.0....
除*.bpmn20.xml扩展名外,还支持*.xml 为了阐明当专用建模者仅支持*.bpmn20.xml时,如何将*.xml用于BPMN图以及为什么将其用于BPMN图,请在此*.bpmn20.xml添加有关*.xml文件用法的注释: 这是什么 该项目提供了用于...
这样,它结合了我们之前发布的所有先前示例 : 通过数据定制元素进行建模和读取渲染具有自定义元素添加允许创建自定义元素的阅读以下各节中的详细信息:创建模型扩展使用...:analysisDetails扩展元素的BPMN 2.0图...
在浏览器中创建、嵌入和扩展 BPMN 图。单独使用它或将其集成到您的应用程序中。 1.使用基于Web 的建模组件 轻松创建您自己的 BPMN 2.0 图表。 2.使用该工具包将 BPMN 2.0 图表嵌入到您的应用程序中。 使用对您和您的...
这包括所有BPMN元素,它们都是等待状态,并具有进入连接的边界: 中间捕获消息事件中级捕获计时器事件中间捕获信号事件接收任务用户任务基于事件的网关外部服务任务除了这些元素之外,所有具有异步连续性的活动都...
该引擎仅支持BPMN 2.0方案中包括的元素和属性,但可以扩展为了解其他架构和元素。 至少要有BPMN 2.0。 除错 该模块使用因此可以使用环境变量DEBUG=bpmn-engine:*或者提供您自己的记录器。 过程的漂亮图像 致谢 ...
该插件为各种BPMN元素添加了工具提示,揭示了一些属性和条件流。 如何安装 通过将源放入plugins-目录{path_to_modeler}/plugins启用此{path_to_modeler}/plugins Alternativley,您可以使用文件夹C:\Users\{user_...
警告),描述(完全无效),所涉及元素(id /名称)的对象列表路线图从输入中读取bpmn模型验证文件格式验证元素验证可能的元素扩展验证命名约定验证过程(池,通道,序列流) 验证网关规则(排他,包含,并行,复杂...
BPM引擎用.net编写的BPMN引擎。 引擎尝试读入一个bpmn标记xml文档,... 这引用了下面定义的所有扩展元素。内部条件通过在(bpmn:sequenceFlow,bpmn:process,bpmn:startEvent)中使用bpmn:extensionElements,可以
链接到网站: : 这是Ali Reza Barkhordari对现有BPMN编辑器的扩展。 链接: : 。 我已经扩展了BPMN和XPDL,以在BPMN中包括用于IoT的业务流程建模。 技术栈: SVG.js jQuery / jQuery UI vkBeautify 代码镜像
BPMN2Animator是一个基于Eclipse的Bpmn2 Modeler项目的学术项目。 它将运行时扩展与能够基于执行信息对图元素进行动画处理的引擎结合在一起。
基于创建的BPMN 2.0 Cloud扩展的程序。 它读取一个模型* .bpmn,该模型是使用jBPM BPMN 2.0建模工具创建的。 然后,用户可以定义数据元素的敏感度。 之后,创建本体并用模型元素填充。 特殊的逻辑规则处理数据。 ...
Activiti Designer是#Activiti#配套的基于Eclipse的可视化流程设计器,有Activiti团队开发,紧密贴合BPMN2.0规范以及Activiti的扩展元素。 除了可视化设计之外,还可以打包流程资源文件(包括bpmn、png、jar)、...
您可以使用它在浏览器上查看和编辑符合 `BPMN 2.0` 规范的流程文件。还可以查看标准的流程文件。同时支持activiti,flowable和camunda。 1. 工具栏:包含常见操作,比如保存流程、打开文件、下载文件、预览、对齐...
Activiti Designer是#Activiti#配套的基于Eclipse的可视化流程设计器,有Activiti团队开发,紧密贴合BPMN2.0规范以及Activiti的扩展元素。
默认情况下,面板包括5个级别,其中1级是最简单的元素(显示最简单的元素),而5级是最完整的(用户可以访问所有现有元素)。 通常,使用级别1和级别2足以对流程进行建模,这就是为什么使用这些过滤器可以简化工作...
2.1.5 模型类型的图标及扩展名 2.1.6 PowerDesigner的工具选项板 2.1.7 PowerDesigner模型对象的特性窗口 2.1.8 PowerDesigner模型对象的列表窗口 2.1.9 PowerDesigner检查模型的相关窗口 2.2 PowerDesigner的公共...
2.1.5 模型类型的图标及扩展名 2.1.6 PowerDesigner的工具选项板 2.1.7 PowerDesigner模型对象的特性窗口 2.1.8 PowerDesigner模型对象的列表窗口 2.1.9 PowerDesigner检查模型的相关窗口 2.2 PowerDesigner的公共...
2.1.5 模型类型的图标及扩展名 2.1.6 PowerDesigner的工具选项板 2.1.7 PowerDesigner模型对象的特性窗口 2.1.8 PowerDesigner模型对象的列表窗口 2.1.9 PowerDesigner检查模型的相关窗口 2.2 PowerDesigner的公共...