jBPM5与Activiti5比较

74 篇文章 0 订阅
64 篇文章 0 订阅
本文对比了jBPM5和Activiti5的相似之处和差异,包括项目背景、社区、目标及发展方向。两者都是BPMN2的建模和执行环境,源于JBoss,但在公司支持、社区活跃度、项目目标和未来发展上有不同侧重。选择取决于项目需求和对BPM系统的熟悉程度。
摘要由CSDN通过智能技术生成

jBPM5与Activiti5比较

主要相似之处:

  • 都是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维护的分支。

主要差异之处:

  • 技术支撑公司/商业模式
  • 项目负责人/技术社区
  • 项目的目标
  • 选择的标准

基于上述四点以及个人或公司的需求,可以花些时间来判定:那一项目最符合你项目的需求!

需要说明的是,如果是学习新技术的Java开发人员,开发第一个应用程序或尝试理解业务流程管理系统,可以利用这种比较优势。值的注意的是了解这两个项目将有助于提高技能、学习最佳实践、结构设计、应用开发的新方法、好的规范和好的(团队)协作方式。请选择其中之一,当理解其中之一的概念时,以便适应另外一个(项目),但须学习新的API,适应和学习更广泛的一些概念。

1)项目支撑公司/商业模式

这两个项目都依据ASL(Apache软件许可证)发布,从许可角度来看完全一样。 没有任何限制。其次,如为学习新东西的开发人员,,它们都将非常合适。 如果没有太多关于业务流程管理的专业知识,二者看上去都差不多。

据我所知,红帽/ JBoss的业务有关的服务,其支撑费用来自销售服务和支持。如果你想在RedHat花钱,可购买SOA平台的全部支持服务。然而,截止目前你无法购买严格的jBPM支持。 这可能是一个很大的优势,这意味着如果您购买红帽的支持服务,您将获得完整的中间件支持服务。 红帽是一家专业提供该服务公司。

我曾为Alfresco的CMS工作,了解其社区以及围绕CMS的业务,但我仍对他们的Activiti5业务计划困惑。 作为一家公司,他们可以将Activiti5嵌入在CMS项目内运行,如同jBPM3一样,也可以提供有关业务流程管理系统解决方案的有偿服务。 在官方网站(www.activiti.org)上,他们没有提过什么Alfresco的Activiti5有偿服务。 我不知道Alfresco公司是否计划在不久的将来提供它们。

2)项目负责人/社区

众所周知,了解JBPM4.x历史的所有社区成员基于相似的代码库和配置转移到Activiti5。 所以,jBPM 4.x和Activiti5的社区是相同的。

jBPM5的社区成员可能多为想获得Redhat/JBoss官方支持的jBPM3.x的用户,或为理解基于规则引擎的BPM系统优势的新用户。Drools Flow的社区成员及其用户,很容易移植他们的应用到jBPM5,社区对移植工作的准备工作已经完成,且开发了针对jBPM3.x的迁移工具。

可从这里获得许多关于jBPM5的资源链接:http://blog.athico.com/2011/01/recent-jbpm-5-blogs-articles-videos-and.html

如有特定的主题或你想阅读的有关主题,请随时给我写信。我真的很喜欢写关于jBPM5和Drools的东西,做比较是有趣的事情!

现在,jBPM5是一个从Drools Flow分出的独立项目,但与规则引擎高度集成。 该项目的负责人 Kris Verlaenen,在做一个伟大的尝试:在月末发布第一个稳定的版本【译者注:实际上在本文编译时,jBPM5正式版已经发布】。

而Activiti5这一方, Tom Baeyens 和Joram Barrez 正在做一个出色的工作:试图使他们重构的BPM系统获得关注和接纳!

3)项目目标

据我所知,这两个项目有很不同的观点和目标。 Activiti5团队为用户的接纳而拼搏,而jBPM5团队则为改善观念,为伟大的功能和灵活性而奋斗。

由于不同的目标和发展方向,无法说那一个比另一个好。若为接受度而拼搏,则专注于沟通、工具和整合上。接受度的发展方向具有较短的发布周期和稳定的产品交付。

