经过两年的开发,Bonita项目组发布了Bonita 4.0(也就是Nova Bonita)。Bonita 4.0基于PVM技术,可作为一个轻量级的BPM产品部署,运行在JSE和JEE平台上。Nova Bonita为BPM的开发和执行环境提供了一个集成的图形化环境,其中包括三个模块:
最终的发版说明里提到:
版本4.0对4.0RC3的运行时模块进行了细微的功能增强(部署单个XPDL文件,活动多实例清理,日志级别调整,迭代和子流程重构,包级别和流程级别的版本化……),对设计器和控制台则进行了重大的改进和新功能添加。
InfoQ借此机会向Bull的BPM主管Miguel Valdes问了几个问题,问题涉及最新版本和Bonita对BPM市场的想法。
InfoQ:Tom Baeyens(JBoss jBPM)曾描述,流程虚拟机对需要嵌入式工作流的应用来说是很理想的——对Bonita的用户来说,你是不是也这样认为?
肯定是的,这就是我们两年前决定建立流程虚拟机技术的原因。Bonita 4.0现在可以嵌入到任何已有的应用中(作为BPM库),也可以作为传统的BPM服务器进行远程部署。
从这个意义上讲,Bonita 4.0配备了一个Eclipse插件,可以轻松地开发BPM流程和相关的Java连接器。这个插件可以很容易地添加到开发人员的Eclipse开发环境中,来加速BPM应用的开发。Bonita 4.0还提供了一个强大的、符合Web 2.0的BPM控制台来提升用户体验,所以说它不仅仅是针对开发人员和技术架构师的。
InfoQ:你们是否对Bonita 4.0如何支持工作流模式倡议的各种观点做出了评估?
我们在Bonita 4.0中还没有重新评估工作流模式支持,但我要说,我们在该版本中已经改进了这一点。在4.0中实现了v3中可用的主要概念和功能,除此之 外,Bonita 4.0还进行了从无到有的重新构建。此外,我们还增加了对新功能和模式的支持(即活动的多实例)。
InfoQ:“基于模式的开源BPM系统评估报告”(InfoQ先前报导过)的作者提到,开源工作流产品一般更适合于开发人员,而非最终用户。你对此有什么看法呢?你觉得Bonita 4.0中新的设计器和控制台是否使它更易于被业务分析师理解呢?
正如Gartner在它们最近的BPM Magic Quadrant调查中指出的一样,一个成功的BPM部署会涉及不同的用户和不同的用户配置。不同的用户配置中包括业务分析师。这一思想与Bonita 4.0背后的新技术会加强这些不同用户配置间的合作。Bonita 4.0发布的第一目标人群是开发人员和技术架构师,而分析师工具在后续版本中才会推出。
我们的下一步动作是成为针对最终用户的BPM开发Studio(同时涵盖非技术用户配置和技术用户配置)。带有特定视图的简单BPM编辑器(“按Visio/PowerPoint的风格”)允许用户间的“重复”。那些视图不会特定于“每个用户配置”的基础之上(分析师、架构师、开发人员),但却基于“每个功能”(建模、执行)。主要视图(建模)将基于一个简单的“方框”和“箭头”面板,允许“方框”生成描述和文档信息。
InfoQ:你能给我们介绍一下Bonita 4.0中流程和包的版本化这一新特性吗?
4.0中,我们能让用户有针对流程版本化的大量灵活性。最终用户可以部署、利用同一流程的两个或更多版本。一旦部署了一个新的版本,新实例就会接管,而进行中的实例则会使用先前的版本完成它们的执行任务。
在后面的版本中,我们将允许运行实例从一个版本自动迁移到另一个版本。此功能将在流程虚拟机级别添加,而且要求应用管理审批。自动迁移不能100%地覆盖用例,但我们对至少70%的用例有用还是有信心的(两个版本之间的大部分更新关注于活动和迁移的添加/删除操作)。
除了流程级别的版本化,Bonita 4.0还在资源库/包级别提供版本化支持。资源库或包能包含一或多个流程定义,因此也可以版本化。
InfoQ:Bonita继续提供强有力的XPDL支持。XPDL的现状如何?你是否了解到XPDL有大量的市场需求呢?
好问题。Bonita从其初期开始就一直对XPDL提供标准的支持。该标准在过去的几年里一直在发展,以涵盖像流程、流程通信、事件支持这些尚缺的功能,特别是它已成为绘制BPMN符号的语法。请注意,前十名商业BPM供应商中有七家都支持XPDL。
我不会参与“什么是最好的BPM标准”这一争论,因为我真的认为这并不是用户关心的问题。用户只是寻求功能、性能、部署、稳定性……而有时一些供应商却忽略的这一点:-)标准确实很重要,作为供应商,你也必须遵循这些标准,但这却不是主要的差异化。
这是我们决定创建流程虚拟机(PVM)技术的原因之一。除了其它关键的功能外,PVM允许支持多个标准。我们已经在Bonita 4.0中添加了对XPDL的支持,我们很快会在Orchestra 4.0中发布BPEL 2.0扩展(同样由Bonita团队开发),JBoss目前也在增加对JPDL的支持。
PVM技术是语言无关的,我认为这一点很棒,尤其是如果在今后几年里出现新的标准!
InfoQ:商业供应商Intalio最近撰稿说BPEL已经“赢得了标准之战”。你对此有何看法?
这仅仅是一个“哗众取宠”的帖子。我始终认为,如果有不同的流程语言,这可能意味着其中的每一个都针对某一特定的需求。不过在处理BPM时,我并不认为 BPEL是促进业务人员和技术人员之间合作最好的流程语言,主要是因为BPEL创建时并没有考虑这一点,而它是为了编排Web Services才创建的。
跟其它供应商一样,Intalio将BPMN+BPEL推为BPM的“解决方案”。他们在复杂的转换上花费了大量的时间和金钱,却不能满足100%的用例(它仅仅是尝试用Intalio BPMN设计器定义一个非结构化的图,并浏览下生成的BPEL文件:-))
另一个明显的例子是使用BPMN与BPEL和BPEL4People扩展来处理人类交互的复杂性。你认为对最终用户来说,通过将功能步骤分解为多个技术步骤,在流程中定义一个用户交互步骤(又名任务)是不是清晰的呢?
如果你使用Intalio编辑器,这就是确实发生的:你必须将流程中的一个功能步骤(一个任务)分解为四个不同的步骤:其中两个在“可执行池”中定义(其中一个会生成BPEL代码),另外两个在“非可执行池”中定义。你认为这种方法对用户友好吗?来吧,伙计!
InfoQ:你认为BPM在SOA中扮演什么角色?
这个时候BPEL对我来说更有意义。在一个基于SOA的架构中,可以利用独立的BPEL引擎由BPEL流程处理服务编排,或者在一个ESB解决方案的上下文中处理服务编排。这将是Orchestra 4.0的首要目标。
BPM不仅仅是SOA的关键一部分。还有许多应用,其中纯粹的BPM方法仍然要比仅仅在应用中编写代码有用,这是Bonita 4.0的主要目标。
InfoQ:以后有在Bonita中集成规则引擎功能的计划吗?
有。规则引擎已可以插入到Bonita 4.0中。角色/组、用户、IS连接器(Hooks)之间的映射(Bonita Mappers)可以与规则引擎交互。在下一个版本中,我们会集成规则引擎来提供这一功能的开箱即用。
规则支持在迁移情形下也很有用。对于此,Bonita 4.0目前使用脚本语言,并提供了一个迁移情形的图形化编辑器,但我们还计划增加对规则的支持。
可在这里下载Bonita 4.0,它在LGPL许可下发布。
查看英文原文:Nova Bonita - Bonita 4.0 Released.