Skip to content

什么是 BPMN 2.0? ​

BPMN(Business Process Model and Notation,业务流程模型与标记法)2.0 是一套全球公认的、用于描绘业务流程的图形化标准规范。它由 OMG(Object Management Group,对象管理组) 维护和发布。

您可以把它理解为业务流程领域的 “通用语言” 或 “工程蓝图”。它的核心目标是:

  1. 提供一套易于理解的图形化符号,让业务用户(如分析师、管理者)和技术用户(如架构师、开发者)都能看懂。
  2. 填补业务活动设计与技术实现之间的鸿沟。业务人员画的图,能够足够精确地转换为可执行的业务流程代码。
  3. 实现标准化,确保不同工具(如Camunda, Activiti, Flowable等)之间可以用统一的格式(XML)交换流程模型。

为什么 BPMN 2.0 如此重要? ​

  1. 可视化与沟通:用直观的图表代替大段的文字描述,使复杂的业务流程一目了然,极大地提高了跨部门沟通效率。
  2. 规范化与标准化:提供了统一的“语法”,避免了每个人用自己的符号画图导致的混乱和理解歧义。
  3. 可执行性:BPMN 2.0 不仅是“图画”,其底层对应的 XML 格式(.bpmn 文件)可以被业务流程引擎(如 Camunda, Flowable, Activiti) 直接解析和执行,实现了从设计到运行的无缝衔接。
  4. 分析与优化:清晰的流程模型有助于分析瓶颈、发现冗余环节,从而优化和改进业务流程。

核心元素与符号(“词汇表”) ​

BPMN 2.0 的符号体系非常丰富,但最核心的是以下四类元素:

类别符号名称作用与示例
流对象⬢事件 (Event)表示流程中发生的事情。通常用带图标的圆圈表示。 - 开始事件:流程的起点。 - 结束事件:流程的终点。 - 中间事件:流程中发生的事件,如“消息到达”、“计时器触发”。
▢活动 (Activity)流程中执行的工作或任务。是流程的核心,用圆角矩形表示。 - 任务:不可再分的基本工作单元。 - 子流程:一个可以展开的、内部包含其他活动的复合活动。
◊网关 (Gateway)用于控制流程的分支与合并(决策点)。用菱形表示。 - 排他网关 (XOR):只能选择一条路径(类似 if...else if...else)。 - 并行网关 (AND):所有路径同时执行。 - 包容网关 (OR):根据条件,可以执行一条或多条路径。
连接对象➔顺序流 (Sequence Flow)带箭头的实线,表示流对象之间的执行顺序。
🔗消息流 (Message Flow)带箭头的虚线,表示不同参与者(如两个不同的部门或系统)之间的消息或数据传递。
泳道🏊泳道 (Swimlane)用于划分职责,明确哪个参与者(角色、部门或系统)负责执行哪些活动。 - 池 (Pool):代表一个主要的参与者(如“客户”、“公司系统”)。 - 道 (Lane):在池内进一步划分(如“销售部”、“财务部”)。
制品📄数据对象 (Data Object)表示活动所需的输入数据或产生的输出数据。

一个简单的 BPMN 2.0 图表示例 ​

假设一个“员工请假”的流程,用 BPMN 2.0 可以这样表示:

  1. 开始事件:员工提交请假申请。
  2. 任务:经理审批申请。
  3. 排他网关:经理做出决策。
    • 路径一 (批准):流程走向“通知员工审批通过”的任务,然后更新HR系统。
    • 路径二 (拒绝):流程直接走向“通知员工审批被拒”的任务。
  4. 结束事件:流程结束。

这个过程清晰地展示了流程的走向、决策点和各方的职责。

bpmn2.0


BPMN 2.0 文件格式 ​

BPMN 2.0 规范不仅定义了图形符号,还定义了其底层的 XML 模式。一个 .bpmn 文件实际上是一个结构化的 XML 文件,它描述了所有元素、它们的属性以及它们之间的关系。

这种机器可读的格式使得流程设计器(如 Eclipse 插件、在线设计器)生成的模型可以直接被各种开源或商业的业务流程引擎所执行,实现了“所画即所得”和“所画即可执行”。

总结 ​

BPMN 2.0 是现代业务流程管理和自动化领域的基石。它:

  • 是一门语言:为描述业务流程提供了标准化的“词汇”和“语法”。
  • 是一座桥梁:连接了业务需求和技术实现,减少了误解。
  • 是一张蓝图:其输出的标准文件是驱动业务流程引擎运行的指令。

如果您正在接触工作流、流程自动化或低代码平台,深入学习 BPMN 2.0 将是非常有价值的一步。市面上有许多优秀的开源工具(如 bpmn.io 提供的在线建模器)可以供您练习和体验。