`
ronghao
  • 浏览: 448450 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
E9473dd5-1985-3883-ac98-962354ca10b3
张小庆,在路上
浏览量:8528
社区版块
存档分类
最新评论

BPMN这点事-那段悲催的历史(下)

阅读更多
BPMN被BPMS厂商们大量采用,他们使用它来进行流程的建模,至于模型的执行和存储,则由他们各自不同的流程执行语言实现。时至今日,BPMN1.x被大多数的建模工具和BPMS厂商所支持,他们关心的是建模,没有人关心BPMN的直接执行,也是,BPMN的主要用户是业务人员和流程分析人员。

那么,BPMN的故事结束了吗?显然没有,BPMN1.x只是一些建模符号,不支持元模型,不支持存储和交换,也不支持执行。那么围绕着BPMN1.x的存储、交换和执行,必然会产生新的竞争,这次的主角换成了XPDL、BPEL和BPDM。

XPDL作为WfMC提出的流程定义语言规范,本身就是一个元模型,可以存储,并且具备执行语义,因此理论上来讲,将BPMN转换为XPDL就可以解决存储、交换和执行的问题。XPDL2.0于2005年10月发布,在规范里,WfMC直接将XPDL的目标定义为BPMN的XML序列化格式。2008年4月23日发布的XPDL2.1规范,直接支持BPMN1.1到XPDL2.1的转换。XPDL是面向图的,BPMN也是面向图的,因此BPMN到XPDL的转换有着天然的优势。如今有超过80个的不同公司的产品使用XPDL来交换流程定义,同时也有一些厂商在自己提供的BPMN工具中使用了XPDL作为交换和存储格式。

但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最后内容的由来。

BPMN的目标是期望通过一套统一的建模、执行模型填起业务人员与开发人员之间的那道鸿沟。但问题是它真的能够如它期望般的做到这一点吗,对业务人员友好的模型对开发人员同样友好吗,反过来,对开发人员友好的模型对业务人员同样友好吗,尽管他们使用的都是同一套符号?我们在后续的建模实例里将看到这样的问题,这涉及到建模的风格。同一个流程模型能够使用多种建模方式,哪种方式才是最有效的?这就需要考虑模型的用户是谁(业务人员、分析人员、开发人员),才能界定是否有效了。此外,工具毕竟只是工具,促进业务人员与开发人员之间的沟通,除了工具,还有公司文化、组织结构等等其他人的因素,这也才是最重要的因素。

不管怎样,BPMN2.0是BPMN历史上最重要的一个版本,BPMN继续向正确的方向迈进了一大步。在下一节里,我们将一起看看BPMN所支持的三种基本类型的流程模型。
4
1
分享到:
评论
10 楼 gals 2013-08-25  
今天才看到楼主这篇文章,深有感触,最后面这句话
引用
BPMN的目标是期望通过一套统一的建模、执行模型填起业务人员与开发人员之间的那道鸿沟。但问题是它真的能够如它期望般的做到这一点吗,对业务人员友好的模型对开发人员同样友好吗,反过来,对开发人员友好的模型对业务人员同样友好吗,尽管他们使用的都是同一套符号?

觉得说的非常符合实际情况,落实到最近开发中,发现业务流程建模还是it来做,还是由it最终来梳理出整个流程,结论就是,愿望是美好的,现实是骨感的。有时就在想,填起业务和开发之间的鸿沟是不是本就是个不切实际的愿望,至少目前还不是现实的....
9 楼 ronghao 2012-07-04  
guofengcn 写道
等这本书确实等的挺辛苦。。。

越到后来越惶恐,生怕对不起时间
8 楼 guofengcn 2012-07-04  
等这本书确实等的挺辛苦。。。
7 楼 ronghao 2012-07-02  
vavi 写道
ronghao 写道
kusix 写道
话说这本书都预告了2年多了,啥时候出版啊

⊙﹏⊙b汗,我只能说今年,抱歉

2012还可能出吗?

全书正在统稿,很快能放出试读章节
6 楼 vavi 2012-06-26  
ronghao 写道
kusix 写道
话说这本书都预告了2年多了,啥时候出版啊

⊙﹏⊙b汗,我只能说今年,抱歉

2012还可能出吗?
5 楼 ronghao 2011-08-05  
kusix 写道
话说这本书都预告了2年多了,啥时候出版啊

⊙﹏⊙b汗,我只能说今年,抱歉
4 楼 kusix 2011-08-05  
话说这本书都预告了2年多了,啥时候出版啊
3 楼 damoqiongqiu 2011-07-21  
期待下一节,坐等下一节
2 楼 ronghao 2011-07-20  
fenian_zhq 写道
请问浩哥,BPMN2.0定义了流程的元模型有何意义,具体体现在什么地方

有元模型就可以持久化存储了。
1 楼 fenian_zhq 2011-07-20  
请问浩哥,BPMN2.0定义了流程的元模型有何意义,具体体现在什么地方

相关推荐

Global site tag (gtag.js) - Google Analytics