几大工作流引擎对比图_工作流引擎框架

几大工作流引擎对比图_工作流引擎框架纵观jBPM:从jBPM3到jBPM5以及Activiti5:http://www.infoq.com/cn/articles/rhjbpm5activiti5工作流引擎选择(为何使用activ

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

纵观jBPM:从jBPM3到jBPM5以及Activiti5:http://www.infoq.com/cn/articles/rh-jbpm5-activiti5#

工作流引擎选择(为何使用activiti而不是jbpm):http://blog.csdn.net/classfoo/article/details/20645779

Java工作流引擎:jBPM、Activiti以及SWF:http://blog.csdn.net/liangyixin19800304/article/details/12761573

用OSWorkFlow和JBPM开发工作流异同:http://blog.csdn.net/victor16345/article/details/5614676

JBPM(Java Business Process Management):JAVA业务流程管理,是一个可扩展、灵活、开源的流程引擎, 它可以运行在独立的服务器上或者嵌入任何Java应用中。

几种工作流引擎对比:

1、jBPM3是一个完整的工作流系统实现,面向开发人员,目的在于简化对组织核心流程进行支撑的软件创建,不支持标准。

2、jBPM4引入PVM,使其拥有更强大的扩展性,同时增加BPMS特性,这些特性包括了对BPMN的支持、面向业务人员的Web建模器和简单统计分析功能的加入。

3、jBPM5基于原先的Drools Flow,支持BPMN,通过与Drools的合并支持BAM,通过内容仓库增加对流程可视化的支持。由于放弃了jBPM4的PVM,引擎的可扩展性受到损害,并且不再支持jPDL。

4、Activiti5基于jBPM4的开源工作流系统,与Alfresco的集成增加了其流程可视化与管理能力,同时通过创新的Activiti Cycle协作组件支持流程相关人员之间的协调,最后,它加强了集成能力。

5、SWF与其说是工作流引擎,不如说是分布式计算调度框架,SWF中只包括Task和History两部分,甚至是每个Task之间如果要传递一些数据的话,都只能通过第三方存储(比如Message Queue或者Redis),不过这也给了编程更大的灵活性,问题是这种灵活性是不是非常需要。

一个SWF由Worker和Decider组成,Worker执行实际的任务,而Decider进行流程控制,两者严格上来讲没有区别,只是所执行的任务不同罢了。每个Worker和Decider会定期的去SWF的一个Task List取下一个任务。可以看出来这更像是一个“多线程”的结构,而SWF官方网站的Use Case是NASA的火星探索计划中需要处理图片的系统,这其实也是一个更多侧重于计算的系统,流程反而非常简单。

另外,SWF(Simple Workflow)的一个Workflow不能太复杂,因为所有的流程控制都集中于Decider,如果太复杂的话Decider将无比庞大,给维护和扩展带来一定的困扰。

Activiti的优势:

1、与jBPM4相比,Activiti5最令人瞩目的特性就在于它的协作工具组件。

  • Activiti Modeler—建模器

    基于开源Signavio Web流程编辑器的一个定制版本,提供了对BPMN2.0图形化规范的支持,建模后的流程以文件格式进行存储。

    • Activiti probe—管理及监控组件

      对流程引擎运行期实例提供管理及监控的Web控制台。包含部署的管理、流程定义的管理、数据库表的检视、日志查看、事务的平均执行时间、失败多次的工作等功能。

2、Activiti拥有更简洁健壮的接口

Activiti中提供TaskQuery接口,可以设置各种查询过滤,排序方式,最终通过list方法执行查询,相比jbpm,它还提供了分页查询功能,双方高下立判。

3、Activiti拥有更友好的用户体验

JBPM核心引擎完全没有关于表单的任何抽象,它的工作机制是通过全局常量,流程变量,任务变量,这些概念十分技术化。

相比之下Activiti则更贴近实际的应用场景,它将为开始节点,以及人工任务提供了表单设置,用户可以设置字段名称,字段类型。通过Activiti的平台可以根据这些设置去生成表单,但如果不使用其平台只使用引擎的话,也支持通过它来表达与第三方表单的关系。这些表单设置的元数据信息也可以通过接口去获取。

