什么是业务流程管理,业务流程管理是一种以规范化地构造端到端的业务流程为中心,以持续地提高组织业务绩效为目的的系统化管理方法。同时,我们也了解了BPM活动的五个阶段:设计、建模、执行、监控和优化。在本章中,我们将把关注点放到BPMN上,什么是BPMN,在BPMN1.X里,BPMN是Business Process Modeling Notation的缩写,即业务流程建模符号,而在BPMN2.0里,BPMN变成了Business Process Model And Notation的缩写,即业务流程模型和符号,一个单词的增加却标示着BPMN本身发生了巨大的变化。到底是怎样的变化呢,让我们一起进入BPMN那段悲催的历史。
BPMN最早是由业务流程管理倡议组织(BPMI, Business Process Management Initiative)开发的,这个组织的领导者是Intalio公司。提到BPMI组织,不得不提 BPML(Business Process Modeling Language) 业务流程建模语言。在敏锐的认识到Web将成为未来分布式系统架构的平台后,BPMI组织创建了BPML,一种全新的流程执行语言,该语言不与任何供应商绑定,而BPMN则作为BPML的可视化表现符号被创建。BPMI组织的会员在高峰期达到了200多家公司,除了IBM和微软,几乎所有的主要软件供应商都加入了该组织。
BPMN则反映出BPMI组织的另一个具有前瞻性的观点,即业务人员(多是非技术人员)对IT执行流程的可视化和管理将成为未来BPM系统的关键。通过授权,业务人员能够管理自己的流程。在BPMN出现之前,市面上已经存在流程建模图的标准例如UML的活动图(UML由对象管理组织OMG维护管理,很快,我们将再次看到这一组织),但这些标准被认为过于技术化,而BPMN在被设计之初就强调要对业务人员友好。BPMN1.0在2004年5月由BPMI组织正式发布,其全称是Business Process Modeling Notation,即仅仅作为业务流程建模的一系列符号标准。
但XPDL的流行是大厂商们所不愿看到的,他们的规范自然还是BPEL,我辛辛苦苦PK掉BPML,您XPDL抢位来了,我情何以堪,情何以堪啊。BPEL-WS规范在2003年4月提交给了OASIS(Organization for the Advancement of Structured Information Standards,结构化信息标准促进组织)并更名为WSBPEL(Web Services Business Process Execution Language)规范, 2007年4月发布WSBPEL2.0版本,除了Microsoft、 BEA、 IBM、 SAP 和Siebel,Sun Microsystems和甲骨文公司也相继加入了OASIS组织。除去政治因素,BPEL的流行还在于Web正成为分布式系统架构的平台以及SOA的雄起,SOA强调服务的分解和解耦,而BPEL则对这些WEB服务进行编制,两者密不可分。但BPMN到BPEL的转换存在着先天上的缺陷,原因是BPMN是基于图的,而BPEL是基于块的,BPEL是一个结构化(块[Block])和非结构化(控制链和事件)的混合体。这个缺陷导致有些BPMN建模的流程无法映射到BPEL,两者的双向工程更是存在问题。这个缺陷成为人们反复诟病的对象。许多支持BPEL的产品为了解决这一问题,不得不在用户建模时做出种种限制,让用户绘制不出无法转换的模型。
而BPDM(业务流程定义元模型,Business Process Definition Metamodel)则是OMG组织自己提出来解决BPMN存储和交换问题的规范。于2007年7月形成初稿,2008年7月被OMG最终采用。BPDM是一个标准的概念定义,用来表达业务流程模型。元模型定义了用来交换的概念,关系和场景,可以使得不同的建模工具所建模出来的流程模型进行交换。BPDM超越了BPMN和BPEL所定义的业务流程建模的要素,它定义了编排和编制。
三者的竞争关系似乎还将继续,但,BPMN2.0出现了,BPMN2.0 beta1版本于2009年8月发布,BPMN2.0 beta2版本于2010年5月发布,BPMN2.0正式版本于2011年1月3日发布。BPMN2.0正式将自己更名为Business Process Model And Notation(业务流程模型和符号),相比BPMN1.x,最重要的变化在于其定义了流程的元模型和执行语义,即它自己解决了存储、交换和执行的问题,BPMN由单纯的业务建模重新回归了它的本源,即作为一个对业务人员友好的标准流程执行语言的图形化前端。BPMN2.0一出手,竞争就结束了,XPDL、BPEL和BPDM各自准备回家钓鱼。看起来胜利者似乎是BPMN,但看看BPMN2.0的领导者,就会发现最后的胜利者还是IBM, Oracle和SAP这些大厂商们,他们提交的草案明确要赋予BPMN2.0以执行语义,这迫使BPDM团队撤回了其提交,并将他们的提议与BPDM团队想法合并,这就是BPMN2.0最后内容的由来。