前段时间对 JBoss jBPM 做了不少时间的研究和学习,这几天,作为比较与参考,继续研究了一下另外一个新兴的开源工作流系统 Nova Bonita BPM。
前不久,Bonita 发布了它的最新版本 Bonita 4.0 。Bonita 4.0基于 PVM (Process Virtual Machine) 技术,可作为一个轻量级的BPM产品部署,运行在 J2SE 和 J2EE 平台上。Nova Bonita 为 BPM 的开发和执行环境提供了一个集成的图形化环境,其中包括三个模块:
1. Nova Bonita运行时模块:Nova Bonita流程引擎。可以通过提供BPM服务的丰富API对流程进行部署、执行和监控。
2. Nova Bonita控制台:一个Web 2.0图形界面,在BPM部署、执行和监控阶段提升用户体验。
3. Nova Bonita设计器:BPM开发环境允许对流程、与已有系统集成的BPM连接器进行图形化定义。
Bonita 似乎也是跟上了开源工作流系统的潮流,类比一下 jBPM jPDL 也包含有:
1. jPDL的核心程序包(jbpm-jpdl.jar)
2. Graphical Process Designer插件(jbpm-jpdl-designer-3.1.2.zip)
3. jPDL身份包(jbpm-identity.jar)
4. jPDL Web控制台(jbpm-console.war)
工作流,或者用一个更大的称呼 BPM,要解决的问题就是现实工作中的业务流程,最初级的工作流引擎一般都是某个具体标准 XPDL 或者 BPEL 的实现,我们可以在这个引擎中执行标准的 XPDL 和 BPEL 的流程定义,这个引擎无论是 jBPM 还是 Bonita 都有提供。但是如果要普及工作流的应用,一个比较重要的方面就是设计器,这方面对于开源工作流来说,一直都是弱项。而这个方面对于大型的商业工作流提供商来说,都会做的比较人性化,比如 BEA AquaLogic BPM Suite 中就提供了一个供 BA 设计流程的
BEA AquaLogic BPM Studio for Business Analysts,和一个给开发人员使用的 BEA AquaLogic BPM Studio for Developers。而开源的工作流在这方面,只是处于刚刚起步阶段,jBPM 的设计器用起来还是很别扭,Bonita 估计也不会特别理想。
jBPM 和 Bonita 这两个开源工作流的最新版本都开始基于 PVM,Process Virtual Machine 的设计,这样的设计实现了更高层次的抽象,允许工作流引擎在相对较小的调整下去支持新的标准,这样就使得工作流引擎的变得灵活易于扩展。
在当前阶段,Bonita 主要还是放在对 XPDL 的支持上,虽然当前 BPEL 被炒的很火,但是基于人工交互的工作流, XPDL 仍然是首选。
在规则引擎的支持方面,规则引擎已可以插入到Bonita 4.0中。角色/组、用户、IS连接器(Hooks)之间的映射(Bonita Mappers)可以与规则引擎交互。在下一个版本中,我们会集成规则引擎来提供这一功能的开箱即用。规则支持在迁移情形下也很有用。对于此,Bonita 4.0目前使用脚本语言,并提供了一个迁移情形的图形化编辑器,但我们还计划增加对规则的支持。这点和 jBPM 也是比较类似的,当前都只提供了基于脚本的规则支持,jBPM 当前使用的是 Bean Shell。当然,能支持开源的规则引擎 Drools 也是不错的选择。
总的看来,当前主流的开源工作流都已经基本完成了比较成熟的底层引擎,正在向着流程设计器等方向发展。另外一个方面,这些开源工作流提供的引擎相对也比较初级,没有针对行业或者具体业务进行优化,如果我们要定制自己领域的工作流,有时候还要做不少其他方面的工作。在流程设计方面总的说起来,开源工作流并不具备优势,开源工作流产品一般更适合于开发人员,而非最终用户。当然,如果我们选定了某种工作流产品后,在自己的产品领域方面积累一些二次开发的产品和经验,也是一种可行的选择。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8485249/viewspace-475125/,如需转载,请注明出处,否则将追究法律责任。