jbpm 6 vs activities 5评估(持续更新、亲测实际项目评估)

摘要:
最近,我们有一个使用jbpm6.2的批处理模块(6.2是一个重大里程碑)。因为大BOSS总是太重,我们希望有一个更轻量级的解决方案,因为我们基本上没有实际流程的概念,只有静态流程图,因为我们一直忙于其他事情,所以本周,我们正式开始研究jbpm的一些细节(在过去几年中,我们接触了许多受支持的项目,但更多的是为了解决一些故障问题,我们不熟悉过程类)。顺便说一下,我学习了jbpm。jbpm的总体技术堆栈由用户级别组成,如下所示

最近我们有个使用了jbpm 6.2(6.2是一个较大的里程碑)的批处理模块,因为大BOSS一直觉得太重了,希望有更加轻量级的解决方案,因为我们基本上没有真正意义上流程的概念,只有静态的流程图,因为一直忙于其他事情,于是这周才正式开始研究jbpm的一些细节(前几年很多支持的项目中也接触过,不过更多的是解决一些故障类问题,本身对流程类的不感冒)。顺便研究了下jbpm。

jbpm的整体技术栈从用户层面组成如下:

jbpm 6 vs activities 5评估(持续更新、亲测实际项目评估)第1张

activiti技术栈:

jbpm 6 vs activities 5评估(持续更新、亲测实际项目评估)第2张

bpmn web设计器:https://bpmn.io/,集成Activiti Modeler到项目中,可以参考http://whatlookingfor.com/2016/10/11/activiti%E5%85%A5%E9%97%A8%E5%85%AD-%E9%9B%86%E6%88%90%E6%96%B0%E7%89%88Activiti-Modeler%E4%B8%8ERest%E6%9C%8D%E5%8A%A1/index.html。

http://www.kafeitu.me/activiti/2013/03/10/integrate-activiti-modeler.html

模型只要符合bpmn2规范即可,不一定要使用activiti自己的设计器进行设计。数据库可以中自己的DAO替换activiti实现,只要接口一致即可,REST也一样,可以用应用自己的管理界面。支持web基于bpmn2的流程设计器。

jbpm 6 vs activities 5评估(持续更新、亲测实际项目评估)第3张

jbpm的整体技术栈从实现层面组成如下:

jbpm 6 vs activities 5评估(持续更新、亲测实际项目评估)第4张

在实际应用中,几乎很少有直接使用jbpm kb的,一般都是集成到ERP或者portal中,不过是整合深入的问题,整合深入的可能只需要设计工具得到bpmn流程图以及通过api调用运行时的一些功能。整合不深的可能就流程的流转直接依赖于jbpm提供的整套方案。 

jbpm 6 vs activities 5(不过activities是jbpm之后创始人分道扬镳新搞的,这个很早就知道了,跟mysql和mariadb一样):

jBPM 6
 
jBPM 6 is the latest community version of the jBPM project.  It is based on the BPMN 2.0 specification and supports the entire life cycle of the business process (from authoring through execution to monitoring and management).
It offers open-source business process execution and management, including
 
  • Embeddable, lightweight Java process engine, supporting native BPMN 2.0 execution
  • human interaction using an independent WS-HT task service
  • BPMN 2.0 process modeling in Eclipse (developers) and the web (business users)
  • web tooling to model, deploy, execute and monitor your processes, including for example a data and form modeler, simulation, deployment, task lists, etc.
  • web-based business activity monitoring and reporting that allows you to define your own reports
  • managing and deploying your processes using technologies underneath like Git and Maven
  • an execution server that you can remotely connect to (REST, JMS) and can be deployed in a clustered environment for load balancing and high availability
  • tight, powerful integration with business rules and event processing
 
Activiti
 
Activiti 5.15.0 is the latest community version of the Activiti project. It's a Java process engine that runs BPMN 2 processes natively.  It will have the following key properties:
  • Allows user updates to be combined with process updates in a single transaction
  • Runs on any Java environment like Spring, JTA, standalone with any form of transaction demarcation.
  • Easy to get up and running with the setup utility
  • Built to support the cloud scalability from the ground up
  • Very simple to add new custom activity types and complete dedicated process languages
  • Rock solid
  • Extremely fast
  • Transactional timers
  • Asynchronous continuations
  • Hidden event listeners for decoupling software technical details from business level diagram
  • Ability to test process executions in isolation in a plain unit test
I have referred few articles and given below are the differences between jBPM and Activiti:
  
Description
Activiti
jBPM
Community members
Activiti has a base team consisting of
Alfresco employees. In addition,
companies like SpringSource,
FuseSource and MuleSoft provide
resources on specific components. And of course, there are individual open source developers committing to the Activiti project.
 
