BPMN规范中的三种视图
诚如UML建模所带来的好处一样,对流程建模规范BPMN也同样带来了类似好处,此外BPMN还通过一套统一的建模、执行模型缩小了业务人员和开发人员之间的一道鸿沟,而其终极目标也包含消除这道鸿沟。亦如UML用十四种图来描述一个系统的不同方面,对于BPM而言,BPMN提供了三种基本类型的流程视图,而这也成为不同角色之间交流业务流程、创建端到端的业务流程的基础。本文将简单描述这几种流程视图_——协作视图(Collaboration)、流程视图(process)、编排视图(choreography)。
协作视图通常包含两个或多个池(pool),代表相互协作的参与者。相互协作过程中通过消息流(Message Flow)进行交互。如下图所示。
而参与者通常为不同系统(公司内或公司间)、或者为同一个单位的不同部门,而每个参与者各自有完成自身业务相关的流程(process)。而往往一个参与者下的流程需要多个职责人员来完成,这就是BPMN中定义的道(Lane)。针对具体业务可以将上图细化如下所示。
流程(Process)描述了一个组织内部开展一定目的的工作所需进行的有序活动(Activities)。在BPMN中流程用定义了有限执行语义的活动(activities)、事件(events)、网管(gateways)和顺序流(sequence flow)等元素组成。如下展现了一条图书借阅流程。
编排(choreography)是一种流程(process)类型,但它不同于上面讲述的process。上文的process可以叫做标准流程,也叫编制(orchestration)流程。对比标准流程,choreography更注重业务参与者(participants)交互上。它不大关注于业务参与者执行工作的编制(orchestrations),而更关注在参与者的消息交互上。如下图展示了一个病人和医院在整个看病取药业务中的交互关系。
本文简单介绍了下BPMN的三种视图,业务用户、分析人员和BPM开发人员可以通过这三种视图从不同层面来了解相关业务。后续会对这三种视图涉及内容进行细化说明,例如协作视图中还包括会话视图,每种中视图使用更为精细化的BPMN元素来完成更为详细业务流程说明等等。继而在了解BPMN对视图、元素等语义的定义来达到业务人员、分析人员和开发人员在统一的建模语义上进行交流的目的,同时也为了确保基于统一xml语言来达到设计可执行业务流程的目的。
附录
1. BPMN规范简介
http://www.uml.org.cn/RequirementProject/200905183.asp
2. 比较 BPMN 业务流程图和 UML 活动图