BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

InfoQ访谈BPEL4People代表

| 作者 Mark Little 关注 14 他的粉丝 ,译者 连小剑 关注 0 他的粉丝 发布于 2008年6月6日. 估计阅读时间: 18 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

自从首次公布BPEL4People/WS-HumanTask将会成为一个标准,在BPM领域构建这个新标准的种种努力就受到了空前的关注(1234)。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内容管理方面的开发与研究。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT