jBPM5与Activiti5比较html
主要类似之处:编程
都是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)项目目标ide
据我所知,这两个项目有很不一样的观点和目标。 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)。htm