Manoj Das是Oracle的BPM产品管理主管。他负责Oracle的BPM技术,包括BPMN、BPEL、BPEL4People和业务规则。Manoj从事BPMN和BPEL有很长时间了,在Oracle之前他在Siebel工作,他当时的工作是负责利用BPMN和BPEL构建下一代以流程为中心的应用平台。
Dave Ings是IBM软件标准工作组的项目主管。除了闲暇时打会儿壁球,他把全部热情都投入到了业务流程管理和SOA标准的研究之中。他目前是OASIS BPEL4People技术委员会的主席和BPMN2.0开发团队的IBM项目领导人。
Ivana Trickovic是SAP标准管理和战略工作组的标准架构师。她的工作重心是涉及业务流程管理和Web服务领域的技术标准。Ivana代表SAP参与了多个标准的制定,包括OASIS WS-BPEL技术委员会和OASIS BPEL4People技术委员会。她是BPMN2.0开发团队的SAP项目领导人。
Q:BPMN已在BPM社区得到了充分的讨论。可是,您能给不了解它的人简单介绍一下BPMN吗?
(IBM,Dave Ings)BPMN是领先的业务流程建模符号标准。它定义了一种类似于流程图的可视化符号,业务分析师可以利用它来设计新的业务流程或者记录现有业务流程。这个标准提供了一种通用语言,业务人员、业务分析师和IT架构师能够使用它来一起开发、部署和监视业务流程。
(Oracle,Manoj Das)BPMN,或者说是业务流程建模符号,是一个图形化的建模标准,它让业务分析师和业务用户可创建跨多个活动、系统、参与者和交易的流程模型,只要添加必要的实现细节,这些模型就可以直接被IT拿去执行。BPMN给业务使用者提供了类似流程图的体验,一种他们所熟悉的隐喻。但是,与流程图不同,BPMN加入了大量的约束和语义,以便使模型成为一个有效的执行起点。此外,跟BPMN紧密联系起来的是它的泳道特性,这使得可以按参与者和角色对活动进行直观地建模,非常形象地表示出了不同参与者之间的协作。
(SAP,Ivana Trickovic)BPMN是一种业务流程的图形化建模符号,范围从工作流到自动化业务流程。BPMN上的新成就(即大家熟知的BPMN 2.0)还包括了一个针对协作流程的符号(即编排[choreographies]),使用它可以就业务伙伴之间一系列所需交互来定义业务契约。
Q:我们为何需要BPMN?我们不能只使用其他建模语言吗,如UML?
(IBM,Dave Ings)正如存在各式各样的问题域,因而就有了各式各样的针对各领域进行优化过的“领域特定语言”。UML是最适合设计和实现软件的标准建模语言。 BPMN是一种专门针对业务流程设计优化的标准。在设计业务流程及实现它们的SOA服务时,二者充当了重要且互补的角色。
(Oracle,Manoj Das)BPMN提供了一种面向业务分析师的建模符号,特别是对于流程建模而言,以及一个具有执行语义的模型。BPMN是解决所有这三个方面的唯一方法,同时也是在业务分析师内部推动使用BPM的急需之物。
(SAP,Ivana Trickovic)BPMN是一种特别适合设计不同风格业务流程的建模语言。它因此而引入了一些特定于流程建模领域的建模概念,如关联、补偿、人类用户交互等。这些概念在像UML这样的更通用建模语言中并没有涉及。此外,UML工具是面向IT人员的,而BPMN工具则是面向业务流程专家的。
Q:BPMN2.0解决了哪些BPMN1.1没有解决的问题?
(IBM,Dave Ings)在IBM看来,BPMN2.0有四个关键目标。第一,提高了符号的准确性,这样它就能够以一种简单的方式部署,并在多提供商运行环境中得以实现互操作。第二,为流程建模以及其由工具展示出的可视化外观,定义了一个行业标准交换(文件)格式。第三,提供了一系列扩展点,使得提供商能在不破坏互操作性的前提下解决他们客户的特定需求。第四,添加了对“编排”的支持,从而可以定义跨越组织边界的SOA应用程序。
(Oracle,Manoj Das)更重要的是,充分的语义确保了不同实现之间真正的一致性,持久化格式提供了不同实现间的可移植性。此外,还包含了数据建模和向WS标准的靠拢。
(SAP,Ivana Trickovic)BPMN 2.0以BPMN 1.1为基础,以多种方式扩展了它当前的能力。它细化了BPMN1.1中已经存在的元素,如人类用户交互和事件,同时解决了已知的不一致和二义性。它还引入了针对领域模型和可视化模型的交换格式。最后,它规范化了BPMN元素的执行语义,这有助于清楚地解释BPMN流程模型。
Q:谁在开发BPMN 2.0?就我所知,在OMG存在竞争性的提交物。它们是什么?
(IBM,Dave Ings)OMG,对象管理组织(Object Management Group),是发起BPMN2.0开发的标准团体。OMG的“RFP”流程是一种大致类似于建筑设计竞赛的开放流程,在这场竞赛中,多个行业组织可以自由独立地开发和提出对RFP的回应。IBM、Oracle、SAP和其他的业界领先公司已经参与开发了一个响应,另一组公司也同样会这么做。如果收到多个提交物,OMG就会启动一个协调过程,以便得到最好的结果。
(Oracle,Manoj Das)目前有两个大的联盟正致力于解决OMG的BPMN 2.0 RFP。在这个阶段,存在竞争性思想是有益且自然的。
(SAP,Ivana Trickovic)2008年二月,OMG收到了两份BPMN2.0的竞争性初始提案:由SAP、IBM和Oracle提交的BPMN 2.0方案,以及由Adaptive等提交的BPMN-S方案。由SAP、IBM和Oracle提交的BPMN 2.0方案是基于OMG BPMN 1.1规范的。这个方案引起了广泛关注,结果为了积极参与制订OMG标准的下一个版本,许多领先技术提供商都加入到了这个提交团队中。这两个团队现在正在进行合作,致力于制定三个补充规范:(1)定义BPMN的图形符号、元模型、交换格式和形式化执行语义,(2)促进语义集成的通用流程模型和(3)二者之间的映射。
Q:BPMN和部署环境之间是什么关系?
(IBM,Dave Ings)BPMN定义了建模(业务流程设计)环境,而BPEL标准定义了部署(运行时)环境的核心。BPMN能够用于不同的目的,从草拟高水平的业务流程到详述意欲自动执行的业务流程。对于后者,BPMN 2.0执行语义已经跟BPEL执行语义一致了。BPMN 2.0规范还包括一个跟BPEL的映射,这让它可以部署到基于BPEL的部署环境中。
(Oracle,Manoj Das)大部分情况下,BPMN模型将能实现为可执行流程。BPMN 2.0将和一些执行标准保持一致,包括SCA、BPEL 2.0和BPEL4People。此外,BPMN 2.0将能利用部署环境中的组织目录和其他可用服务。
(SAP,Ivana Trickovic)BPMN意欲实现部署和执行的平台无关性。这意味着,BPMN流程能被部署和执行于支持BPMN2.0执行语义的各种环境中。
Q:BPMN 2.0和BPEL 2.0之间是什么关系?BPMN 2.0让BPEL显得多余么?
(IBM,Dave Ings)如像上面说的,BPMN的重点是建模,而BPEL的重点则是部署。它们都是支持BPM开发生命周期的基础标准。
(Oracle,Manoj Das)首先,BPMN是一个建模标准,而BPEL则是一个执行标准。二者在这方面是互补的,而且许多BPMN模型都能作为BPEL流程执行。然而,由于 BPMN 2.0定义了充分的执行语义,实现可能会从一开始就直接执行BPMN 2.0,造成和BPEL2.0的重叠。从这个角度看,我们认为,二者之间存在重要的一致性。此外,对于这两种执行方式——BPMN模型作为BPEL执行和直接执行BPMN,都存在有适合它们的不同用例。
(SAP,Ivana Trickovic)BPEL定义的模型和执行语义是针对基于Web服务的流程而言的,这些流程体现出了BPMN能力的子集,如BPMN允许绘制任意的图形和复杂的数据流。BPMN 2.0提案包括了一个从BPMN子集到BPEL的可选映射,它仅限于没有循环的块结构流程。这些BPMN流程也能够执行在基于BPEL的执行环境中。
Q:BPMN 2.0和BPEL4People之间的关系是什么?
(IBM,Dave Ings)BPEL4People其实是两个补充规范,即“针对人的WS-BPEL扩展(WS-BPEL Extension for People)”和“WS-HumanTask”,它扩充了BPEL 2.0,使其在业务流程中支持人工任务(“human tasks”)。BPMN也允许你定义人类参与的业务流程,而且这种BPMN流程能够部署到支持BPEL4People的BPEL上。在OASIS 中,BPEL4People尚处于标准化阶段,故而还没有作为标准被采用。
(Oracle,Manoj Das)如果你回头看看在2008年四月关于BPEL4People的采访,你就会发现这次的人和上次的一样。虽然我们都曾从事过 BPEL4People,但我们都已认识到我们将要致力于BPMN 2.0,而且需要将二者靠拢。BPEL4People的设计目标是它的主要组件——WS-Human Task——可被用于BPEL、BPMN或者其他流程引擎。随着我们在BPMN 2.0和BPEL4People上工作的深入,我们将继续确保二者的一致,并且BPMN 2.0可以利用WS-HumanTask。
(SAP,Ivana Trickovic)BPMN 2.0提供了建模人类用户交互和工作流程所需的能力。作为正在进行的OASIS BPEL4People标准化活动的一部分,BPEL4People和WS-HumanTask支持任务执行引擎、任务列表客户端和流程执行引擎间重要的互操作需求。因此,支持BPEL4People和WS-HumanTask的执行环境可被用于部署和执行BPMN工作流流程。
Q:BPMN 2.0和XPDL之间是什么关系?
(IBM,Dave Ings)XPDL定义了建模语言(和BPMN部分重叠)和流程建模交换格式。在OMG尚未定义交换格式的时候,XPDL 2.0增加了对BPMN 1.1的支持。上面已经提到,BPMN 2.0会定义一个明确的交换模式,届时我们希望业界都迁移到它上面来。
(Oracle,Manoj Das)由于BPMN 1.1没有规定持久化格式,不少产品(包括我们的产品)都使用XPDL作为持久化和内部交换格式。BPMN 2.0会有自己的持久化和内部交换格式;我们计划停止使用XPDL,转而开始使用BPMN 2.0规定的格式,把现有的BPMN1.1/XPDL资产移植到BPMN2.0上。我们希望其他人也采用类似的方式。
(SAP,Ivana Trickovic)XPDL为工作流流程定义了一个模型和交换格式。它曾经被提议用作BPMN1.1流程的交换格式。BPMN 2.0为BPMN模型引入了基于XMI和XSD的交换格式,我们希望未来它对BPMN 1.1和BPMN 2.0的流程定义都适用。
Q:各位认为什么是BPMN最重要的方面?
(IBM,Dave Ings)在IBM看来,BPMN 2.0最重要的方面是,通过标准化图形符号、语义和XML交换格式,BPMN将大大提高工具和运行时对于业务流程的互操作能力。因而,它将使业界关注一个更大的目标,即业务和IT的对齐和集成。
(Oracle,Manoj Das)BPMN最重要的方面是它对流程开发生命周期的影响。它能够让业务分析师和IT使用公共语言和词汇高效地合作。传统上,一旦IT开始进行开发,分析师的模型就成了不相干的东西。BPMN实现了从业务分析师需求到实现的高保真映射,同时支持业务分析师需求的持续完善。
(SAP,Ivana Trickovic)OMG BPMN 2.0 RFP范围很广,所以很难找出一个特殊的特性。OMG BPMN 1.1的一个最大缺陷就是没有定义执行语义,而这在BPMN 2.0提案已经解决了。解决这个缺陷将对未来BPMN的采用会产生积极影响。此外,关于流程编配和编排的集成观点是我们在其他标准中不曾看到过的新东西。
Q:遵从BPMN的意义何在?
(IBM,Dave Ings)BPMN 2.0规范的草稿定义了四个遵从点。详细说来,它们是流程建模、流程执行、部署到BPEL环境和对编排的支持。这承认了不同用户需要不同的工具,而且每个工具都不可能包打天下——工具提供商可以为特定类型的用户优化工具。
(Oracle,Manoj Das)首先,遵从,如同任何其他标准一样,保证了用户有一致的体验,并且他们的制品在不同提供商的实现之间能产生一致的结果。在这种情况下,鉴于 BPMN解决了多种问题,自然就会有多维度的遵从性。从建模的角度看,遵从意味着BPMN建模工具的分析师和IT用户有一致的建模体验,并能跨不同提供商的实现利用他们的建模技能和经验。从执行角度看,遵从意味着BPMN模型在不同提供商实现上执行的是相同内容。对于那些想将BPMN映射成BPEL的人来说,遵从意味着不同支持提供商之间的从BPMN到BPEL映射的一致性。
(SAP,Ivana Trickovic)BPMN 2.0提案表达了不同场景:业务流程的建模、流程定义和流程执行的交换。我们设想的是并非所有工具都同时支持业务流程建模和执行。而且,一些工具可能提供对于流程编配的建模,但不提供对于协作流程的建模,或者是相反的情况。为了处理这些需求,BPMN 2.0提案定义了大量的遵从目标,包括流程建模一致性、流程执行一致性和编排建模一致性。同时,针对那些支持BPMN到BPEL可选映射的实现,BPEL 流程执行一致性也已经被引入了。
Q:您如何看待BPMN 1.1的使用率,以及为什么客户应该关注BPMN 2.0?
(IBM,Dave Ings)在IBM的产品包中,已经有一些工具支持BPMN。到目前为止,客户的反应都是积极的,在销售过程中,我们通常能看到客户把它指定为强制需求,一个确定的信号就是该技术已经“跨越鸿沟”,正成为主流。此外,我们正考虑在我们的业务流程建模工具包中把BPMN 2.0作为互操作标准。
(Oracle,Manoj Das)我们看到有很多人对BPMN 1.1感兴趣同时也在使用它。今天,我们既支持BPMN到BPEL的映射,也支持BPMN到XPDL的映射。然而,尽管现今BPMN 1.1充当了重要的角色,但它还远远没有实现它作为业务分析师通用语言的全部潜力。缺乏标准的执行语义和持久化格式阻碍了它。这意味着尽管BPMN建模者有相似的概念,但它们还没有完全的标准化,同时BPMN技能也不是真正可转移的。BPMN 2.0解决了这些缺陷,向前迈出了一大步。
(SAP,Ivana Trickovic)BPMN 1.1其实已经广为使用,软件提供商和客户也都很关注它的未来发展。从许多公司参与到OMG BMI Task Force这一事实,已经表明了大家对这一标准的兴趣。由于BPMN 2.0方案是基于BPMN1.1并解决了客户的关键需求,有理由预计,当前的实现将会升级到2.0版本,并且新的实现也会出现。
Q:为什么您的公司会对BPMN感兴趣?
(IBM,Dave Ings)IBM是公认的SOA市场领导者。我们称之为“SOA支持的BPM”的生命周期就是建模、实施和监视的迭代,而且BPMN提供了基于整个生命周期技术的关键标准。因此,BPMN促进我们客户对于他们的SOA和BPM的采用。
(Oracle,Manoj Das)我们一般都承诺开放标准,因为它们会让客户的总体拥有成本降低,并被主流企业采用。就面向开发者社区的技术而言,我们已经利用了跨我们产品组合的开放标准所带来的好处。然而,我们相信为了让我们的客户在当今的环境下获得卓越经营,他们需要把拥有业务和领域认识的业务分析师带入到开发生命周期中,并让他们有能力做得更多。BPMN很明显是一个会得到我们客户团体中的业务分析师关注的标准,因此,我们对它感兴趣并且把精力投入到BPMN之中。
(SAP,Ivana Trickovic)业务流程是SAP业务软件的核心。业务流程建模是促进业务流程变更和创新的主要能力。SAP采用BPMN,正因为它是未来的协作流程建模符号。
Q:BPMN 2.0的时间进度安排怎样?
(IBM,Dave Ings)由于需要考虑和协调很多观点,对于使用开放流程创建的标准,通常很难预测出确切时间表。但我们期望,OMG会在2009年春天发布标准的最初“beta”草案,至于最终的规范会在2010年的某个时间发布。
(Oracle,Manoj Das)相关团体正在全力以赴地做这件事,我们目前一切顺利。希望在明年年初能够看到beta版的草稿。
(SAP,Ivana Trickovic)最近,OMG BMI Task Force审查了BPMN2.0提案的进展,并商议通过了一个最后期限的延期,为完成以上讨论的方案提供了更多的时间。可以预计,Task Force将在2009年三月的下一届OMG技术大会上讨论最终方案以及它们的采纳结果。作为该会议的结果,OMG BPMN 2.0 Finalization Task Force准备在2009年下半年将关注点转向在新规范第一波实现期间所产生的问题。
Q:BPMN 2.0下一步有何打算?
(IBM,Dave Ings)随着市场上建模(BPMN)和部署(BPEL,BPEL4People)标准的成熟,IBM认为关注点将转向业务事件、业务规则和企业架构标准。对于某些方面,这些标准是存在的,但是需要更好地与BPM生命周期集成在一起;在其他方面,还存在一个空白,其中的私有技术需要标准化,以推动产业向前发展。
(Oracle,Manoj Das)我们认为:标准,包括其附属品,如标准培训、书籍以及方法论,会让业务分析师在开发生命周期中扮演一个更有意义且更重要的角色。考虑到这一点,我们打算对业务分析师感兴趣的更多方面进行标准化。除了详述业务模型,业务分析师还对详述和管理策略和规则、事件、度量指标和仪表盘,模拟场景和模型,以及包含角色和层级的组织模型感兴趣。我们希望看到这些领域的标准化以及它们之间的相互联系。我们也希望看到能促进BPMN学习的一些标准模式和最佳实践的出现。
(SAP,Ivana Trickovic)SAP认为,BPMN 2.0的采用会是下一个直接目标。在未来的标准化活动方面,在WS-BPEL和其他领域(如业务规则)的新能力也值得关注。
查看英文原文:BPMN 2.0 Virtual Roundtable Interview。