java三大主流开源工作流引擎技术分析

     2022-04-03     223

关键词:

        首先,这个评论是我从网上,书中,搜索和整理出来的,也许有技术点上的错误点,也许理解没那么深入。但是我是秉着学习的态度加以评论,学习,希望对大家有用,进入正题!

        三大主流工作流引擎:Shark,osworkflow,jbpm!

        Shark的靠山是Enhydra。Enhydra做过什么呢?多了!从j2ee应用服务器,到o/r mapping工具,到这个工作流引擎等等。为什么Shark的持久层采用DODS来实现?就是因为他们是一家人。

Jbpm的靠山是jboss。Jbpm3的持久层采用hibernate3来实现,也是因为这个原因吧。Jbpm3的图形化流程定义已经决定嵌入到jboss eclipse IDE中,大家看看jboss eclipse IDE preview 1.5版,我们已经可以用插件方式编辑一个jbpm3流程定义文件了。

Osworkflow的靠山是opensymphony。我是非常喜欢这个组织的,它做出了很多的好东西。在开发工作流管理系统时,我就推荐用它的另外一个东西:webwork2。笔者主持的开源工作流引擎AgileFlow就是基于ww2+spring+hibernate架构实现的。写到这里我想是不是它可以和struts2进行完美整合?!

完成本段时说句题外话:现在基本上所有的J2EE应用程序服务器都有自己的工作流引擎,如上面提到的Enhydra,jboss和没有提到的websphere和weblogic等,可见,学习工作流引擎技术的确是非常重要的。

Shark的流程定义语言是XPDL,我们知道,XPDL的两个最重要的概念是Process和Activity。XPDL中的Activity是基于UML1.x中的活动图的概念。活动图天生的适于工作流程建模,它相对于状态图的一个最大的优点是容易做并发线程的分叉控制,这些并发线程可以同时执行也可以顺序执行;它还有一个优点是有泳道的概念,可以控制工作流引擎中的任务的产生。Shark的如来神掌是活动图。

Osworkflow的如来神掌又是什么呢?我们知道,它有个重要概念是State……呵呵,我们知道了,它的如来神掌是FSM。不知道FSM是什么东西??那你读大学时肯定不是好学生;当然了,不知道也不打紧,你把他类似理解为状态图就可以了。Osworkflow中的State是由step和status联合表达的,一个State就是一个step中的某个status;而state的转换由action来驱动,类似状态图中的event,因为一个event对应一个action嘛。

Jbpm的如来神掌就没有上面的简单了,它结合应用了状态图+活动图+PetriNet的知识,而且,这里的活动图还是UML2.0版的。UML2.0的活动图中,节点不叫活动(Activity)而叫动作(action),活动成了一个高层次的概念,它包含一个动作序列。一个活动图展现一系列的动作,这些动作组成了活动。Jbpm把action也改名了,称为state。Jbpm使用的状态图的概念有transition/event等,这个自己去看吧。Jbpm来内部实现中还采用了PetriNet的概念,如token,signal等。什么?又不知道PetriNet什么东东?那你大学是学计算机的吗?不是?那你可能是学文科的,学机械/电气/土木工程/交通运输等专业都有接触PetriNet的课程,如果没有学过,还是看看jbpm吧,反正我们也不搞理论,知道大致概念就行。

 

本人观点:

做观点是件吃力不讨好的事情,好多国外的大师做的观点也是被人骂得……我的观点是:Shark……将登上头号宝座。应该说,在那篇文章发表前,国内的工作流引擎使用率最高的是osworkflow;到去年年底,Shark就占有了明显的优势地位,我分析有如下原因:

1. 国内的企业都看中XPDL,因为这意味着在产品说明书中又可以吹牛说“我们遵循WFMC……”

2. 因为我自诩“Shark工作流引擎在国内的主要推广者”,大部分给我反馈工作流管理系统开发选用技术的朋友都是用的Shark

3. Shark的确是一套不错的工作流引擎,就算你只是想学习XPDL,你也可以从学习Shark开始。

4.不过我还是看好osworkflow。

深度学习核心技术精讲100篇(七十七)-主流推荐引擎技术及优缺点分析

前言在本文中,将详细介绍多种类型的推荐系统,具体介绍基于近邻算法的推荐引擎、个性化推荐引擎、基于模型的推荐系统和混合推荐引擎等,并分析介绍每种推荐系统的优缺点。主要介绍的不同类型的推荐系统包括:近邻算... 查看详情

elk:开源搜索与分析技术栈

ELK:开源搜索与分析技术栈(1)一、ELK技术栈简介1.ELK技术栈简介Elasticsearch:Elasticsearch是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎ApacheLucene基础上的搜索引... 查看详情

elk:开源搜索与分析技术栈