若计划中包含从未开发的特性,那么就需要较长的发布周期。从我的角度来看,Drools Flow是一个创新项目,从重新设计,以及规则引擎与BPM之间的相互作用,提供了更丰富的功能和很大程度的灵活性,来为真实应用建模。

现在,jBPM5是一个比较普通的项目。 现正在做的相关工具和演示工作,展示常见的用法。jBPM5第一个稳定版本发布后,将在未来几个月后变得非常好。

4)发展方向/选择标准

没有简单的答案。 如您正寻找一个简单的轻量级的业务流程管理软件二者都适合。若是第一次体验业务流程管理,无论选择哪一个,都会快乐,都会有麻烦。

如果想加入一社区为项目做贡献,二者都可以。对于Alfresco社区,我无法给出建议,因为我并未深入其中,但看似很活跃,jBPM5的社区也是一个相当活跃的社区--作为Drools和jBPM3社区合并的结果,你会看到在论坛和IRC频道中的活跃程度很强。

你可能自问的重要问题

我正在为今后几年选择一个业务流程管理系统或它仅是一个小项目?

如果这个问题的答案是:

  • 我刚开始 或 我将创建一个简单的Web应用程序,显示了基本的功能 或 应用程序将不被大量用户使用 或 应用将不被组织看重 或 我们没有复杂的业务流程我们没有复杂的业务情况, 这两个项目都将正常工作 。
  • 我需要建立一个中等规模的应用,广泛应用业务流程,业务流程不很复杂(不超过20项活动,没有太多的特殊分支)和应用系统对公司并不重要, 这两个项目将工作良好 。
  • 我需要建立一个新的架构,使我有最大的灵活性来表达复杂/现实生活中的情景 , 我理解规则引擎的威力,我理解其与BPMS结合的优势(统一处理业务流程和业务逻辑,使用相同的API,尽可能被视为声明),那么你真的需要尝试jBPM5! 这不是常见的情况,通常只有高级用户已经开发了超过一个BPM应用,才会关注这些优势。 如果你不知道如何利用规则引擎的能力,这两个项目将给你同等的功能。 如果你分析了业务流程管理系统的共同特征,这两个项目之间没有明显的优势。 当你开始了解规则引擎的的优点和能力,或当你真的需要一个规则引擎与工作业务流程管理系统协同工作时,你清楚地知道未来两年内该如何选择。

结论

正如上文所述:
 
你可以选择jBPM5或Activiti5,都将让你实现业务流程管理需求的主要目标。 两者都是开源和基于ASL许可的。
 
如果你不仅是想采用新技术,你已经面临一些jBPM3/jBPM4或旧的OSWorkflow的BPM实现问题,你可能会注意到或知晓规则引擎结合业务流程管理系统的优势所在 。 若如此,请关注jBPM5以及和  Drools的集成,您可能会感到惊讶。 如果你想了解利用业务流程管理系统和规则引擎结合设计的应用,您可以看看本文关联的帖子。 请注意,Drools+ jBPM5为您提供一个声明式编程的完整平台,将为你的应用增加许多重要的特点,诸如CEP引擎的优点以及集中式业务资产库(Drools Guvnor)。
 
