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

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

activiti技术栈:

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的整体技术栈从实现层面组成如下:

在实际应用中,几乎很少有直接使用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技术组成对比

序号 技术组成 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

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

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

  1. FC金手指代码大全·持续更新-亲测可用-FC 经典游戏完整可用的金手指大全---持续更新,偶尔玩玩经典回味无穷,小时候不能通关的现在通通通关一遍

    FC 经典游戏完整可用的金手指大全-持续更新,偶尔玩玩经典回味无穷,小时候不能通关的现在通通通关一遍 2021年5月11日更新: 每次翻金手指一些垃圾小网站标题党吸引进去吓一大堆木马什么也没有,什么x ...

  2. Axure 8.1.0.3381 激活码 10月20号更新 亲测可用

    Axure 8.1.0.3381  激活码  10月20号更新 亲测可用,立马激活,更新之后不后悔. 激活码查看地址:https://download.csdn.net/download/qq_207 ...

  3. win10必须禁用的服务_【亲测】Win10系统如何彻底禁止自动更新 亲测有效的Win10关闭自动更新方法...

    昨天有人称Win10系统更新依然无法彻底关闭,今天再来补充一下,肯定可以! 不少用户反映自己的Win10系统更新无法彻底关闭,网上提供的关闭Win10更新的教程,关闭之后还是会自动更新Win10系统, ...

  4. 禁止Chrome浏览器自动更新 亲测可用

    说明:仅供学习使用,请勿用于非法用途,若有侵权,请联系博主删除 作者:zhu6201976 博客:zhu6201976的博客_CSDN博客 一.需求场景 Chrome浏览器安装后会默认自动更新升级,对 ...

  5. websocket实现消息实时更新(亲测,2021/11/9)

    前端 ```html //这是去获取未读消息的条数(这个函数是自定义的) function getNotifyInfo() {$.ajax({cache: true,type: "get&q ...

  6. FRM学习复习2(持续更新中..)

    (此文仅记录学习进程,加油!) FRM学习复习2(持续更新中..) Framework框架 overview of risk management风险管理概述 framework overview R ...

  7. Dataset:数据集集合(CV方向数据集)-常见的计算机视觉图像数据集大集合包括表面缺陷检测数据集(持续更新)

    Dataset:数据集集合(CV方向数据集)-常见的计算机视觉图像数据集大集合包括表面缺陷检测数据集(建议收藏,持续更新) 目录 CV常用数据集平台集合 Mendeley Data CAISA-Web ...

  8. 持续更新 | PMCAFF问答专场活动分享笔记大合集

    哈喽大家好,PMACFF问答专场是社区邀请BAT.各大知名互联网公司的产品从业者和咖友们一同交流的一个活动形式,在举办过近60余期的活动之后受到了很多咖友的喜爱. 本文是我们对交流内容的一个沉淀,我们 ...

  9. 【学术相关】CVPR2021最新接收论文合集!22个方向100+篇论文汇总|持续更新

    报道丨极市平台 导读 CVPR2021结果已出,本文为CVPR最新接收论文的资源汇总贴,附有相关文章与代码链接. 文章在Github上持续更新,欢迎大家 star/fork(点击阅读原文即可跳转): ...

最新文章

  1. Linux之链接命令
  2. Docker 初级教程
  3. 我看西电通院月考——学生应该做点什么?
  4. 【牛客 - 317D】小a与黄金街道(数论,tricks)
  5. 【UML】类图Class diagram(转)
  6. ssm框架中mysql的分页_SSM框架中mapper层,增删改查,如何实现
  7. 算法设计与分析(第2版)屈婉玲 刘田 张立昂 王捍贫编著 第五章课后习题答案
  8. 软考中级——数据库系统工程师
  9. 单点登录原理及简单实现
  10. MIT Molecular Biology 笔记1 DNA的复制,染色体组装
  11. PHPCMS 前台模板集合
  12. 千兆以太网RJ45接口连线引脚定义
  13. Python3官方手册中文在线版
  14. monthCalendar (日历)控件常用操作
  15. 项目管理知识体系指南 (五)
  16. ssh免密码登录全过程
  17. c++中显示“无法打开xxx.exe进行写入”
  18. Pytorch:定义的网络结构层能否重复使用
  19. Java throw和throws关键字的使用及区别
  20. 计算机学院运动会开幕式稿,大学运动会开幕式方队解说词

热门文章

  1. python类型转换异常_python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换...
  2. linux内核kconfig objs,linux内核中Kconfig和Makefile 详解
  3. 计算机挑战音乐,抖音平板加速挑战背景歌曲是什么歌?
  4. mysql trim前后空格_MySQL清除字符串首尾空格函数trim
  5. 牛客网华为机试题 字符串问题 记录
  6. linux系统运行flash3d,真正的3D操作系统,太强了
  7. php7取系统信息,操作系统-如何获取运行PHP的操作系统?
  8. java读取字节效率最高_Java-IO 字节流的使用和效率比较
  9. tp点一共有多少_致命女人更新时间 致命女人第一季一共多少集在线观看地址
  10. yii2 后台权限验证获取用户身份_前、后端分离权限控制设计与实现