上一篇:Activiti 学习笔记记录
导读:对于工作流引擎的使用,我们都知道,需要一个业务事件,比如请假,它会去走一个流程(提交申请->领导审批---(批,不批)---->结束),Activiti就是来走这个流程的。所以我们还需要将Activiti 和 业务结合起来,即部署定义(画一个流程图,生成 bpmn 格式的文件)。本章,就来讲 bpmn 的图怎么画?
一、什么是 bpmn
业务流程建模标记法 BPMN (Business Process Model and Notation),是工作流中的特定业务流程的图形化表示法。是由对象管理组织(OMG)维护的关于业务流程建模的行业性标准。
工作流:对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
BPMN的主要目标是提供一些被所有业务用户容易理解的符号,从创建流程轮廓的业务分析到这些流程的实现,直到最终用户的管理监控。BPMN也支持提供一个内部的模型可以生成可执行的BPEL4WS。因此BPMN的出现,弥补了从业务流程设计到流程开发的间隙。
BPMN定义了一个业务流程图(Business Process Diagram),该业务流程图基于一个流程图(flowcharting),该流程图被设计用于创建业务流程操作的图形化模型。而一个业务流程模型(Business Process Model),指一个由的图形对象(graphical objects)组成的网状图,图形对象包括活动(acticities)和用于定义这些活动执行顺序的流程控制器(flow controls)
二、 bpmn基础
业务流程图由一组图形元素构成。这些元素让我们很容易开发一个简单的,为大多数业务分析人员更熟悉的流程图。
需要强调的是,开发BPMN的一个动机就是创建一套简单的机制来创建业务流程模式,与此同时,还要能够应付业务流程内在的复杂性。
BPMN用很小一套图形要素做简单的图来建模,这将令业务用户与开发者一样容易理解其中的过程和流。它的四种基本要素如下:
- 流对象(Flow Object)
- 事件(Events),活动(Activities),关口(Gateways)
- 连接对象(Connecting Objects)
- 顺序流(Sequence Flow),消息流(Message Flow),关联(Association)
- 泳道(Swimlanes)
- 池(Pool),道(Lane)
- 器物(Artifacts/Artefacts)
- 数据对象(Data Object),组(Group),注释(Annotation)
这四大类对象令我们有机会做出简单的业务流程图(BPD, business process diagram)。同时,BPMN也允许在BPD中创建你自己的流对象、器物类型,使图更好理解。