bpmn.js简介及BPMN2.0标准

659 阅读3分钟

简介

bpmn.js是一个用javascript编写的BPMN2.0渲染工具包和web建模器,它可以将BPMN2.0模型嵌入到现代浏览器中的纯前端js库。

依赖

bpmn.js建立在两个库之上:

  1. **diagram-js:**是实现绘制形状和连接,提供图形元素交互的方法以及帮助用户构建强大的 BPMN 查看器的叠加层等附加工具,对于建模等高级用例,它提供了上下文、调色板和重做/撤消等工具。
  2. **bpmn-moddle:**实现了BPMN2.0标准中定义的 BPMN 2.0 元模型,它可以读取和写入符合 BPMN 2.0 模型的 XML 文档,并访问模型上绘制的形状和连接背后的 BPMN 相关信息。

地址

BPMN2.0标准

什么是BPMN2.0

BPMN2.0是一个基于流程图技术的开放标准符号系统,用于对业务流程进行建模和标注,为技术用户提供了表示和实施复杂流程的能力,全称为Business Process Model and Notation。

BPMN的核心

以下三个主要的流对象是BPMN的核心:

  • 事件:事件是启动、更改或完成流程的触发器;
  • 活动:活动是由个人或技术执行的任务;
  • 网关:网关是决策点;

事件(event)

  • 开始:表示一个流程的开始
  • 中间:发生的开始和结束事件之间,影响处理的流程
  • 结束:表示过程结束

如果您添加一个信封的图标给上述的某个事件,那你将触发一个消息事件

活动(Activity)

一个活动是工作或任务的通用术语。一个活动可以是一个任务,或者它可以是一个当前流程的子处理流程,你还可以指定不同类型的活动。例如,任务可以是需要人工完成的任务,也可以是自动完成的任务,比如可以是由脚本完成的任务。下图是当前的任务类型。

网关(Gateway)

网关用来处理决策,控制业务流程走向。

  • 排他网关(也叫异或网关 XOR gateway,或者更专业的,基于数据的排他网关 exclusive data­based gateway),用于为流程中的决策建模。当执行到达这个网关时,所有出口顺序流会按照它们定义的顺序进行计算。条件计算为true的顺序流(当没有设置条件时,认为顺序流定义为true)会被选择用于继续流程
  • 并行网关 Parallel Gateway网关也可以用于对流程中并行的建模。在流程模型中引入并行的最简单的网关,就是并行网关。它可以将执行分支(fork)为多条路径,也可以合并(join)执行的多条入口路径。
  • 包容网关被视作排他网关与并行网关的组合。与排他网关一样,可以在出口顺序流上定义条件,包容网关会计算它们。然而主要的区别是,包容网关与并行网关一样,可以选择多于一条(出口)顺序流。
  • 基于事件的网关,允许基于事件做选择。网关的每一条出口顺序流,都需要连接至一个捕获中间事件。当流程执行到达基于事件的网关时,网关类似等待状态地动作:执行被暂停。并且,为每一条出口顺序流,创建一个事件订阅。

现在,一下低代码业务流程管理软件选择了BPMN2.0,这样使设计、测试和实施业务流程变得更容易。