BPMN是一门符号语言。就像任何语言的目的一样,BPMN是为了方便沟通。旨在促进业务流程的沟通和理解。使用BPMN建模的目的是运用BPMN来绘制流程图,以便更好地让各部门之间理解业务流程和相互关系。BPMN 2.0的最大优势之一是消除了业务人员和IT技术人员之间沟通沟壑。
BPMN的“N”代表“符号”(Notation)。这些图形符号由流程活动、流程泳道或者事件的行为符号组成。自OMG在2004年5月发布的BPMN规范的第一个版本以来,这些视觉符号一直作为标准的一部分,沿用至今,成为流程管理的规范和标准。
BPMN2.0通过引入XML,使BPMN不仅仅是一个漂亮的图形表达,更能够描述业务流程间很多含糊不清的问题。通过XML来定义每个BPMN对象,使BPMN规范地保证每个图形,无论是流程模型还是所有在流程模型中的对象,都能清晰地进行表述。不过大家不用担心,BPMN流程设计器能够自动生成XML。
由于采用了通用的语法,许多工作流建模工具和流程引擎支持BPMN。因此,许多不同的软件套件可以共享和处理BPMN的流程文件。BPMN 2.0为建模工具、流程引擎、业务活动监控(BAM)工具和其他业务工具,提供了交流沟通的渠道。通过BPMN 2.0,流程模型可以无缝地传输在不同厂商的 BPM软件中
有许多BPMN 2.0的评论家抱怨BPMN太复杂,太难学习。其实,大多数流程并不需要建模者了解整个规范。只要了解以下 三个基本建模元素,就能掌握BPMN2.0的核心。
没错,在BPMN里只有这三个主要元素。下面分别进行介绍:
让我们来看看在三种主要类型的事件:
这些是很简单的,但要有一点重要的要记住。如果您添加一个信封的图标给上述任何某个事件,那你将触发一个消息事件。即可以是由一个消息的到达而启动一个进程,也可以是在中间的某个位置与中间事件中发送一个消息(或捕获消息),或者可以在一个过程结束时发送的消息。
一个活动是工作或任务的一个通用术语。首先,一个活动可以是原子或非原子(组合活动)。换句话说,一个活动可以是一个任务,或者它可以是一个当前流程的子处理流程; 其次,你还可以指定不同类型的活动。例如,任务可以是需要人工完成的任务,也可以自动完成的任务,比如由脚本完成的任务,或服务任务(交由web服务器处理的指令)。
网关用来处理决策,有两种常用网关需要了解:
描述性建模子类则让BPMN更丰满。
下图就是本文所介绍的最常用的BPMN符号了。掌握了这些,就可以理解或者设计出大部分的工作流程和业务流程图了。