InfoQ

新闻

我们能从BPMN 2.0期望什么?

作者 Boris Lublinsky 译者 胡键 发布于 2008年5月5日 上午9时18分

社区
Architecture,
SOA
主题
业务流程管理,
工作流/业务流程管理,
业务流程建模
标签
业务/IT整合,
BPMN,
商业模式

业务过程建模符号(BPMN)是被当今所有过程设计工具都采用的流行符号。BPMN是OMG维护的公共标准,已广泛地被不断携新产品进入市场的商业和开源BPMS工具厂商共同接受。例如,BEA的AquaLogic BPM 6.1 – BPMN(http://dev2dev.bea.com/blog/atoussai/archive/2008/04/aqualogic_bpm_6_1.html)。查阅InfoQ中关于BPMN的帖子(http://www.infoq.com/bpmn)。

尽管其已被广泛采用,但是BPMN工具仍有许多令人难以忍受的缺陷:

  • BPMN是一个图形符号,不支持标准化的元模型。这导致BPMN工具之间几乎没有互操作性可言。尽管可以使用XPDL来存储和交换过程图,但是并非所有的BPMN工具都支持这样做。
  • BPMN是一门设计语言,一般被翻译成业务过程执行语言(BPEL)。正如Bruce Silver指出的( http://www.brsilver.com/wordpress/2007/11/28/roundtripping-revisited/ ),“面向图形的(graph-oriented)BPMN模型——其中,你可以将流程导向任何地方——与面向块的(block-oriented)BPEL之间的不匹配”造成了这两种语言间相当数量的不兼容,这使得在很多情况下这种翻译具有挑战性。“BPMN规范试图为很多图模式(diagram pattern)描述简单的BPEL映射,但是长期以来人们认识到有些模式肯定无法按BPMN规范中描述的方式映射。那些对以简单映射为基础的BPEL翻译有效的BPMN工具,在BPMN没有严格按面向块(block-oriented)风格绘制时,会给用户报大量的有效性(Validation)错误。”结果是,大部分的工具只提供BPMN到BPEL翻译(不是双向工程),甚至连这种受限方式也极少提供真正可执行的代码。

Antoine Lonjon的白皮书(http://www.omg.org/w-new/bpmn.htm)给出了BPMN 2.0标准主要目标的纲要,其与Bruce Silve的BPMN愿望清单( http://www.brsilver.com/wordpress/2008/03/08/wish-list-revisit-revisited/ )类似。其中最重要的就是创建一种BPMN交换格式(除了现有的XPDL之外)。根据Sebastian Stein(http://www.arisblog.com/2008/04/24/where-is-bpmn-heading-to/)的说法:

就像回到了UML 1.x时代,图形模型没有交换格式。然而,BPMN甚至更糟。它连模型的内容交换格式(因此没有UML 1.x中类似的XMI)都没有。BPMN 2必须解决这个问题,引入一个涵盖模型内容和图形布局的交换格式。

问题的可能解决办法之一是使用业务过程定义元模型(BPDM)( http://www.omg.org/technology/documents/br_pm_spec_catalog.htm#BPDM )作为BPMN符号的相容元模型。这不仅解决了交换格式的问题,而且还明确定义了BPMN执行语义。尽管这是非常强大的解决方案,但是它引入了许多新概念。新规范要解决的其他问题包括:能指定多种启动过程的方法,支持非中断中继事件(non aborting intermediate event),半结构行为(semi structured behavior)等,这些都会潜在地使BPMN更复杂。

尽管要到8/9月间OMG才会给出推出BPMN 2.0的时间表,但是关于它可能方向的初始公告在网络上反响强烈。根据Sebastian Stein(http://www.arisblog.com/2008/04/24/where-is-bpmn-heading-to/)的说法:

引入更多新鲜可能有悖于BPMN目前的优点——简单。这会增加BPMN建模的学习曲线,可能不利于进一步的采用。

Vishal Saxena(http://vishals.blogspot.com/2008/04/bpmn-20.html)重复了Sebastian的观点,他写道:

首先,让我来说说在BPMN 1.0(1.1)中是什么了不起的东西使其成为过去几年内采用率最高的规范之一,姑且不论其他建模标准为了这一目标奋斗了更长的时间。第一和最重要的原因就是BPMN的简单性——或者说得确切点:它使简单的事情保持简单。举例来说,如果我想对取现金过程建模,我能在极短时间内通过少量和不那么陡峭的学习曲线做到。许多人发现这就像他们在画板上用别的什么画流程图一样简单,比方说Visio。

在考虑所有这些新特性时,关于BPMN的角色的问题也需要被提出。一方面,有些厂商(如Intalio)已经引入了可执行BPMN(完全使用BPMN设计过程,然后在幕后产生BPEL作为可执行部件)(http://www.infoq.com/news/2007/10/intalio-bpms-5);另一方面Jean-Jacques Dubray( http://www.infoq.com/cn/articles/seven-fallacies-of-bpm)认为,假定“业务分析人员能从过程模型中创建可执行解决方案”是业务过程管理的谬误之一。除了一些最简单的过程,如订单批准,实际的BPM实现一般都需要涉及IT,因此无需(绝大多数情形是不能)直接运行BPMN。这种情况下,更重要的问题是,过程实现时所作的变动如何与初始BPMN模型同步。

那么,BPMN未来的角色究竟是什么?许多实践者仍在讨论这个问题。但是,看起来它必须在BPMN标准新版本发布前得到回答。

查看英文原文What can we expect from BPMN 2.0?

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。