自从首次公布BPEL4People/WS-HumanTask 将会成为一个标准,在BPM 领域构建这个新标准的种种努力就受到了空前的关注( 1 、 2 、 3 、 4 )。 BPEL(又名 WS-BPEL)继续分化着工作流阵营,BPEL4People 也同样会吗?(OASIS)技术委员会举行了首次面对面的会议,我们得以有机会对几位幕后工作者进行了采访。
Manoj Das 是 Oracle 公司 BPM 产品管理部门的总监,他关注的领域包括 BPMN、BPEL、工作流和业务规则。Monoj 曾在 Diebel 公司负责研发新一代的流程为中心的应用平台。Diebel 后来被 Oracle 公司收购,Manoj 也随之加入 Oracle。
Dave Ings 是 IBM 软件标准工作组的项目总监。他致力于业务流程管理和 SOA 标准的研究。目前他是结构化信息标准促进组织(以下简称 OASIS)BPEL4People 技术委员会的主席。
Ivana Trickovic 是 SAP 产业标准工作组的一名标准架构师。Ivana 代表 SAP 参与了多次标准的制定,包括 OASIS WS-BPEL 技术委员会和 OASIS BPEL4People 技术委员会。她是 BPEL4People 和 WS-HumanTask 技术规范的制定者之一。
问:各位能先向对 BPEL 不熟悉的读者简单介绍一下什么是 BPEL 吗?(IBM,Dave Ings)OASIS WS-BPEL 标准为基于流程同它的参与者间有状态的、长期的交互的业务流程提供了行为的描述模型。具体来说,这意味着如果在一个 SOA 的环境中有一组代表业务流程各组件的 Web Services,BPEL 提供了一种能够把这些服务集成到完整业务流程当中的方法。
(Oracle,Manoj Das)Web Services 业务流程执行语言(WS-BPEL),通常被称为 BPEL,提供了一种被业界广泛接受的流程编制标准。这一标准被许多软件供应商所支持,用来定义这样一种业务流程:即把服务、系统和人员编排到端到端的业务流程和复合应用。
概括的来说,BPEL 是一种 XML 语言,用来描述可执行业务流程的行为。这些流程和行为可以是同步的或是异步的,短暂的或者是长期的;BPEL 为工艺流程、系统交互、数据操作、例外处理、赔偿规则等的定义提供了一种精巧的描述语言。
(SAP,Ivana Trickovic)在企业面向服务架构(SOA)中,BPEL 是其重要的构建基础,提供了所需的流程功能。它是一种基于 XML 的语言,主要用来设计组成可重用(Web)服务的各种流程。
问:能对 BPEL4People 做一个简单概述吗? (IBM,Dave Ings)“BPEL4Pelple”实际上是两个补充规范,即“WS-BPEL Extension for People”和“WS-HumanTask”。这两个规范扩充了 WS-BPEL 2.0,使得它在业务流程中能够集成和支持人工任务。
(Oracle,Manoj Das)BPEL4Peopl 是已发布标准 BPEL 上的一个扩展,把人工交互作为“一等公民”引入到 BPEL 中 [译者注:这里“一等公民”是指把人工交互作为 BPEL 建模中的模型元素]。大多数真实世界的业务流程都包含了人工交互,包括审批、例外管理和其他一些诸如提醒之类的人工任务。BPEL4People 规范在 BPEL 中增加了人工活动及其相关概念,使得在 BPEL 中可以规范定义人工活动——什么任务需要被执行,谁来执行这个任务,哪些是相关人员,何时任务被执行以及若没有按时执行需要怎么处理等等。
(SAP,Ivana Trickvic)BPEL4People 扩展了 BPEL,使得它能以能直接的方式支持人工交互。它包含了两个方面:对人工任务的定义和把人工任务集成到 BPEL 流程当中。
问:为什么需要 BPEL4People?仅仅用 BPEL 不行吗? (IBM,Dave Ings)WS-BPEL 主要用来定义基于 Web Services 的可执行流程。而 BPEL4People 的主要目标是扩展 BPEL,使得后者能够把人工交互作为 BPEL 流程的一部分。
(Oracle,Manoj Das)前面提到,BPEL4People 是在 BPEL 之上一个扩展。BPEL 提供了集成人工交互的机制,但是它并不区分人的行为和系统的行为。在前面的回答中也提到,我们发现人的行为有很多特殊点;尽管这些特殊点能在 BPEL 中得到体现,但是要复杂的多。这就像是试图用 C 来做面向对象的开发。
通过用强大而直观的表述方式来表达人工交互的重要方面,BPEL4People 将为 BPEL 成为 BPM 领域的通用语言铺平道路。
(SAP,Ivana Trickovic)通常情况下,业务流程需要人的参与,比如要符合某些需要遵从“双人原则”的规则。对这样一些业务流程,就需要一种把不同的人工交互模式更直接的集成到 WS-BPEL 的模式。BPEL4People 完美的做到了这一点。
问:为什么各位的公司对 BPEL4People 如此关注? (IBM,Dave Ings)业务流程经常包含有人工任务(比如一个经理对订单的审批)。许多业务流程和工作流产品都支持人工任务案例,但是却是由各自的方式实现的。一个基于集成人工任务的标准很好的体现了用户对互用性和可以执行方面的重要需求。
(Oracle,Manoj Das)我们许多的用户充分地利用了目前在我们的 BPEL 产品中所支持的、符合 BPEL4People 的人工活动(功能)。随着用户对这些功能的广泛和逐步增长的使用,对这方面的标准化不仅关系到可移植性和互用性的增强,而且对增加产品选择和降低使用成本也是至关重要。标准化也有助于降低培训成本和增强熟练人员的使用效率。
(SAP,Ivana Trickovic)SAP 是 BPEL4WS 1.1 规范的共同制定商之一、BPEL 技术的早期倡导者,SAP 在 OASIS WS-BPEL 技术委员会中起着非常重要的作用。由于 BPEL4People 体现了重要用户的需求,因此 SAP 积极倡导对 BPEL4People 进行标准化。一个重要的需求是互用性,例如使用一家供应商提供的任务组织结构,另一家的流程组织结构而使用第三方的任务列表客户端。
问:各位认为什么是 BPEL4People 最重要的方面?(IBM,Dave Ings)从技术角度来讲,它(BPEL4People)是用来支持人工任务的对 BPEL 的扩展。从行业角度来讲,它是领先的 BPM 供应商通力合作来制定一套一旦标准化就使整个行业受益的规范。
(Oracle,Manoj Das)对超时和任务调升的处理(技术上是 WS-HumanTask 的一部分)。编排人工交互的其好处之一是确保任务是依据 SLAs 和其他一些目标来执行的,并且在任务有不能被按照预定目标完成的风险时采取适当的措施,而不是把它们留给 adhoc。超时和任务调升机制能把多个计时器绑定到一个任务,回到前面的问题,这个例子很好地说明了有些任务能够虽然能用 BPEL 完成但是非常困难。
(SAP,Ivana Trickovic)要强调的一点是服务交互和人工交互的统一视图。这意味着对人工任务的调用和普通服务的调用将被视作相同的方式。诸如流程与人工任务间协作等细节不用再明确地在 BPEL 中建模。协作协议将作为流程和任务的基础结构在底层实现。这会大大简化业务逻辑的建模。
问:那 WS-HumanTask 将会怎样? (IBM,Dave Ings)它绝不会消失!换句话说“BPEL4People”指的是两个规范,而不仅仅是称为 BPEL4People 的一个规范。
(Oracle,Manoj Das)BPEL4People 用来处理人工流程交互,WS-HumanTask 则用来处理任务的呈现和执行。它是规范当中用来详细描述任务连同他们的期限、提醒和升级如何被分配、展示以及终止。
(SAP,Ivana Trickovic)它是 BPEL4People 标准化工作的一部分。它可以用来表述一些没有 BPEL 流程而使用了人工任务的情况,因此是很重要的一部分。
问:公平地说目前为止 BPM 有一个备受争议的历史。一些分析家推崇它,而另一些则不然。各位认为 BPEL4People 有助于化解那些争议吗? (IBM,Dave Ings)BPM 正经历着许多新兴技术都经历过的老路——很少有新技术是一夜之间便获得成功的。然而,一些分析家对 BPEL 不能明确地支持人工任务的批评也不无道理。而 BPEL4People 正体现了这一重要需求,它将有助于基于 BPEL 的解决方案成为市场主流。
(Oracle,Manoj Das)市场总会从标准化中获益,尤其是像 BPM 这样一个严重分化的市场。显然,使得端到端的流程具有良好的可见性从而可以被监控和预先采取适当的措施是非常有好处的。风险和成本一直以来就是我们面临的问题。BPEL、BPEL4People 以及相关标准可以使我们拓宽选择、降低成本、控制风险,从而进一步推动 BPM 成为市场主流。
(SAP,Ivana Trickovic)在最富声望的 BPM 分析家之一 Bruce Silver 的一遍 blog 中写道:“BPMS 世界为化为 BPEL 拥戴者和 BPEL 反对者,而看起来最使 BPEL 反对者诟病的是 OASIS 标准把人工任务排除在外。因此我相信 BPEL4People 能很好的解决这一问题。
问:为什么 BPEL4People 的制定花了这么长时间(而 BPEL 早在 2003 年就已出现) (IBM,Dave Ings)制定商们认为在完成 BPEL4People 之前,BPEL 2.0 首先成为正式通过的标准是很重要的。而 BPEL 2.0 标准直到 2007 年才完成。
(Oracle,Manoj Das)首先,BPEL4WS 1.0 在 2002 年 7 月首次发布,2003 年 5 月提交给 OASIS,而它成为一个标准则是在 2007 年的 4 月 12 号。在这期间,一直致力于使之成为一个稳定的 BPEL 标准,使得它之于流程编排就像 SQL 之于 RDBSM。另外,在这三年期间致力于以上工作的技术委员会是 OASIS 最大的技术委员会之一。只有等到 BPEL 工作结束之后,BPEL4People 的标准化工作才能开始全力进行。所以说我们并没有浪费时间拖延进度。
(SAP,Ivana Trickovic)我们知道标准化的过程是复杂的。SAP 和 IBM 通过在 2005 发布 BPEL4People 白皮书就开始了对 BPEL4People 的标准化进程,因为我们想尽早地从我们的客户和技术社区那儿得到反馈。我们也想在完成 BPEL4People 和 WS-HumanTask 规范前看到 OASIS WS-BPEL 技术委员会的成果,这两个规范最终在去年夏天已经发布。
问:好的 BPM 解决方案总是从最终用户那儿得到反馈而不断改进。那目前为止 BPEL4People 从最终用户那儿得到多少帮助呢? (IBM,Dave Ings)我们 BPEL4People 的开发就是在许多客户的需求基础之上的,所以前期我们得到的反馈是肯定的。
(Oracle,Manoj Das)许多用户用类似的方法把人工交互加入到 BPEL 当中。他们的用例和建议给了我们很多帮助。
(SAP,Ivana Trickovic)从 BPEL4People 白皮书发布以来,我们从客户、合作商和终端用户那儿得到了肯定的反馈。看起来最重要的方面之一是和各种任务列表客户端的互用性。
问:现在有对 BPEL4People 的实现吗? (IBM,Dave Ings)包括来自 BPEL4People 制定商的一些 BPEL 产品都已经提供了对人工任务的支持。首先对其主要概念的实现已经有了!更完整的回答是在供应商能够发布完全兼容的实现之前,OASIS 必须完成标准化的工作。
(SAP,Ivana Trickovic)SAP NetWeaver 已经具备对既包含自动行为又有人工活动的业务流程进行建模和执行的能力。随着的 BPEL4People 标准化进程,我们将会看到更多的兼容 BPEL4People 的实现。
问:很多人对 BPEL 的主要关注点之一是它对 WSDL 的依赖。BPEL4People 大概也会是这样吗? (IBM,Dave Ings)BPEL 用 WSDL 来定义在业务流程和所使用服务之间交互的信息。类似的,BPEL4People 也用 WSDL 来定义参与到业务流程当中的人需要处理的数据结构。如果不用 WSDL,就必须另外开发一种新的语言来代替,而我们的总的原则是尽可能合理的使用现行的标准。
(Oracle,Manoj Das)是的,BPEL4People 是依赖于 WSDL。然而,这要依赖于实现它的工具来提供好的终端用户体验。
(SAP,Ivana Trickovic)BPEL 主要用来设计基于 Web Services 的流程,而 WSDL 就是用来描述 Web Services 的语言。在 BPEL4People 中,人工任务将被视为一种“服务 (services)”,因此 WSDL 也用来描述任务接口。这使得访问别的基于 SOA 的应用的人工任务成为可能,因此显得尤为重要。
问:这次技术委员会的时间表是怎样的呢? (IBM,Dave Ings)OASIS 技术委员会在 2008 年 3 月 5 日举行了首次会议。时间表将由委员会自己来制定。
(SAP,Ivana Trickovic)按照技术委员会的章程,标准化工作应该会持续大约 18 个月。我们相信我们能在既定日期之前完成这项工作。
问:BPEL 会因为这次的工作发生什么变化吗?(IBM,Dave Ings)应该不会,因为制定商们要先等 BPEL 2.0 的工作结束才去完成 BPEL4People。
(Oracle,Manoj Das)我们不会引致 BPEL 的变化。BPEL 的设计允许在其上增加扩展,而 BPEL4People 是遵从这一扩展机制的。
(SAP,Ivana Trickovic)BPEL4People 是通过 BPEL 的扩展模型来实现的,因此并不会导致对 OASIS WS-BPEL 2.0 的更改。
问:在 BPEL4People 之后会有什么计划?(IBM,Dave Ings)在 BPM 标准的发展中,BPEL4People 对 OASIS 的贡献标志着很重要的一个里程碑。我们认为 BPM 标准发展的下一步将是对模型标注提供类似级别的标准化。为了这一目标,一些 BPEL4People 的制定者正积极的参与到对象管理组织(OMG)的业务流程标注建模 2.0 的制定当中。
(Oracle,Manoj Das)下一阶段的主要工作将会在流程标注这一块,包括它与 BPEL 和 BPEL4People 的结合。对通用人工工作流模式的初级支持也可能会出现。
(SAP,Ivana Trickovic)在进的 BPEL4People 标准化工作的同时,我们也会确保这个 BPEL 的扩展同业务流程建模标注(BPMN)的相关 OMG 工作可以兼容,使得人工交互也可用 BPMN 进行建模。
查看英文原文: InfoQ Interviews BPEL4People Representatives
译者简介:连小剑,从 2003 年开始就使用 Java,对基于 CORBA 和 J2EE 架构的企业应用的开发有深入研究。最近正关注于 Agile 方法论以及其应用,对 Flex 也比较感兴趣。目前在 IBM 从事 DB2 内容管理方面的开发与研究。
评论