ELK:开源搜索与分析技术栈(1)一、ELK技术栈简介1.ELK技术栈简介Elasticsearch:Elasticsearch是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎ApacheLucene基础上的搜索引... 查看详情

哪个开源工作流引擎更好?flowableorcamunda?

哪个开源工作流引擎更好?lecture:波哥  当下在国内大家可以选择的开源的工作流引擎还是比较多的,但是对于具体选择用哪个产品,各自的优缺点有哪些其实并不是太清楚,为此波哥今天专门给大家来整理总结下。一、主流开... 查看详情

哪个开源工作流引擎更好?flowableorcamunda?

哪个开源工作流引擎更好?lecture:波哥  当下在国内大家可以选择的开源的工作流引擎还是比较多的,但是对于具体选择用哪个产品,各自的优缺点有哪些其实并不是太清楚,为此波哥今天专门给大家来整理总结下。... 查看详情

elk:开源搜索与分析技术栈

ELK:开源搜索与分析技术栈(1)一、ELK技术栈简介1.ELK技术栈简介Elasticsearch:Elasticsearch是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎ApacheLucene基础上的搜索引... 查看详情

中国三大主流开源linux操作系统社区及其产品生态

作者:IT圈黎俊杰  操作系统是基础软件的核心,是科技研发必备的底层支撑产品,它的核心技术至今仍然由美国为代表的西方国家所掌控着。由于以前国产操作系统产业长期处于“多、小、散”的状态,未能... 查看详情

深度学习核心技术精讲100篇(七十七)-主流推荐引擎技术及优缺点分析

前言在本文中,将详细介绍多种类型的推荐系统,具体介绍基于近邻算法的推荐引擎、个性化推荐引擎、基于模型的推荐系统和混合推荐引擎等,并分析介绍每种推荐系统的优缺点。主要介绍的不同类型的推荐系统包括:近邻算... 查看详情

强势分享!bat大牛带你深度剖析《全网最系统android三大主流开源框架(附源码)》

 BAT大牛带你深度剖析Android十大开源框架,覆盖Android最热门开源框架,深度剖析顶尖工程师框架源码,倍速提升高级面试能力!前言2020已经悄悄的走了,2021也已经匆匆的来了,我们在总结过去的同时࿰... 查看详情

主流的olap引擎介绍-olap极简教程

...用技术,提供复杂的分析操作、侧重决策支持。目前主流的OLAP引擎包括Hive、Presto、Druid、Clickhouse、Kylin、Sparksql、Greeplum,每个引擎都有它各自的特点OLAP(On-lineAnalyticalProcessing,联机分析处理)是在基于数据仓库多维模... 查看详情

olap极简教程:主流的olap引擎介绍

...用技术,提供复杂的分析操作、侧重决策支持。目前主流的OLAP引擎包括Hive、Presto、Druid、Clickhouse、Kylin、Sparksql、Greeplum,每个引擎都有它各自的特点OLAP(On-lineAnalyticalProcessing,联机分析处理)是在基于数据... 查看详情

java开源工作流引擎jflow的流程应用类型分类讲解

关键字:驰骋工作流程快速开发平台工作流程管理系统工作流引擎asp.net工作流引擎java工作流引擎.开发者表单 拖拽式表单工作流系统CCBPM节点访问规则接收人规则适配数据库:oralce,mysql,sqlserver,Informix,PostgreSQL 达梦根据数... 查看详情

现在java开源的工作流引擎哪个比较好点

现在java开源的工作流引擎哪个比较好点比较容易学习和比较容易与我们自己的程序进行交互,比较容易对其工作流引擎表设置我们自己的访问权限。我们公司现在让我研究工作流引擎,我对那个不是太了解,现在经理给了我在... 查看详情

中国三大主流开源linux操作系统社区及其产品生态

作者:IT圈黎俊杰  操作系统是基础软件的核心,是科技研发必备的底层支撑产品,它的核心技术至今仍然由美国为代表的西方国家所掌控着。由于以前国产操作系统产业长期处于“多、小、散”的状态,未能... 查看详情

java开发需要哪些技术?

...工具:svn和git!7,缓存:redis!8,消息系统:ons和kafka!9,工作流引擎:activiti!10,规则引擎:drools!11,微服务容器:docker!12,图片,文件等上传工具oss!13,持续集成工具:jinkens!14,原型图查看工具:AxureRP!15,后台服务模拟访问:p... 查看详情

java三大主流框架概述

Java三大主流框架概述邮箱:[email protected]Struts、Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的JavaWeb应用... 查看详情

前端三大主流框架的对比reactvueangular

前端三大主流框架的对比React、Vue、Angular  React起源于Facebook的内部项目,用来架设Instagram的网站,并于2013年5月开源。React拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。它有以下的特性:1.声... 查看详情

java三大主流框架

姓名:邓勇 班级:软件151 Struts、Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的Java Web应用程序是... 查看详情