4、Activiti支持启动引擎后随时热部署

JBPM存在一个软肋,一个RuntimeService只能在启动的时候指定bpmn资源,一旦启动后便不再能够去更新或者增加bpmn了,这会导致我们系统集成的困难,因为我们自然希望整个系统只有一个工作流引擎实例运行。Activiti则提供了Deploy机制,将bpmn资源的热部署,热更新都做了很好的支持

5、Activiti拥有更友好易用的Eclipse编辑插件和在线插件

6、Activiti依赖更少的jar包

Activiti依赖的第三方jar包较少,主要就是mybatics,而JBPM则依赖了一大堆的jar,从drools到繁杂的hibernate,再到自身拆分的零零散散的jar包,让人不由觉得它是一个庞大的怪物。

工作流有版本的概念,jBPM和Activiti上传一个新的版本后,版本号会增加1,旧版本还没执行完的流程实例还会继续执行。SWF的版本是个字符串,随意指定好了,这样也很好,字符串名称更明确。

嵌入式部署即将流程引擎嵌入部署于Web应用中

最后,总结一下:

shark:系统和功能都比较复杂

Osworkflow:比较灵活的轻量级的框架,但是在流程建模方面不太友好,需要手动编写xml文件去定义流程文件。

SWF:还有不能支持太复杂的流程

原文地址:https://blog.csdn.net/tianzongnihao/article/details/80286193

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

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

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


相关推荐

  • kali更新源没有mysql_Kali更新源添加

    kali更新源没有mysql_Kali更新源添加    2.按键盘A进行对更新源的输入;3.常见的更新源如下:3.1中科大debhttp://mirrors.ustc.edu.cn/kalikali-rollingmainnon-freecontribdeb-srchttp://mirrors.ustc.edu.cn/kalikali-rollingmainnon-freecontrib3.2阿里云debhttp://m…

    2022年5月18日
  • 微信公众号网页分享功能开发

    微信公众号网页分享功能开发现在每天都可以看到很多微信分享的链接上面有网站或者商家的自定义的分享标题,和分享链接的描述及分享出去的图像,例如下面的分享出去的链接:              上面这个是微信的js-SDK页面分享给微信好友在聊天列表中显示的视觉效果。   微信JS-SDKDemo:这个是微信网页分享出去的标题。   微信JS-SDK,帮助第三方为用户提供更优质的移动web服务:这个…

    2022年6月4日
  • Android面试题集锦(2022最新总结)

    Android面试题集锦(2022最新总结)“技术岗年薪总包41W起步,而大厂薪资最高评级SSP总包58W,接近60W,远高于非技术岗人员。”2022年校招,腾讯应届生薪资开奖“第一炮”打响。和去年相比,涨了近10万,且应届生房补也从1250元上升到了4000元。这样的薪资待遇,试问谁不眼馋呢?2021年,行业环境其实稍显颓势,年末那一波大厂裁员更是让互联网人心惶惶。但是,2022年一开端我们会发现,各家依旧抛出高薪的橄榄枝,丝毫未停歇对技术岗人才的抢夺。目前的招聘情况业内人概括为:校招抢人,时间提前,薪资飞涨;同时也不放过任何一个社招.

    2022年8月26日
  • phpstorm新版激活码_在线激活[通俗易懂]

    (phpstorm新版激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
  • AllJoyn+Android开发案例-android跨设备调用方法

    AllJoyn+Android开发案例-android跨设备调用方法AllJoyn+Android开发案例-android跨设备调用方法

    2022年6月21日
  • 通过pycharm安装python_pycharm编译器安装教程

    通过pycharm安装python_pycharm编译器安装教程python环境的安装与编译器的安装python下载网址python官网:https://www.python.org/python的安装我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown将代码片显示选择的高亮样式进行展示;增加了图片拖拽功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的Ka

    2022年8月25日

发表回复

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

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