`
ronghao
  • 浏览: 447325 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
E9473dd5-1985-3883-ac98-962354ca10b3
张小庆,在路上
浏览量:8504
社区版块
存档分类
最新评论

BPMN这点事-BPMN基本元素(下)

阅读更多

 

10.1.1.1        事件、活动和网关

事件

我们将发生在流程执行过程中的事情称为事件。事件有三种类型:

 

  •  开始事件:触发流程的执行;
  •  即时事件:在开始事件和结束事件之间发生的事件,会影响流程的流转,但不会启动或直接终止流程的执行;
  •  结束事件:表明流程执行结束。

 



图10‑21事件的三种类型

对一个事件来说,通常会有产生该事件的原因(起因)和该事件所产生的影响(结果),例如一个消息的到来触发了一个事件并导致流程的启动,这个开始事件的起因是消息,它被称为消息开始事件,流程在结束时发送了一个消息,这个结束事件的结果是发送了消息,它被称为消息结束事件。我们使用不同的标识来区分事件的不同起因和结果。我们也使用事件不同的起因和结果来分类事件,完整的事件类型如下图所示:


图10‑22完整的事件类型

在基本元素里我们只关注两种类型的事件:普通开始事件和普通结束事件。普通开始事件没有指定事件的起因,它只是产生Token,触发流程的执行;普通结束事件没有指定事件的结果,它消费掉Token,结束流程的执行。共有10种类型的开始事件和9种类型的结束事件,在后续的小节中我们会逐一讨论到。


图10‑23普通开始事件和普通结束事件

作为一个其他开始事件的例子,我们接受一个邮件消息并开始在线的下订单任务,这个开始事件的起因是消息,所以称为消息开始事件。


图10‑24消息开始事件

活动

我们将在流程执行过程中执行的工作称为活动。活动可以是原子的,也可以是非原子的(复合的),活动分为两类:任务(原子的)和子流程(复合的)。任务是流程模型中最小工作单元,不能继续分解,子流程则能继续分解为一系列的子活动。在流程模型里,子流程可以展开也可以收起。


图10‑25任务和子流程

一个活动可能会有零到多个输入顺序流,也会有零到多个输出顺序流。需要记住的是,只要任何一个输入顺序流传入Token,活动都会立即执行,而执行完毕后如果有多个输出顺序流,它则会产生多个Token,每个输出顺序流传递一个(相当于并发)。

网关

         网关控制流程的分支和聚合。有七种网关,各种类型网关的分裂和聚合行为由下面三种因素控制:

 

  •  输入顺序流和输出顺序流上设定的条件;
  •  输出顺序流上的事件;
  •  网关自身上设定的条件。

 

在基本元素里我们关注两种类型的网关:排他网关和并发网关。

排他网关在分裂时,只会选择一个输出顺序流传递Token,排他网关在聚合时,任何一个输入顺序流传入Token,网关都会向后传递,不会对Token进行同步。我们使用“x”在网关内部标示出这是一个排他网关,默认情况下,我们也可以忽略标示。


图10‑26排他网关

         并发网关在分裂时,会产生多个Token,每个输出顺序流传递一个(并发),并发网关在聚合时,会对所有输入顺序流的Token进行同步,只到所有输入顺序流的Token都到达后才会向后传递Token。我们使用“+”在网关内部标示出这是一个并发网关。


图10‑27并发网关

 

  • 大小: 5.4 KB
  • 大小: 105.4 KB
  • 大小: 49.1 KB
  • 大小: 34 KB
  • 大小: 20.1 KB
  • 大小: 52.5 KB
  • 大小: 35.1 KB
  • 大小: 13.6 KB
1
0
分享到:
评论

相关推荐

    bpmn-js-token-simulation:用于令牌模拟的bpmn-js扩展

    bpmn-js令牌模拟 用于令牌模拟的bpmn-js扩展。 安装 通过安装。 npm install bpmn-js-token-simulation 作为附加模块添加到 。 造型师 var BpmnModeler = require ( 'bpmn-js/lib/Modeler' ) ; var ...

    yaoqiang-bpmn-editor-5.5.1.jar

    拼写检查元素标签 内置的版本控制库 BPMN 2.0的图形交互信息自动生成 扩展BPMN片段库 可扩展的插件体系结构 可执行的BPMN模拟 自动分割/合并边缘 柔性装配/拆卸的子 直接部署到现有的BPMN 2.0的发动机。 包括LDAP...

    flowable-bpmn-intellij-plugin:可流动的Activiti(6.x)BPMN引擎IntelliJ的流程编辑器插件

    BPMN流程编辑-添加/删除元素,更改其属性,撤消/重做,批量拖放,批量删除元素 代码导航-从Delegate Expression或Class属性直接跳转到代码中的bean /函数/类 IntelliJ重构传播到流程的后备XML文件(即,重命名Bean)...

    vue项目中使用bpmn为节点添加颜色的方法

    本文主要包括vue项目中bpmn使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。 前情提要 上文我们已经实现了在外部更改节点名。此时又有新玩法:在流程图中,根据...

    bpmn-js-example-custom-elements:如何在确保BPMN 2.0兼容性的同时支持bpmn-js中的自定义元素的示例

    bpmn-js中的自定义元素 如何在确保BPMN 2.0兼容性的同时支持自定义元素的示例。关于本示例创建一个BPMN编辑器,该编辑器知道一些QA相关的元数据。 这样,它结合了我们之前发布的所有先前示例 : 通过数据定制元素...

    bpmn-js - 在浏览器中查看和编辑BPMN 2.0图表-javascript

    bpmn-js - 在浏览器中查看和编辑BPMN 2.0图表 bpmn-js - 用于 Web 的 BPMN 2.0 在浏览器中查看和编辑 BPMN 2.0 图表。 安装 使用预先打包的库或通过 npm 将其包含到您的节点式 Web 应用程序中。 用法 首先,创建一...

    bpmn.js 2.0流程编辑器 搭配 Activiti 7.0 进行工作流编辑器集成开发

    BPMN 无处不在,适合所有人 在浏览器中创建、嵌入和扩展 BPMN 图。单独使用它或将其集成到您的应用程序中。 1.使用基于Web 的建模组件 轻松创建您自己的 BPMN 2.0 ...这取决于您,因为 bpmn-js 是一个开放的工具包。

    python-bpmn-engine:在Python流程中解析和执行Camunda BPMN模型

    一个用于在单个流程中解析和执行BPMN模型的python模块到目前为止支持的元素: 开始/结束事件任务(手动,用户,服务)-暂时执行虚拟网关(专有,并行) 有条件的顺序流BPMN模型示例: 用法示例: import asynciofrom...

    BPMN2.0 图形元素解释

    BPMN论坛中下载的资料,由北京交通大学软件学院、华胜天成集团摩卡软件(MochaSoft) 、炎黄盈动技术有限公司(ActionSoft) 参与翻译。供参考,侵权删除

    bpmn-js-i18n:bpmn-js的国际化资源

    bpmn-js翻译该存储库收集用户界面元素,消息和工具提示的社区维护的翻译。可用翻译使用翻译遵循并用此存储库中的一种语言文件替换。贡献创建一个并提供翻译。 检出以获取可用消息的列表。执照麻省理工学院

    BPMN2新规范 中文版

    BPMN2新规范 业界牛逼,流程建模设计,自动化,的工作流引擎

    BPMN2.0规范中文文档

    这里较为详细的介绍了BPMN2.0: 1.1. BPMN 2.0是什么 1.2. 历史和目标 1.3. JPDL vs BPMN 2.0 1.4. Bpmn 2.0 执行 1.5. 配置 1.6. 实例 1.7. 流程根元素 1.8. 基本结构(事件、顺序流、网关、任务) 1.9. ...

    bpmn-elements:基于BPMN 2.0的可执行工作流元素

    bpmn元素 同构JavaScript BPMN 2.0工作流程元素,适合捆绑到前端脚本中或仅需要在您的nodejs项目中使用。支持的元素以下元素已经过测试和支持。 :可执行的BPMN 2定义:执行并跟踪活动元素BpmnError 边界事件...

    BPMN2.0规范文档

    BPMN2.0规范,详细描述了bpmn的元素以及相关信息。是了解Activiti等开源工作流的必备条件。

    Activiti BPMN 2.0 designer

    工作流系统activiti绘制BPMN图片的eclipse插件,使用方法,解压后将其内容放在eclipse目录下的dropins文件夹即可。

    BPMN2.0规范.zip

    BPMN 2.0是什么呢,JPDL vs BPMN 2.0,Bpmn 2.0 执行,配置,实例, 流程根元素,基本结构,网关,任务,Java服务任务,内部捕获事件:定时器,完全的实例(包括控制台任务表单)

    bpmn-js-bpmnlint:基于Bpmn-js的流程设计器校验实现

    基于bpmn-js的流程设计器校验实现简介它根据一组已定义的规则来验证您的图表,并将其报告为错误或警告。它可以从命令行检查您的BPMN图,或者通过将其集成到我们的:核心规则库的核心是用于检测BPMN图中某些模式的...

    bpmn-jsonator:显示给定BPMN元素的所有直接子类

    bpmn-jsonator 显示给定BPMN元素的所有直接子类安装npm install 用法node bpmn-jsonator.js /path/to/bpmn.json element

    bpmn-engine:BPMN 2.0执行引擎。 开源JavaScript工作流引擎

    该引擎仅支持BPMN 2.0方案中包括的元素和属性,但可以扩展为了解其他架构和元素。 至少要有BPMN 2.0。 除错 该模块使用因此可以使用环境变量DEBUG=bpmn-engine:*或者提供您自己的记录器。 过程的漂亮图像 致谢 ...

    BPMN-Reference-Validator:用于检查 BPMN 文件中引用正确性的工具

    BPMN 参考验证 注意:项目现在是- 此处不再维护 检查 BPMN 2.0 流程文件中所有引用的工具: 指向现有元素的引用? 引用的元素是否为允许的有效类型? (例如,引用一个messageRef属性实际上是一个message ) 软件...

Global site tag (gtag.js) - Google Analytics