现在的位置: 首页 > 综合 > 正文

JBPM3与JBPM4

2013年12月07日 ⁄ 综合 ⁄ 共 1009字 ⁄ 字号 评论关闭

前言

在前面的博客中我有对JBPM及其历史进行了简单的介绍,而且还对JBPM4的配置使用进行了简单的讲解,但是该OA视频当中使用的是JBPM3,下面我们就对这两个版本的JBPM进行一下比较。

 

正题

1.共同点

   在前面的博客中有介绍到说Jbpm的发展历史,即在Jbpm5之后进行了全面改革,整体核心思想换成了DroolsFlow,从这点来说,Jbpm3Jbpm4的核心机制是一样的。

 

2.不同点

1jbpm4引入了PVM(ParallelVirtual
Machine
,并行虚拟机)的概念。

 

2jbpm4提出了两个目标:

a.改进可支持性:通过持续集成,对所支持的产品环境、配置提供更好、更长期的支持保证。


b.降低门槛,提升应用率:区分公共基础型应用和高级定制化应用两种应用模式,让前者上手更快,后者也能减少开发难度。

 

3)全新API

   jbpm4相对于jbpm3来说整个项目几乎重写:新的流程定义语言、新的引擎实现、新颖的PVM概念、新的配置方式、全新的开发接口、全新的数据库结构...但是都遵循2)中的两个目标。

 

   但是通过devguide提供的变更表,再结合新的JBPM4.1发布包的内容,可以发现,从JBPM3到JBPM4,真正的变化仅仅是:

 

1、流程定义语言的模型没有改变,只是部分元素的命名发生变化

 

2、流程执行引擎的算法没有改变,只是对原有引擎进行了优化,去掉了冗余的roottoken。JBPM4出来后,包括在JavaEye里,有不少的文档探讨了JBPM引擎的变化,有的文章分析说其核心引擎的调度机制完全不同了,这是不对的,因为还是Token机制,只是换了个名字(Execution),加上一定的优化(或称简化)。

 

3、流程引擎的事件机制没有改变,只是改变了默认的事件触发范围

 

4、整个数据库结构完全改变,甚至前缀变成了JBPM4,目的是希望能够跟JBPM3的表不发生冲突,甚至能够两个版本并行运行。其实数据库结构的巨大变化,是第2点变化、以及其他冗余消除的自然结果

 

5接口的变化,文档的调整和重写,只是为了更好的针对公共普通型应用和高级定制型应用,降低二者的开发难度。

 

3.小结

   对于这些理论性的概念还没有特别深入的理解,但是在应用层的感觉来说,就是“流程没变,变得是实现方式”,所以不管使用3或者4掌握了它的使用流程(建表,部署流程,绑定实例,流转流程)那么jbpm就不会那么遥不可及了。

抱歉!评论已关闭.