低代码技术分享官丨 BPMN 2.0 简介
一、什么是 BPMN?
业务流程建模标注(Business Process Modeling Notation,简称 BPMN)是一套规范标准,包括这些图元如何组合成一个业务流程图(Business Process Diagram)。
由 BPMI(The Business Process Management Initiative)开发了一套标准叫业务流程建模符号(BPMN - Business Process Modeling Notation)。在 BPMI Notation Working Group 超过 2 年的努力,于 2004 年 5 月对外发布了 BPMN 1.0 规范。后 BPMI 并入到 OMG 组织,OMG 于 2011 年推出 BPMN2.0 标准,对 BPMN 进行了重新定义(Business Process Model and Notation)。BPMN 的主要目标是提供一些被所有业务用户容易理解的符号,从创建流程轮廓的业务分析到这些流程的实现,直到最终用户的管理监控。BPMN 也支持提供一个内部的模型可以生成可执行的 BPEL4WS。因此 BPMN 的出现,弥补了从业务流程设计到流程开发的间隙。
BPMN 定义了一个业务流程图(Business Process Diagram),该业务流程图基于一个流程图(flowcharting),该流程图被设计用于创建业务流程操作的图形化模型。而一个业务流程模型(Business Process Model),指一个由图形对象(graphical objects)组成的网状图,图形对象包括活动(activities 和用于定义这些活动执行顺序的流程控制器 flow controls)。
二、BPMN 基础元素
BPMN2.0 为所有业务元素定义了标准的符号,不同的符号代表不同的含义。BPMN2.0 元素的四种基本类型为:
1. 流对象(Flow)
2. 连接对象(Connection)
3. 泳道(Swimlane)
4. 人工信息(Artifact)
1、流对象
流对象是是定义业务流程的主要图形元素,包括三种:事件、活动、网关。
1.1 事件
事件(event)通常用于为流程生命周期中发生的事情建模。事件总是图形化为圆圈。三种主要类型的事件:
1. 开始 - 表示一个流程的开始。
2. 中间 - 发生的开始和结束事件之间,影响处理的流程。
3. 结束 - 表示该过程结束。
注意:如果您添加一个信封的图标给上述任何某个事件,那你将触发一个消息事件。即可以是由一个消息的到达而启动一个进程,也可以是在中间的某个位置与中间事件中发送一个消息(或捕获消息),或者可以在一个过程结束时发送的消息。
1.2 活动
活动对应着流程里的一个工作单元,一个业务流程中包含一个或多个活动,一个典型的活动能被人或计算机所执行,包括任务和子流程两类。子流程在图形的下方中间外加一个小加号(+)来区分。
1.3 网关
网关(gateway)用于控制执行的流向(或者按 BPMN 2.0 的用词:执行的“标志(token)”)。网关可以消费(consuming)与生成(generating)标志。网关用其中带有图标的菱形表示。
• 排他网关排他网关(exclusive gateway)(也叫异或网关 XOR gateway,或者更专业的,基于数据的排他网关 exclusive data-based gateway),用于对流程中的决策建模。当执行到达这个网关时,会按照所有出口顺序流定义的顺序对它们进行计算。选择第一个条件计算为 true 的顺序流(当没有设置条件时,认为顺序流为 true)继续流程。
注意:使用排他网关时,出口顺序流只会选择一条顺序流。当多条顺序流的条件都计算为 true 时,会且仅会选择在 XML 中最先定义的顺序流继续流程。如果没有可选的顺序流,会抛出异常。
• 并行网关网关也可以建模流程中的并行执行。在流程模型中引入并行的最简单的网关,就是并行网关(parallel gateway)。它可以将分支(fork)为多个路径,也可以合并(join)多个入口路径。
并行网关两个重要特性:分支(fork): 并行后的所有外出顺序流,为每个顺序流都创建一个并发分支。合并(join): 所有到达并行网关,在此等待的进入分支, 直到所有进入顺序流的分支都到达以后, 流程就会通过汇聚网关。
与其他网关类型有一个重要区别:并行网关不计算条件。如果连接到并行网关的顺序流上定义了条件,会直接忽略该条件。
• 包容网关
可以把包容网关(inclusive gateway)看做排他网关与并行网关的组合。与排他网关一样,可以在包容网关的出口顺序流上定义条件,包容网关会计算条件。然而主要的区别是,包容网关与并行网关一样,可以同时选择多于一条出口顺序流。
包容网关的功能取决于其入口与出口顺序流:
– 分支:流程会计算所有出口顺序流的条件。对于每一条计算为 true 的顺序流,流程都会创建一个并行执行。
– 合并:所有到达包容网关的并行执行,都会在网关处等待。直到每一条具有流程标志(process token)的入口顺序流,都有一个执行到达。这是与并行网关的重要区别。换句话说,包容网关只会等待可以被执行的入口顺序流。在合并后,流程穿过合并并行网关继续。
2、数据
数据对象是一个显示活动是如何需要或产生数据的。它们通过关联与活动连接起来。数据主要通过四种元素表示:
• 数据对象(Data Objects)
• 数据输入(Data Inputs)
• 数据输出(Data Outputs)
• 数据存储(Data Stores)
3、连接对象
连接对象将流对象连接起来形成一个业务流程的基本结构。提供此功能的三个连接对象是:
顺序流:顺序流用一个带实心箭头的实心线表示,用于指定活动执行的顺序。注意“控制流”这个术语一般不用于 BPMN。
消息流:消息流用一条带有开箭头的虚线表示,用于描述两个独立的业务参与者之间发送和接受的消息流动。在 BPMN 中,用两个独立的池代表两个参与者。
关联:用一根带有线箭头的点线表示关联,用于将相关的数据、文本和其他人工信息与流对象联系起来。关联用于展示活动的输入和输出。
4、泳道(Swimlanes)
泳道是用来对主要的建模元素进行分组的元素,通过泳道可以将活动划分到不同的可视化类别中来描述由不同的参与者的责任与职责。
更多 BPMN 相关信息可查阅:BPMN官网
三、BPMN2.0 的优势
• BPMN 的目的是为用户提供一套容易理解的标准符号。BPMN 为业务相关者提供易于理解的标准标记法(符号),其中业务相关者包括创造与梳理流程的业务分析师、负责实施流程的技术开发者、以及业务管理者和监督人。用标准符号对业务流程进行建模描述的 BPMN,扮演着促进这些人员在业务流程设计和实施之间沟通交流的角色;
• BPMN 是从许多已经存在的建模标记中吸收再生的,形成的一套标准的标记语言。它的出现,规范了建模标记的标准,改善了因为存在不同的业务建模工具和标记而导致的交流理解的混乱情况;
• BPMN 通过解决在业务流程管理上存在的问题,提高业务实施与管理的效率,最终达到促进企业的管理发展的目的。
四、浪潮海岳流程平台 BPMN 实现
BPMN2.0 的标准已经被越来越多的国内外 BPM 和工作流厂商采用,使用 BPMN2.0 标准也是遵循市场行为,浪潮海岳的工作流平台就是采用的 BPMN2.0 的标准,并对 BPMN 基础元素进行了丰富的扩展,提供审批、操作、网关、服务、消息、事件、子流程等常用的流程节点,支持顺序、分支、合并、多路选择等多种流转模式,同时支持动态驳回、委托、移交、加签、征询、知会、会签等动态流程特性,更好的支撑中国特色工作流需求。
inBuilder 低代码平台开源社区版,免费下载,免费使用,欢迎体验:inBuilder社区
评论