activiti与flowable的区别

activiti与flowable的区别免费视频限时抢购:《Activiti6视频教程全家桶》《Flowable系列优惠套餐》《Flowable全家桶》《Camunda教程》《Drool7从入门到精通》在详细说明activiti与flowable的细节区别之前,我们需要说明一下这两个框架的发展史。我在写Activiti权威指南的时候,大概是2016年7月份左右。给清华大学出版社交稿的时候大概在2017年3月份…

大家好,又见面了,我是你们的朋友全栈君。

 

 

在详细说明activiti与flowable的细节区别之前,我们需要说明一下这两个框架的发展史。

我在写Activiti权威指南的时候,大概是2016年7月份左右。给清华大学出版社交稿的时候大概在2017年3月份左右、最终出版是2017年5月份左右。其实在2016.7~2017.5期间activiti团队内部已经产生了重大的分歧。关于新的activiti新团队与原有的团队重要开发人员我们罗列一下,细节如下:

activiti与flowable的区别

上图是Tijs Rademakers,算是activiti5以及6比较核心的leader了。现在是flowable框架的leader。

activiti与flowable的区别

Joram Barrez  算是activiti5以及6比较核心的leader了。目前从事flowable框架开发。

activiti与flowable的区别

Salaboy Activiti Cloud BPM leader(Activiti Cloud BPM 也就是目前的activiti7框架)

Tijs Rademakers以及Salaboy目前是两个框架的leader。

    特此强调一点:activiti5以及activiti6、flowable是Tijs Rademakers团队开发的。

Activiti7是 Salaboy团队开发的。activiti6以及activiti5代码目前有 Salaboy团队进行维护。因为Tijs Rademakers团队去开发flowable框架了,所以activiti6以及activiti5代码已经交接给了 Salaboy团队(可以理解为离职之前工作交接)。目前的activiti5以及activiti6代码还是原Tijs Rademakers原有团队开发的。Salaboy团队目前在开发activiti7框架。对于activiti6以及activiti5的代码官方已经宣称暂停维护了。activiti7就是噱头 内核使用的还是activiti6。并没有为引擎注入更多的新特性,只是在activiti之外的上层封装了一些应用。

    注意:activiti6的很多框架bug在flowable框架中已经修复的差不多了。

我们不妨看一下这两个框架的github分支情况,侧民印证下我上面说的结论。

Activiti框架情况

activiti的github地址;https://github.com/Activiti/Activiti

activiti与flowable的区别

activiti与flowable的区别

activiti与flowable的区别

activiti与flowable的区别

 

通过上面的一系列图,可以看出来。activiti5以及ativiti6的核心开发团队是Tijs Rademakers团队。activiti6最终版本由Salaboy团队发布的。

可能很多人有疑惑,activiti6核心代码是Tijs Rademakers团队开发的,为何是Salaboy团队发布的呢?很简单,因为这个时候Tijs Rademakers团队已经去开发flowable去了。flowable是基于activiti-6.0.0.Beta4 分支开发的。下面我们截图一些flowable的发展。

Flowable框架情况

flowable的github地址:https://github.com/flowable/flowable-engine

activiti与flowable的区别

activiti与flowable的区别

activiti与flowable的区别

activiti与flowable的区别

 

关于更多的Activiti6视频地址:https://ke.qq.com/course/package/11402?tuin=84de321b

关于更多的Flowable视频地址:https://ke.qq.com/course/package/11431?tuin=84de321b

 

目前Flowable已经修复了activiti6很多的bug,可以实现零成本从activiti迁移到flowable。

flowable目前已经支持加签、动态增加实例中的节点、支持cmmn、dmn规范。这些都是activiti6目前版本没有的。

1、flowable已经支持所有的历史数据使用mongdb存储,activiti没有。

2、flowable支持事务子流程,activiti没有。

3、flowable支持多实例加签、减签,activiti没有。

4、flowable支持httpTask等新的类型节点,activiti没有。

5、flowable支持在流程中动态添加任务节点,activiti没有。

6、flowable支持历史任务数据通过消息中间件发送,activiti没有。

7、flowable支持java11,activiti没有。

8、flowable支持动态脚本,,activiti没有。

9、flowable支持条件表达式中自定义juel函数,activiti没有。

10、flowable支持cmmn规范,activiti没有。

11、flowable修复了dmn规范设计器,activit用的dmn设计器还是旧的框架,bug太多。

