Skip to content

BPMN元素

元素介绍

在织信系统的工作流模块中,理解和掌握BPMN(Business Process Model and Notation)元素是设计高效工作流的基础。BPMN提供了一套标准的符号和规则,用于描述业务流程。以下是对BPMN中常见元素的详细介绍,包括事件、活动、网关和顺序流。

事件

事件是工作流的基本组成部分,表示流程中的某些事情的发生。事件可以触发流程的开始、影响流程的进程或标志流程的结束。事件主要分为以下几种: 事件

开始事件(Start Event)

标志流程的起点。当开始事件发生时,流程便启动。开始事件通常用一个空心的圆圈表示。

  • 消息启动事件:当收到特定消息时触发流程的开始。
  • 定时启动事件:在特定时间或周期性时间点触发流程的开始。
  • 信号启动事件:当收到特定信号时触发流程的开始。

中间事件(Intermediate Event)

表示流程中的中间状态或中断点。中间事件可以放置在流程的顺序流上,表示流程在此处等待某个事件的发生。

  • 中间消息捕获事件:等待消息继续执行。
  • 中间消息抛出事件:发送消息。
  • 中间定时捕获事件:等待特定的时间间隔再继续执行。
  • 中间信号捕获事件:等待信号继续执行。
  • 中间信号抛出事件:发送信号。

结束事件(End Event)

标志流程的终点。当结束事件发生时,流程便终止。结束事件通常用一个实心的圆圈表示。

  • 结束消息事件:发送消息后结束,用于通知其他流程或系统。
  • 结束信号事件:发送信号后结束,用于广播通知多个接收者。
  • 终止边界事件:在流程结束时立即终止整个流程实例或包含它的子流程实例。

活动

活动是工作流中的核心操作,表示需要执行的任务或动作。活动主要分为以下几种:

任务(Task)

表示流程中的基本单位操作。任务可以是人工完成的用户任务,也可以是系统自动执行的服务任务。 任务

  • 用户任务(User Task):需要人工完成的任务,如填写表单、审批请求等。
  • 服务任务(Service Task):由系统自动完成的任务,如调用外部服务、执行脚本等。
  • 脚本任务(Script Task):执行嵌入的脚本代码。
  • 接收任务(Receive Task):等待外部事件或消息的到来。
  • 手动任务(Manual Task):需要人工干预,但不由系统跟踪的任务。

子流程(Sub-Process)

表示流程中的一个子流程,可以进一步细化和拆分复杂的业务逻辑。子流程可以是嵌入式的,也可以是调用其他流程的引用式子流程。 bpmn.collapsed.subprocess.png

网关

网关用于控制流程的分支和合并,决定流程的路径。 gateway.png

网关主要分为以下几种:

排他网关(Exclusive Gateway)

表示流程在此处进行条件判断,并根据条件选择唯一的一条路径继续执行。排他网关通常用一个带有“X”符号的菱形表示。

  • 条件分支:根据条件表达式选择路径。
  • 默认路径:当所有条件都不满足时,选择默认路径。

并行网关(Parallel Gateway)

表示流程在此处并行执行多条路径,所有路径同时开始,并在所有路径完成后继续执行。并行网关通常用一个带有“+”符号的菱形表示。

包含网关(Inclusive Gateway)

表示流程在此处根据条件选择一条或多条路径继续执行,所有选中的路径同时开始,并在所有路径完成后继续执行。包含网关通常用一个带有“O”符号的菱形表示。

事件网关(Event-Based Gateway)

表示流程在此处等待某个事件的发生,并根据事件选择路径。事件网关通常用一个带有空心圆圈的菱形表示。

顺序流

顺序流表示流程中活动之间的执行顺序,用箭头表示。顺序流连接事件、活动和网关,定义了流程的执行路径。顺序流主要分为以下几种:

  • 普通顺序流:表示正常的执行路径,用实线箭头表示。
  • 条件顺序流:表示有条件的执行路径,只有在满足条件时才执行,用带有条件表达式的实线箭头表示。
  • 默认顺序流:表示在所有其他条件都不满足时的执行路径,用带有斜杠的实线箭头表示。

小结

掌握以上BPMN元素是设计和实现高效工作流的基础。通过合理使用事件、活动、网关和顺序流,可以构建复杂的业务流程,满足各种业务需求。在实际应用中,建议结合具体业务场景,灵活运用这些元素,实现流程的自动化和优化。