宏天BPM X3软件平台是一个易于部署和使用的新一代业务流程管理平台,能够以最快的速度帮助您梳理、设计、执行、监控分析和优化业务流程,从业务和IT相结合的完美视角为用户组建长期而久远的卓越BPM流程管 理架构。通过实施BPM方案让您的企业在运营效率、透明度、控制力和敏捷性方面迅速受益。 BPMX3是基于J2EE开源、轻量级的企业业务开发平台,基于代码重用、组件重用、业务逻辑重用、组装重用,结合快速开发平台中的工具,将开发人员从重复的代码编写中解放出来,把更多的精力集中解决客户的业务逻辑处理上。 BPMX3是支持流程管理、监控、优化、再造的全套IT管理开发平台,并且集单点登录、企业单位门户、业务流程管理、开发、整合、业务分析及重构等多重职能于一身的软件开发工具和企业IT架构平台。 BPMX3是企业管理业务的创新关键,可以帮忙用户更科学、更有效管理企业业务的各个环节,企业通过BPMX3可以明显实现业务的高效运营。同时,由于其架构的开放性,采用业界开放性的技术及流程标准,使其能够成为企业SOA架构的流程基础平台及开发平台,越来越多的企业更偏向采用开源的平台来解决其内部的信息化平台的要求,BPMX3却允许更多的平台系统接入及自身扩展更多的功能,以满足更多的企业不同的个性化的需求,以达到最大满足最终的客户使用要求。 【图一】工作流引擎中心 1.BPMX3的特点 1.是一个开放式、轻量级的开发平台 2.BPMX3多层系统架构 3.基于模板代码生成 4.丰富的报表展示 5.跨数据库的数据访问支持 6.简易的前端使用 7.参照最新的BPMN2标准设计 8.满足中国特色流程需求 9.在线的可视化流程设计、可视化的流程监控 10.完全独立的流程引擎服务,可与其他系统无缝集成 11.基于流行的JAVA 流程引擎Activiti 5.8扩展 12.灵活的在线流程定义 13.灵活的嵌入式部署、独立部署 14.灵活的在线表单定义及版本管理(支持按内表及外部表及视图生成表单) 15.灵活的第三方表单集成 16.开放式的流程体系 17.灵活的组织结构支持 18.流程的导入与导出 19.子流程支持 20.流程任务逐步回退处理(任务追回及多驳回 ) 21.流程自由跳转 22.流程跳转业务规则设置 23.多级分发任务与任务汇总 24.会签(并行与串行)、补签及投票处理 25.流程版本变更管理 26.流程催办(基于MQ短信及邮件设置) 27.流程任务的工作日设置(用于统计流程任务执行效率) 28.任务监控管理 29.流程委办、转办 2.BPMX3多层架构 系统采用多层的系统架构进行功能开发,有利于代码功能责任分开,同时有利于不同开发人员的分工及合作,也有利于代码的单元测试。系统总体结构如下图所示: 【图二】BPMX3多层架构 •数据访问层Dao: 负责与数据库交互 •业务处理层Service: 负责系统的所有业务逻辑处理 •数据控制层Controller: 负责系统的页面数据准备及跳转处理 •视图层View :负责数据的展示处理 整合的开源技术 1.Spring Core 3.0.4 2.Spring MVC 3.0 3.Spring Security 3.0.5 4.Spring AOP 3.0.4 5.Apache Active MQ 5.5 6.MyBatis 3 7.CKEditor 3.6 8.JQuery 1.8 9.CXF 2.0 10.Alfresco Activiti 5.8 11.Compass + Lucene 12.JasperReport 4.5 13.JavaMail 14.Other: Log4j,Velocity,Sitemesh,Jfreechart,Jforum,Solr 15.Maven 2 3.BPMX3的组件构建方式 BPMX3同时也是基于组件构构建,整个系统的构建如下所示: 【图三】BPMX3组件构建 系统提供在线流程设计器,在线表单设计器,代码生成器,结合BPMX3的基础组件,以实现复杂的流程业务应用。基础组件包括: Spring基础组件库,报表引擎,数据库访问模块,短信模块,后台定时任务调用组件,短信访问组件,搜索引擎组件,JMS消息组件,Activiti工作流组件,Cas统一用户认证组件,Spring安全认证组件。 4.BPMX3总体功能 1.多系统管理 BPMX3支持多个业务系统同时运行及切换处理,根据不同的用户授权允许用户进入不同的系统进行访问,而不同的业务系统的开发可以基于BPMX3平台上开发,也可以由其他开发框架开发再与BPMX3做整合。这种模式非常适合企业把BPMX3作为其内部的首先开发平台,以使后续的新应用系统都整合在一起进行管理及使用。 【图四】多系统管理 2.用户管理 BPMX3提供多种维度的用户人员管理,以支持各种类型的组织机构及人员的统一管理,目前可以支持内部组织、外部组织 、虚拟组织。而且还提供用户的属性自定义,允许对用户进行多种属性的扩展,以支持工作流中的任务节点的人员的复杂查找计算。 3.系统安全管理 系统的安全管理由Spring Security 3提供配置及管理,非常容易与第三方的用户或认证平台进行整合,如与CAS服务器作统一认证,只需要加上新的配置模块即可实现,不影响系统现有的功能模块。大大满足了各种不同系统的安全管理认证的需要。 同时系统可以支持URL访问权限、数据权限、列权限及页面按钮权限的统一配置管理。系统的安全认证机制如下所示: 【图五】系统安全拦截原理 4.动态表单管理 BPMX3提供了基于数据库内部表、外部表、视图等来生成在线的流程表单的功能,其生成是基于模板,模板可由开发人员进行自定义,也可以采用BPMX3提供的默认模板。生成的表单后,系统管理员还可以对表单进行编辑管理以实现企业的业务要求,其中,还允许开发人员在表单上编写编写脚本,以实现更复杂的应用。 表单上支持系统中的大量组件,如角色选择,用户选择,角色选择,在线表单,套红在线Office表单,签章表单等。系统开发人员几乎不用作任何开发,可以设计出任何复杂的表单应用需求。 表单上支持系统中的大量组件,如角色选择,用户选择,角色选择,在线表单,套红在线Office表单,签章表单等。系统开发人员几乎不用作任何开发,可以设计出任何复杂的表单应用需求。 【图六】在线动态表单 5.流程管理 BPMX3提供了基于BPMN2标准的流程管理,包括流程版本变量,流程节点表单设置,表单的权限设置,流程任务通知,催办,代办,转化,并行会签、串行会签、补签,子流程,同步任务,多实例任务,人工任务、消息任务、邮件任务等,任务多级分发与汇总、任务追回、任务层层驳回,任务自由跳转等中国特色的流程需求。能满足企业复杂的流程应用需求。 BPMX3在流程管理上,不但能结合在线设计的复杂表单,还能结合本系统或其他系统其他模块的功能表单一起进行业务审批的工作。这大大方便了业务流程在所有的系统中进行流程开发的工作,简化了以往开发流程业务的代码固死的做法,把程序员或业务员真正从流程业务中解放出来。 【图七】在线流程管理 【图八】在线流程设计 6.报表管理 系统的报表管理是基于模板来进行设置管理的,目前支持FineReport及Jasper Report两种报表引擎,前者是商业报表,其功能非常强大,可以实现多样式数据呈现方式,支持HTML、PDF、EXCEL、Word、TXT、Flash样式呈,能完美解决中国式报表难题,无论数据库内原始数据是以何种样式的表结构存储,无论最终用户要求数据以何种表格样式显示,FineReport报表软件独创的多数据源关联查询、公式动态扩展计算等强大的功能,在无需改变表结构,无需改变用户的要求的基础上,完全按照用户的需求制作出报表模板。 【图九】报表管理 7.系统基础组件 系统的基础组件如用户模块一样,是系统的业务功能的基础,在其他业务模块中被大量使用。 ◦定时任务管理 通过配置以实现某时刻重复执行的系统任务,如配置每月最后一天进行库存清算任务,并且启动库存清算审批流程。 ◦系统日志管理 记录进入系统中的每个用户访问的每个功能 ◦数据源管理 可以设置多种数据源,为在线表单设计及展示提供数据来源 ◦资源管理 管理系统的所有资源,包括URL,业务方法等,提供给安全管理进行极限配置 ◦流水号管理 用于产生业务的一些处理流水单号 ◦数据字典管理 用于管理所有的业务中常用的数据字典的数据 ◦附件管理 管理系统中所有的上传附件。 ◦桌面管理 管理用户的桌面布局及常用的功能展示 ◦邮件、短信模板管理 用于配置系统的发送邮件、短信的模板 ◦工作日历管理 用于配置系统的工作流的待办事项的处理工作时间的计算处理 ◦动态脚本管理 用于为流程任务节点或事件中可被调用的逻辑计算代码 ◦短信收发管理 基于USB短信猫的短信模块或短信网关,以实现收发手机短信功能。 ◦外部邮件管理 支持POP3,IMap协议的邮件服务收发功能,允许用户设置多个外部邮箱。 ◦内部短消息收发管理 在系统中用户之间可以收发短消息,如工作流任务的通知也采用短消息进行实时提醒。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值