BPMN是BPM以及workflow的建模语言标准之一,有必要学习。
在我的前片文章<浅谈众多工作流规范>中谈到了一个重要的工作流建模语言的规范--BPMN。先是直接查看BPMN V1.01的规范内容,200多页内容繁多,细节不少。作为初学者看得晕头转向,现献上 帮助初学者理清思路,总体把握清楚BPMN规范。
1、什么是BPMN
首先BPMN规范是由标准组织BPMI发布的.BPMN 1.0规范发布于2004年5月。此规范展示了BPMI组织两年多的努力成果。BPMN的主要目标就是要提供被所有业务用户理解的一套标记语言,包括业务分析者、软件开发者以及业务管理者与监察者。BPMN还将支持生成可执行的BPEL4WS语言。所以,BPMN在业务流程设计与流程实现之间搭建了一条标准化的桥梁。
BPMN定义了业务流程图,其基于流程图技术,同时为创建业务流程操作的图形化模型进行了裁减。业务流程的模型就是图形化对象的网图,包括活动(也可以说工作)和定义操作顺序的流控制。
2、BPMN基础
业务流程图由一系列的图形化元素组成。这些元素简化图形的开发,且业务分析者看上去非常熟悉。这些元素每个都有各自的特性,且与大多数的建模器类似。比如,活动是矩形,条件是菱形。应该强调的是:开发BPMN的动力就是为了在创建业务流程模型时提供一个简单的机制,同时又能够处理来自业务流程的复杂性。要处理这两个矛盾的需求的方法就是将标记的图形化方面组织分类为特定的类别。这里提供标记类别中的一小部分,以便业务流程图的读者可以简单地识别出元素的基本类型从而理解图形。以下是四种基本的类型:
1)流对象
2)连接对象
3)泳道
4)人工信息
下面一一解释
流对象:
一个业务流程图有三个流对象的核心元素。这三种流对象是
事件---一个事件用圆圈来描述,表示一个业务流程期间发生的东西。事件影响流程的流动,一般有一个原因(触发器)或一个影响(结果)。基于它们对流程的影响,有三种事件:开始,中间以及终止事件
活动---一个活动用圆角矩形表示,是要处理工作的一般术语。一个活动可以是原子性的也可以是非原子性的(可以是由多个活动组合而成的更大粒度的活动)。活动的类型包括:任务和子流程。子流程在图形的下方中间外加一个小加号(+)来区分。
条件---条件用熟悉的菱形表示,用于控制序列流的分支与合并。另外,它还可以作为传统的选择,还包括路径的分支与合并。其内部的标记会给出控制流的类型。
连接对象:
连接对象将流对象连接起来形成一个业务流程的基本结构。提供此功能的三个连接对象是:
顺序流---顺序流用一个带实心箭头的实心线表示,用于指定活动执行的顺序。注意“控制流”这个术语一般不用于BPMN
消息流---消息流用一条带有开箭头的虚线表示,用于描述两个独立的业务参与者(业务实体或业务角色)之间发送和接受的消息流动。在BPMN中,图中用两个独立的池代表两个参与者。
关联---用一根带有线箭头的点线表示关联,用于将相关的数据、文本和其他人工信息与流对象联系起来。关联用于展示活动的输入和输出。
可以利用前面学到的知识看看下面的图,一看就可以清晰的了解流程的具体细节
泳道:
许多建模技术利用泳道这个概念将活动划分到不同的可视化类别中来描述由不同的参与者的责任与职责。BPMN支持2种主要的泳道构件。
池---池描述流程中的一个参与者。可以看做是将一系列活动区别于其他池的一个图形容器,一般用于B2B的上下文中。
道---道就是在池里面再细分,可以是垂直的也可以是水平的。道也是用于组织和分类活动。
以下是池与道的两个例子
人工信息:
人工信息添加到建模的业务流程上下文中作为信息备注,便于人员理解,当前BPMN规范的版本预定义了3种人工信息:
数据对象---数据对象是一个显示活动是如何需要或产生数据的。它们通过关联与活动连接起来。
组---组用一个虚线的圆角矩形表示,用于记录或分析的目的,但不影响顺序流。
注释---注释是建模者为BPMN图的读者提供附加文本信息的一个机制。
3、BPMN建模的价值
BPMN的开发是减少众多已存在的业务建模工具和标记断层的重要的一步。BPMI标准化组织从许多存在的标记中展示出了专业和经验,且从这些不同的标记中找到了最好的理念形成一套标准的标记语言,众多的标记语言包括UML、Activity Diagram、UML EDOC Business Process、IDEF、ebXML BPSS、RosettaNet以及Event-Process Chains等等。一个好的标准建模标记将会减少业务也IT用户之间的混乱。
另一个驱使BPMN的开发原动力是,历史上由业务人员做出来的业务流程建模从需要系统设计与执行的流程描述中隔离出来,所以有必要将原有的业务流程模型转换为执行模型,而这个转换对于流程拥有者来说容易出错,且很艰难。
为了减少建模技术的断层,开发BPMN的重要目标就是要创建面向业务流程建模标记到面向IT执行语言的一座桥梁。以下是BPMN的图形化对象映射为BPEL4WS v1.1的例图。