内容简介:BPMN是一种强大的表达流程的图形符号,该符号足够简单,能让所有利益相关者都能理解,但还需要足够强大,可以将事件的复杂编排处理到可以用代码执行的详细级别,这不是一件容易的事。但是,通过将元素组织分类成不同的类别,可以更容易地理解主要的BPMN图形符号。BPMN将元素分为5个基本类别:流对象是用于定义业务流程行为的主要图形元素。它们是活动(或称任务、节点),事件和网关三种。
BPMN是一种强大的表达流程的图形符号,该符号足够简单,能让所有利益相关者都能理解,但还需要足够强大,可以将事件的复杂编排处理到可以用代码执行的详细级别,这不是一件容易的事。但是,通过将元素组织分类成不同的类别,可以更容易地理解主要的BPMN图形符号。
BPMN将元素分为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学习第一步:简单的流程图
流程专题
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- CSS 基础:块级元素、行内元素、替换元素、非替换元素
- CSS 技巧篇(六):display设置元素为行内元素时,元素之间存在间隙问题
- 探究行内元素和块级元素
- 重学前端:块级元素与内联元素
- 使CSS伪元素:在与主元素相同的高度之前
- 求非负元素数组所有元素能组合的最大字符串
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。