【TechTarget中国原创】业务流程执行语言(BPEL)在开发者社区获得了广泛关注,业务流程建模标注(BPMN)在业务社区的重要性也越显突出。建立在这两个标准上的技术旨在简化分析师和开发者之间的交流以及SOA应用的开发。但是,要把用BPMN创建的业务模型转换为用BPEL写的应用,却仍然存在很大的挑战。
BPMN标注是一组标准,描述一个应用中组成元素看上去是什么样子。随着公司渐渐学习如何使用BPMN,让业务分析师能够创建应用,BPMN已经越来越受欢迎。Gartner的研究总监Dan Sholler说:“如果漂亮的图片不但能有助于理解,还能帮助创建业务,那么对它的兴趣就会如雨后春笋般涌现。但是不管它有多好用,我认为人们可能会误以为将进入这样一个时代:画一幅图片,就能够把图片上的流程运行到大型的、跨厂商和跨技术的实例中。事实上,其中的依赖性会带来很多困难。”
BPEL的诞生之初只是Web服务标准的衍生语言,更多对BPEL的关注来自开发者。有的概念在BPMN中有,在BPEL中却没有。BPEL之所以没有包括这些概念是为了让实施变得更容易些。最简单的是loop(循环)。你可以用BPMN画一个自循环的流程。在BPEL中则是不允许的。
Gartner的Sholler指出:“BPMN这种标注语言让我们了解如何去用图标画一幅图,BPEL语言则让我们了解如何去调用流程中的步骤。而我们所亟需的是一种能将前者转化为后者的方法。”
“从BPMN转化到BPEL,已经存在普遍认可的方法。真正的困难存在于往返工程(roundtrip engineering)。我希望BPMN示意图能直接、精确地表现我的流程。BPMN示意图中的每个变化都能反应在流程的执行中;执行中的每一个变化都可以反映到BPMN示意图上。这对于许多技术来说都是个难题。”
BPMN和BPEL如何产生的?
根据Active Endpoits公司的技术战略总监MichaelRowley所说,BPMN源自一种可替代BPEL的BPML。BPML中的标注部分就是最终流行起来的BPMN。
WSO2公司的CEO兼主席Sanjiva Weerawarana曾经参与了这两个方案的起草。他说:“工作流的愿景之一就是作为一个来弥补业务和IT之间鸿沟的桥梁。业务人员希望完成某个任务的话,可能要花两年的时间来表述和实施。工作流要解决的正是这个问题。”
Weerawarana还说:“BPEL原本不是旨在成为这个桥梁。”
“BPEL原先是很明确地当作可执行语言来设计的。我们从来没有想过让非技术人员写BPEL。如果我们当初设计BPEL时就意识到这种重要性,就会创建一种可视化的标注语言。” Weerawarana说,“我们没有那样做,这是一个很大的缺憾。我们低估了工作流中可视化标注的重要性。”
BPMN就是在流程建模的需求中应运而生的。它本质上是可视化标注的一个标准。BPMN是一种更高层次的抽象,为业务人员提供所需的工具;而BPEL是一种更低层次的抽象,即如何执行计划。