`
yanfaguanli
  • 浏览: 686142 次
文章分类
社区版块
存档分类
最新评论

深入了解JBPM5与Activiti之间的差异对比

 
阅读更多

JBPM是目前市场上主流开源工作引擎之一,在创建者Tom Baeyens离开JBoss后,jBPM的下一个版本jBPM5完全放弃了jBPM4的基础代码,基于Drools Flow重头来过,目前官网已经推出了jBPM6的beta版本;Tom Baeyens加入Alfresco后很快推出了新的基于jBPM4的开源工作流系统Activiti。由此可以推测JBoss内部对jBPM未来版本的架构实现产生了严重的意见分歧。本文试着对二者做一些比较。

<wbr></wbr>

主要相似之处:

<wbr></wbr>

 都是BPMN2过程建模和执行环境。 都是BPM系统(符合BPM规范)。 都是开源项目-遵循ASL协议( Apache的 软件许可)。 都源自JBoss(Activiti5是jBPM4的衍生,jBPM5则基于Drools Flow)。 都很成熟,从无到有,双方开始约始于2年半前。 都有对人工任务的生命周期管理。 Activiti5和jBPM5唯一的区别是jBPM5基于WebService - HumanTask标准来描述人工任务和管理生命周期。 如有兴趣了解这方面的标准及其优点,可参阅WS - HT规范介绍 。 都使用了不同风格的 Oryx 流程编辑器对BPMN2建模。 jBPM5采用的是 Intalio 维护的开源项目分支。 Activiti5则使用了Signavio维护的分支。 

<wbr></wbr>

Activiti5与jBPM5技术组成对比:

<wbr></wbr>

序号

技术组成 Activiti jBPM5

1

数据库持久层ORM MyBatis3 Hibernate3

2

持久化标准

JPA规范

3

事务管理

MyBatis机制/Spring事务控制

Bitronix,基于JTA事务管理

4

数据库连接方式

Jdbc/DataSource

Jdbc/DataSource

5

支持数据库

Oracle、SQL Server、MySQL等多数数据库

Oracle、SQL Server、MySQL等多数数据库

6

设计模式

Command模式、观察者模式等

7

内部服务通讯

Service间通过API调用

基于Apache Mina异步通讯

8

集成接口

SOAP、Mule、RESTful

消息通讯

9

支持的流程格式

BPMN2、xPDL、jPDL等

目前仅只支持BPMN2 xml

10

引擎核心

PVM(流程虚拟机)

Drools

11

技术前身

jBPM3、jBPM4

Drools Flow

12

所属公司

Alfresco

jBoss.org

<wbr></wbr>

Activiti5使用Spring进行引擎配置以及各个Bean的管理,综合使用IoC和AOP技术,使用CXF作为Web Services实现的基础,使用MyBatis进行底层数据库ORM的管理,预先提供Bundle化包能较容易的与OSGi进行集成,通过与Mule ESB的集成和对外部服务(Web Service、RESTful等)的接口可以构建全面的SOA应用;jBPM5使用jBoss.org社区的大多数组件,以Drools Flow为核心组件作为流程引擎的核心构成,以Hibernate作为数据持久化ORM实现,采用基于JPA/JTA的可插拔的持久化和事务控制规范,使用Guvnor作为流程管理仓库,能够与Seam、Spring、OSGi等集成。

<wbr></wbr>

需要指出的是Activiti5是在jBPM3、jBPM4的基础上发展而来的,是原jBPM的延续,而jBPM5则与之前的jBPM3、jBPM4没有太大关联,且舍弃了备受推崇的PVM(流程虚拟机)思想,转而选择jBoss自身产品Drools Flow作为流程引擎的核心实现,工作流最为重要的“人机交互”任务(类似于审批活动)则由单独的一块“Human Task Service”附加到Drools Flow上实现,任务的查询、处理等行为通过Apache Mina异步通信机制完成。

<wbr></wbr>

优劣对比:

<wbr></wbr>

从技术组成来看,Activiti最大的优势是采用了PVM(流程虚拟机),支持除了BPMN2.0规范之外的流程格式,与外部服务有良好的集成能力,延续了jBPM3、jBPM4良好的社区支持,服务接口清晰,链式API更为优雅;劣势是持久化层没有遵循JPA规范。

<wbr></wbr>

jBPM最大的优势是采用了Apache Mina异步通信技术,采用JPA/JTA持久化方面的标准,以功能齐全的Guvnor作为流程仓库,有RedHat(jBoss.org被红帽收购)的专业化支持;但其劣势也很明显,对自身技术依赖过紧且目前仅支持BPMN2。

<wbr></wbr>

总结:

<wbr></wbr>

虽然是比较,但不一定要有胜负,只有适合自己的才是最好的,要针对具体的项目区别对待。对我们自己的项目,其实我更关注的是流程引擎的执行效率以及性能,每小时几十万甚至上百万的流程需要执行,需要多少个服务,集群、负载的策略是什么,会不会有冲突?目前这方面的资料还是比较少的,很多问题只有实际遇用到的时候才会去想办法解决。不过就我个人的感觉而言,Activiti上手比较快,界面也比较简洁、直观,值得一试,不过jBPM6的beta版也已经出来了,不知道会有什么变化,有兴趣的也可以试下。

Jbpm课程下载地址:http://www.kuaipan.cn/file/id_192202874577496451.htm?source=1

Activiti下载地址:http://www.kuaipan.cn/file/id_192202874577496527.htm?source=1

分享到:
评论

相关推荐

    【转载 见附件】纵观jBPM:从jBPM3到jBPM5以及Activiti5

    文件名为"纵观jBPM:从jBPM3到jBPM5以及Activiti5.doc",与标题一致,预示着文档内容会深入探讨jBPM的历史发展,以及在不同版本中的演变,同时可能有对比Activiti5的部分。 **详细知识点可能包括:** 1. **jBPM3**...

    纵观jBPM:从jBPM3到jBPM5以及Activiti5.doc

    【jBPM5与Activiti5的对比】 jBPM5在设计上更注重面向业务人员,增强了BPMS特性,如支持BPMN2.0标准,提供业务规则集成,以及更强大的流程模拟和监控能力。与此同时,Activiti5作为jBPM的一个分支,保留了jBPM4的...

    纵观jBPM:从jBPM3到jBPM5以及Activiti5

    TomBaeyens离开的具体原因尚不清楚,但他的离开产生了两个结果:一是jBPM的下一个版本jBPM5完全放弃了jBPM4的基础代码,基于Drools Flow重头来过;二是TomBaeyens加入Alfresco后很快推出了新的基于jBPM4的开源工作流...

    工作流bpmn\jbpm\activiti的3个学习指南

    然后,可以通过阅读jBPM和Activiti的官方文档,了解这两个引擎的特点和用法,以及如何在实际项目中部署和使用它们。实践是学习的最佳途径,可以尝试设计简单的流程模型,逐步过渡到更复杂的场景,同时结合代码示例...

    jbpm4jbpm5

    以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. **jbpm4表结构和表字段说明**: jbpm4.3表结构和表字段说明文档通常会详细介绍jbpm4中涉及的数据库表,包括实体如任务实例(TaskInstance)、流程...

    JBPM与Activity分析.doc

    本文将对JBPM和Activiti进行深入的分析,并与国内的工作流引擎FixFlow进行对比。 #### 二、JBPM与Activiti对比分析 ##### 2.1 架构特点 **JBPM架构** JBPM采用了模块化的设计思路,其架构主要包括以下几个部分:...

    JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z

    JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一)...

    JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z

    JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二)...

    基于jbpm与activiti的工作流平台技术架构介绍

    ### 基于jbpm与activiti的工作流平台技术架构介绍 #### 一、宏天BPM X3软件平台概述 宏天BPM X3软件平台是一款基于J2EE技术的开源、轻量级的企业业务开发平台。该平台旨在帮助用户以最快的速度梳理、设计、执行、...

    深入浅出jBPM 5,6章

    《深入浅出jBPM 5,6章》是一本专为理解jBPM这一流程管理系统而精心编写的书籍。jBPM是一个开源的工作流管理系统,它提供了业务流程建模、执行、监控和优化的全面解决方案。这本书的第5章和第6章尤其关键,它们涵盖...

    jbpm和shark工作流引擎对比.doc

    jbpm和shark工作流引擎对比 本文对jbpm和shark工作流引擎进行了深入的比较,涵盖了稳定性、易用性、灵活性、可监管性、扩展性和可维护性等多方面。工作流引擎是企业信息化建设中非常重要的一环,选择合适的工作流...

    jboss jbpm 5 developer guide

    本书作为学习jBPM5的入门教材,帮助开发者理解并运用BPM的基础概念,同时深入学习jBPM5框架的高级功能。 本书的开篇提到,学习BPM或是保持对最新技术变化的了解从来都不轻松,有时甚至可能遇到困难。因此,作者通过...

    jbpm-demo-master.zip_DEMO_activiti-master_jbpm-demo_mean3x7

    - 集成jbPM/Activiti与Spring、Hibernate等Java框架的方法。 - MEAN全栈开发:了解MongoDB的数据模型,Express的路由和中间件,AngularJS的双向数据绑定,以及Node.js的异步编程。 - 流程引擎的部署和生命周期管理。...

    JBPM4与JBPM5工作流系统技术可行性分析

    ### 工作流系统技术选型可行性分析:JBPM4与JBPM5 #### 一、引言 在数字化转型的背景下,工作流系统成为提高组织效率的关键技术之一。医院作为一个复杂的组织机构,其内部流程的优化对于提升服务质量至关重要。...

    Activiti5 jbpm 工作流 数据库 表结构.docx

    Activiti和jBPM是两个流行的工作流管理系统,它们用于自动化业务流程。这些系统与数据库紧密集成,通过一系列特定的表来存储流程定义、执行、历史数据等信息。以下是关于这些数据库表结构的详细说明: 1. **ACT_GE_...

    工作流插件 jbpm activiti

    工作流插件 activiti-5.15.1 jbpm-4.3 jbpm-4.4 jbpm-jpdl-suite-3.2.3

    jbpm5环境配置、中文文档

    **jbpm5环境配置** jbpm5是一款开源的工作流管理系统,它提供...总之,jbpm5是一个功能强大的工作流管理系统,通过合理的环境配置和深入理解其用户手册,开发者能够有效地利用jbpm5来设计、实施和管理复杂的业务流程。

    JBPM5 整合Spring3经典案例

    这个经典案例对于学习和理解JBPM5与Spring3的整合非常重要。通过阅读文档和实践案例,开发者可以了解如何在实际项目中实现两者的结合,提高流程管理的效率。同时,详细的使用说明可以帮助解决过程中遇到的问题,加速...

Global site tag (gtag.js) - Google Analytics