BPMN五大基本元素是什么?

  BPMN是一种强大的表达流程的图形符号,该符号足够简单,能让所有利益相关者都能理解,但还需要足够强大,可以将事件的复杂编排处理到可以用代码执行的详细级别,这不是一件容易的事。但是,通过将元素组织分类成不同的类别,可以更容易地理解主要的BPMN图形符号。

BPMN将元素分为5个基本类别:

  1. 流对象
  2. 数据
  3. 连接对象
  4. 泳道
  5. 附加工件

流对象

流对象是用于定义业务流程行为的主要图形元素。它们是活动(或称任务、节点),事件和网关三种。

事件有两种:开始和结束事件,BPMN的XML表示如下:

<process id="myprocess-Id" name="myprocess" isExecutable="true">
<startEvent id="start"></startEvent>

<endEvent id="end"></endEvent>
</process>

每个流程都是以process为标记,startEvent和endEvent表示开始结束事件。

活动/ 任务的表示如下,这是一个用户任务,也就是需要用户完成的任务,流程会在此等待用户介入:

<userTask id="userTaskId" activiti:assignee="PPP" activiti:formKey="UUU">

</userTask>

一般用户任务和分配者和表单有关,这里分配者和表单都是activiti的自定义数据方式。

 

数据

BPMN数据可以使用4种不同的元素类型表示。它们是数据对象,数据输入,数据输出和数据存储。

上面userTask中分配对象和表单数据都是属于数据对象。

 

连接对象

连接对象将流对象连接在一起或连接到其他信息(如数据),它们控制着活动的顺序和过程的整体流程。连接对象的类型是“顺序流”,“消息流”和“关联”。

XML定义中:

<sequenceFlow id="sid" sourceRef="start" targetRef="userTaskId"></sequenceFlow>

这是将前面的开始事件和用户任务连接起来。

<sequenceFlow id="sid-2" sourceRef="userTaskId" targetRef="end"></sequenceFlow>

这是将用户任务和结束事件连接起来。

整个流程XML的配置如下:

<process id="myprocess-Id" name="myprocess" isExecutable="true">
<startEvent id="start"></startEvent>

<userTask id="userTaskId" activiti:assignee="PPP" activiti:formKey="UUU">

</userTask>

<sequenceFlow id="sid" sourceRef="start" targetRef="userTaskId"></sequenceFlow>

<endEvent id="end"></endEvent>

<sequenceFlow id="sid-2" sourceRef="userTaskId" targetRef="end"></sequenceFlow>
</process>

上面的配置用BPMN简单流程图表达如下:

 

 

泳道

泳道用于对主要建模元素进行分组,分别由表示池Pools 和弄堂 Lanes的类别术语。上面的简单流程图可放在一个Lane里面或一个池里面,Lane和池的区别见这里

 

附加工件

附加工件提供有关流程的其他信息。BPMN支持的两个标准工件是Groups和Text Annotation。但是,建模器和建模工具可以自由定义自己的附加工件。

 

BPMN学习第一步:简单的流程图

流程专题