jBPM has a base team of JBoss
employees. In addition there are individual committers.
 
Spring support
Activiti has native Spring support, which makes it very easy use Spring beans in your processes and use Spring for JPA and transaction management.
 
 
jBPM has no native Spring
support, but you can use Spring
with additional development effort.
 
Business rules support
Activiti provides a basic integration with the Drools rule engine to support the BPMN 2.0 business rule task.
 
 
jBPM and Drools are integrated on a project level and therefore there’s native integration with Drools on various levels.
 
 
Additional tools
Activiti provides a modeler (Oryx) and designer (Eclipse) tool to model new process definitions. But the main differentiator is the Activiti Explorer, which provides an easy-to-use web interface to start new processes, work with tasks and forms and manage the running processes. In addition it provides ad-hoc task support and collaboration functionality.
 
 
 
jBPM also provides a modeler
based on the Oryx project and a Eclipse designer. With a web
application you can start new
process instances and work with tasks. The form support is
limited
Project
Activiti has a strong developer and user community with a solid release schedule of 2 months. Its main components are the Engine, Designer, Explorer and REST application
 
jBPM has a strong developer and user community. The release schedule is not crystal clear and  some releases have been postponed a couple of times. The Designer application is (at the moment of writing) still based on Drools Flow and the promised new Eclipse plug-in keeps getting postponed
 

其他特性还没有仔细研究,后面会把我们实际用到的表使用以及重要性都梳理出来并更新(后续剥离敏感信息后发上来,也可以私信留言)。

最近继续研究bpm相关的框架,在搜索jbpm 6和activities 5对比的时候,偶然发现2年前,jbpm的原创始团队又另立门户了,搞了个Flowable 6.0出来,参考:https://blog.csdn.net/hj7jay/article/details/68483096。这些坑大了,还是选择jbpm吧,起码后面的金主redhat为持续支持。

下面摘录一份不恰当(不恰当是因为jbpm 5是被Jboss废弃的版本)的jbpm 5和activities 5的对比:Activiti5与jBPM5技术组成对比

序号技术组成ActivitijBPM5
1数据库持久层ORMMyBatis3Hibernate3
2持久化标准JPA规范
3事务管理MyBatis机制/Spring事务控制Bitronix,基于JTA事务管理
4数据库连接方式Jdbc/DataSourceJdbc/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、jBPM4Drools Flow
12所属公司AlfrescojBoss.org

国外还有一家自称比jbpm 6 NB的工作流厂商,Camunda BPM 7,可以参考下。

免责声明:文章转载自《jbpm 6 vs activities 5评估(持续更新、亲测实际项目评估)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MySQL 复制表结构泛型实例化,参数实例化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java 三大主流 工作流 学习

之前听同学说,他们在用工作流,好奇,搜索了一下,查看和搜集了一番,摘抄入下:(来源于:gzRiven)  三大主流工作流引擎:Shark,osworkflow,jbpm!   Shark的靠山是Enhydra。Enhydra做过什么呢?多了!从j2ee应用服务器,到o/r mapping工具,到这个工作流引擎等等。   为什么Shark的持久层采用DODS...

eclipse安装activiti工作流插件

方式一:在有网络的情况下,安装流程设计器步骤如下: 1、点击eclipse上方工具栏的Help,选择Install New Software 2、弹出如下窗口,然后填写插件名称和安装地址 Name: Activiti BPMN 2.0 designer Location: http://activiti.org/designer/update/然后便是不...

eclipse安装Activiti Designer插件(转载:http://blog.csdn.net/qq_33547950/article/details/54926435)

为了完成毕业设计,需要学习Activiti。万事开头难,果然刚开始就遇到了问题。《Activiti实战》和视频教程里提供的安装Activiti Designer插件方法(即下文方法一)不能成功安装。各种百度之后大概有以下方法,其中方法二(改)实测安装成功,感谢网上的无名大神们。 方法一:在线安装(可能因网络等原因安装失败) 打开eclipse,在Hel...

activiti 工作流

1. 工作流的概念 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量...

activiti学习总结

Activiti界面元素的使用总结 一、图形设计中元素的使用 1、SequenceFlow:连接线,可以连接两个任务,来管理流程实例的流向 -----General -----id:流程的id,用与程序内部识别 -----name流程的名字,用于用户显示识别 -----Main config -----Label width:组件的大小,自动 -----C...

Spring boot 整合Activiti中遇到的问题

Pom.xml 配置<!-- activiti --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <vers...