12、flowable屏蔽了pvm,activiti6也屏蔽了pvm(因为6版本官方提供了加签功能,发现pvm设计的过于臃肿,索性直接移除,这样加签实现起来更简洁、事实确实如此,如果需要获取节点、连线等信息可以使用bpmnmodel替代)。

13、flowable与activiti提供了新的事务监听器。activiti5版本只有事件监听器、任务监听器、执行监听器。

14、flowable对activiti的代码大量的进行了重构。

15、activiti以及flowable支持的数据库有h2、hsql、mysql、oracle、postgres、mssql、db2。其他数据库不支持的。使用国产数据库的可能有点失望了,需要修改源码了。

16、flowable支持jms、rabbitmq、mongodb方式处理历史数据,activiti没有。

几个框架前景对比

1、2019年6月中旬 salboy已从alfresco公司离职。activiti7/8开发动向不明确。

2、flowable以6.4.1版本为分水岭,大力发展其商业版产品。开源版本维护不及时。部分功能已经不再开源版发布,比如表单生成器(表单引擎)、历史数据同步至其他数据源、es等等。dmn目前是个半成品,没有camunda稳定和好用,对于dmn规范支持薄弱。部分商业版的组件被商业化,因此开源版不再维护。Mongdb目前也放到商业产品中了,开源版的几乎不能用。

其他的后续再来总结、上述的新特性在我们的系列课程在基本都给大家讲解了。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143152.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 学计算机我后悔了(计算机专业初级书籍)

    大家好,我是小林哥。平日里,大家都喊程序员加班多很辛苦,动不动就掉头发,但干的还是很香的,毕竟大多数公司钱还是给的很到位的,今年毕业应届生的我见到好多动不动就月薪20K~30K的,真让人两眼泪酸酸,当然这离不开他们大学期间的努力。讲真,没什么家庭背景的人,选择当程序员确实是比较好的选择了,原因有二:首先,当今互联网、AI人工智能、大数据等都是高速发展的行业,自然人才需求很多,薪资也相对其他传统行业高;第二,纯粹看你技术能力,只要自己愿意付出努力,技术能力肯定会慢慢提高上来,而且现在比起几十年

    2022年4月18日
    93
  • git命令基本用法记录

    git命令基本用法记录最近使用git命令提交代码的时候发现很多命令都忘记了,于是重新学习了一下git命令。顺便整理了一下,加强记忆,也方便以后随时查看。以下命令都是平常工作中使用频率较高的命令,也是git的一些基本用法,其中[]内的参数表示可以省略,<>内的参数只是示例,具体名称视自己的项目而定,实际命令中不带<>,表示远程主机名,等表示分支名。1.git配置    获取本机sshkey:ssh-keygen-t-C“yourEmail@exampl

    2022年6月29日
    22
  • matlab画图标签,Matlab绘图[通俗易懂]

    matlab画图标签,Matlab绘图[通俗易懂]要使用plot函数来绘制图形,需要执行以下步骤:通过指定要绘制函数的变量x的值的范围来定义x。定义函数,y=f(x)调用plot命令,如下:plot(x,y)以下示例将演示该概念。下面绘制x的值范围是从0到100,使用简单函数y=x,增量值为5。创建脚本文件并键入以下代码-x=[0:5:100];y=x;plot(x,y)执行上面示例代码,得到以下结果-下面再来一个例子来绘制…

    2022年6月24日
    32
  • C++中如何获取终端输出的行数,C++清除终端输出特定的一行内容

    C++中如何获取终端输出的行数,C++清除终端输出特定的一行内容

    2022年2月7日
    52
  • python中 列表(List)转换为字符串(Str)的方法

    python中 列表(List)转换为字符串(Str)的方法1、List列表转为Str字符串List中存的是字符串的时候,一般是通过.join()函数去转换:例:dataList=[‘1′,’2′,’3′,’4’]str1=“,”+join(dataList)print(dataList)…

    2022年6月2日
    43
  • springboot+eureka集群搭建

    springboot+eureka集群搭建eureka集群搭建此集群共有三个eureka台组成eureka集群的核心思想就是互相注册,相互守望,你中有我,我中有你(个人理解)意思就是第一台机器01注册地址defaultZone中的地址是02,03的,02的注册地址是01,03的。03的注册地址是01,02的首先新建三个项目来代表eureka的三台机器父类的pom文件大家可以一起用<?xmlversion=”1.0″encoding=”UTF-8″?><projectxmlns=”http://maven.ap

    2022年5月21日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号