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