Java工作流详解(附6大工作流框架对比)

极简 Java 工作流概念入门 这个流程比较简单,我们很容易想到解决方案,不用工作流也能解决,有一个专门的请假表,当 A 要请假的时候,就往请假表中添加一条记录,这条记录的内容包含了请假的天数、原因、请假的审批人 B 以及一个名为 status 的字段,这个 status 字段表示这个请假申请目前的状态(待审批、已批准还是已拒绝),然后 B 登录系统之后,在请假表中查询到了 A 的请假信息,然后选择批准,此时将 status 字段的值改一下就行了。举个中间定时事件的例子,比如用户下单之后,可以有一个中间定时事件,延迟 5 分钟发货。.. 阅读详情
AI摘要

文章介绍了工作流的概念,它是一种对业务流程的抽象和自动化控制方法。提到了多种工作流框架,如Activiti、Flowable(由Activiti团队成员创建)、Camunda和jBPM,分别阐述了它们的起源、特性和应用场景。此外,文章还提及了国产工作流引擎JFlow和轻量化引擎osworkflow,以及工作流实现的两种方式:状态字段控制和工作流引擎控制。

目录

1.什么是工作流

2.工作流应用场景

3.工作流实现方式

4.有哪些工作流框架?

5.1.Activiti6. 2.Flowable7. 3.Camunda8.4.jBPM9. 5.osworkflow,6.jflow.

10.工作流框架对比

什么是工作流工作流(Worklow)

工作流是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如前后组织在一起的逻辑和规则,在计算机中以恰当的模型表逢并对其实施计算。工作流要解决的主要问题是: 为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。

那么再简单点说,我认为工作流就是对业务的流程化抽象,WFMC给出了工作流参考模型如下:

工作流应用场景

具体场景,凡是涉及到业务流程的所有场景

。关键业务流程:订单、报价处理、合同审核、客户电话处理、供应链管理等。行政管理类:出差申请、加班申请、请假申请、用车申请、各种办公用品申请、购买申请、日报周报等凡是原来手工流转处理的行政表单。。人事管理类:员工培训安排、绩效考评、职位变动处理、员工档案信息管理等。财务相关类:付款请求、应收款处理、日常报销处理、出差报销、预算和计划申请等.。客户服务类:客户信息管理、客户投诉、请求处理、售后服务管理等。

工作流实现方式目前常见的工作流程有两种方式:

。通过状态字段实现流程控制。原始,适合简单流程控制。

。工作流引擎实现流程控制。适用场景更广泛,扩展性更好

有哪些工作流框架?

目前市面上主流的开源流程引擎主要有 Activiti、Flowable,CamundajBPM,jflow, oworkflow等。现在我们对这些开源流程框架进行调研和分析。

    1. Activiti

Activiti 由 Alfresco 公司开发,目前最高版本为 Activiti cloud 71.0

其中 activiti5 和 activiti6 的核心 leader 是 Tijs Rademakers,由于团队内部分歧,2017 年 Tijs Rademakers 离开团队,创建

了后来的 Flowable。

activiti6 以及 activiti5 代码则交接给 Salabov 团队维护,activiti6 以及 activiti5 的代码官方已经暂停维护。往后 Salaboy 团开发了 activiti7 框架,ativiti7 内核使用的还是 activiti6,并没有为引擎注入更多的新特性,只是在 Activiti 之外的上层封装了

些应用。

直到 Activiti cloud710版本,Activiti coud 将系统分为 Runtime Bundle、 Audit Service  Query Service、 CloudConnectors、Application Service、 Notification Service。这些工作的主要目的其实就是为了上云,减少对 Activiti 依赖的糖合,需要使用Activiti的系统只需要通过调用 http 接口的方式来实现工作流能力的整合,将工作流业务托管上云2.Flowable

    1. Flowable

是基于activiti6 衍生出来的版本,目前最新版本是v6.7.0

开发团队是从Activiti 中分裂出来的,修复了一众activiti6 的 bug,并在其基础上实现了 DMN 支持,BPEL 支持等。

相对开源版,其商业版的功能会更强大。Flowable 是一个使用Java 编写的轻量级业务流程引擎,使用 Apache V2 license 协议开源。2016年10月,Activiti工作流擎的主要开发者离开 Alfresco 公司并在 Activiti分支基础上开启了 Flowable 开源项目。Flowable 项目中包括 BPMN (Business Process Model and Notation)引擎CMMN (Case Management Modeland Notation)引擎、DMN (Decision Model and Notation) 引擎和表单引擎 (Form Engine) 等模块。

    1. Camunda

Camunda 基于activiti5,所以其保留了 PVM,最新版本Camunda7.17,开发团队也是从activiti 中分裂出来的,发展轨与Flowable 相似。

通过压力测试验证 Camunda BPMN 引擎性能和稳定性更好。功能比较完善,除了BPMN,Camunda 还支持 CMMN(案例管理)和 DMN (决策自动化)。Camunda 不仅带有引擎,还带有非常强大的工具[6],用于建模、任务管理、操作监控和用户管理

    1. jBPM

BPM 由JBoss 公司开发,目前最高版本 7.61.0.Final,不过从BPM5开始已经限之前不是同一个产品了,BPM5 的代码基础不是jBPM4,而是从 Drools Flow 重新开始,基于 Drools Flow 技术在国内市场上用的很少,jBPM4 诞生的比较早,后来jBPM4创建者 Tom Baeyens 离开JBoss 后,加入 Alfresco 后很快推出了新的基于jBPM4 的开源工作流系统 Activiti,另外jBPM 以Hibernate 作为数据持久化 ORM,而 Hibernate 也已不是主流技术mikechen的互联网架松首页架构视频技术文章面试题库问答社区。

    1. JFlow

Jflow是一个国产的开源工作流引擎,与业务场景结合紧密,再带表单引擎,数据表较多,中文概念较多,可配置型性强,支持作为中间件模式的集成。配置点集中在,节点属性,流程属性,方向条件。概念名词比较清晰,文档全面。有qq群技术支持。

流程设计器界面干净,从节点类型分类,分流,合流,分合流,子线程等等。表单与流程完美结合,与其它几款流程引擎设计理念不同。Jflow更适用,贴近用户操作。

表单引擎中的精华是审核组件,满足国内审批要求的需求,退回,分合流审核,会签,并行处理,队列处理,概念清晰,容易理解。

    1. osworkflow

是一个轻量化的流程引擎,基于状态机机制,数据库表很少,osworkflow 提供的工作流构成元素有: 步骤

(step) 、条件(conditions) 、循环(loops) 、分支(spilts) 、合并 joins)等,但不支持会签、跳转、退回、加签等这些

操作,需要自己扩展开发,有一定难度。如果流程比较简单,osworkflow 是很好的选择

 

Java研学-Activiti7工作流(一) Activiti 7是一个开源的、轻量级的工作流和业务流程管理(BPM)平台,基于 Java 开发,支持 BPMN 2.0 标准,专为现代云原生架构设计。它提供了强大的流程引擎、丰富的 RESTful API 和事件驱动架构,能够无缝集成 Spring Boot 和微服务环境。Activiti 7 支持多租户、任务管理、流程监控和历史数据查询,适用于业务流程自动化、审批流程、任务调度等场景,帮助企业实现高效、灵活的流程管理。 阅读详情

相关推荐

工作流框架Flowable

工作流框架Flowable1. Flowable概述1.1 Flowable简介1.2 Flowable与Activiti的区别2. Flowable说明 1. Flowable概述 1.1 Flowable简介 Flowable是一个使用Java编写的轻量级业务流程引擎。Flowable流程引擎可用于部署BPMN 2.0流程定义(用于定义流程的行业XML标准), 创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据,等等。 TKJohn.github.io:https://tkjoh

靖节先生的博客 7497

什么是工作流?

工作流,是把业务之间的各个步骤以及规则进行抽象和概括性的描述。使用特定的语言为业务流程建模,让其运行在计算机上,并让计算机进行计算和推动。

IccBoY_超越 1万+

工作流引擎的架构设计与对比

所谓是指 workflow 作为应用系统的一部分,并为之提供对各应用系统有决定作用的,根据角色、分工和条件的不同决定信息传递路由、内容等级 等核心解决方案。工作流引擎可以灵活地配置工作流程,并且可以自动化的根据配置进行状态变更和流程流转,包括流程的节点管理、流向管理、流程样例管理等重要功能。下面,介绍一个比较简单的工作流程,来演示一下到底是一个什么样的东西。最简单的一个流程工单,申请人发起流程,每个节点审批人逐个审批,最终流程结束。

sduhaf的博客 1615

工作流入门这篇就够了!

本文记录自己这大半年老师让学习的工作流,因此本文也是以作者自身学习工作流的过程进行介绍。BPMN->工作设计器->工作流引擎

警警的博客 1万+

5种超实用方法:快速获取Windows文件夹下所有文件名(含CMD/PowerShell脚本)

本文详细介绍了5种快速获取Windows文件夹下所有文件名的实用方法,包括图形界面操作、Excel数据导入、CMD命令和PowerShell脚本。特别提供了高效的CMD和PowerShell脚本示例,帮助用户轻松实现文件名的批量获取与管理,大幅提升工作效率。

opencv7vision的博客 447

超越音频!STM32 SAI接口在AD7768高速ADC采集中的妙用(含PCB布局指南)

本文深入探讨了如何将STM32的SAI接口应用于AD7768高速ADC的数据采集系统,超越了其传统的音频应用范畴。文章详细解析了SAI协议与ADC时序的匹配方法,提供了从CubeMX配置、DMA数据搬运到关键PCB布局指南的完整实战方案,旨在帮助工程师实现稳定、高精度的工业级高速数据采集。

efc12345678的博客 304

Java开源工作流框架对比

什么是工作流? 工作流,是指“业务​过程的部分或整体在​计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。 在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。 工作流是复杂版本的状态机 就好比一般的请假流程,小明会先提出请假申请,然后由Leader审批或者Manager进行审批,直至审批通过或者拒接。 如果让我们实现请假单状态的切换,那么用一个字段来...

Zhang_Jian 1万+

数字电子时钟——数字电路课设

本文设计了一种基于中小规模集成电路的数字电子时钟系统,采用模块化设计方法,包含晶振电路(CD4060+D触发器)、计时电路(74HC161计数器)、数码管驱动(CD4511)和整点报时功能。系统实现了60进制秒/分、24进制小时、7进制星期的计时显示,支持手动校时功能,并具备整点报时特性(59分54-58秒5次500Hz低音,59秒1次1000Hz高音)。通过分模块调试与整合,最终实物电路满足设计要求,获得优秀评价。

来自FZU——电子科学与技术专业 1487

各大工作流对比

根据市场上已知得工作流做相关选型分析

weixin_46930956的博客 3670

实战案例:用多智能体系统模拟房地产市场的架构设计

房地产市场是典型的复杂自适应系统:买方纠结“要不要上车”、卖方盘算“挂多少钱能快速成交”、中介忙着“撮合两边赚佣金”、政府琢磨“怎么调政策稳房价”——每一个参与者的微小决策,最终都会汇聚成“房价暴涨”“成交冰点”这样的宏观现象。传统的计量经济学模型(比如线性回归)假设“所有人都是理性人”,但现实中没人能算清所有变量——你可能因为“同事买了学区房”就跟风,也可能因为“怕失业”而放弃买房。这时候,多智能体系统(MAS)

移动开发前沿的博客 1122

基于STM32设计的智能水母投喂器(华为云IOT)_170

本项目利用STM32单片机控制各种传感器和水泵等设备,能够自动检测和调整水温和水质等参数,自动换水,自动供氧等等,充分满足了水母的养殖要求和需要。同时,根据水母喜欢的光环境,添加了RGB氛围灯,以及可以手动控制的喂食器等功能,提升了水母养殖的便利性和趣味性。

8804

java 工作流框架_java工作流是什么?哪些工作流框架比较好?

由于java编程语言本身的强大性,导致学习它需要掌握极其庞大的知识群。今天就带大家了解一下什么是java的工作流,以及为大家介绍一下哪些工作流框架比较好。简单来说,java工作流就是一个基于java开发的流程框架,一般情况下,好的工作流在开发时是不需要写代码的,直接配置就可以了。它一般在OA系统应用的频率比较高。那么哪些工作流框架比较好呢?首先Activiti、JBPM、JBoss Seam、XJ...

weixin_30820933的博客 7375

使用 MATLAB/Simulink 构建一个 光伏-储能联合系统接入10kV配电网 的协同控制仿真模型

本教程详细介绍了基于Simulink的光伏-储能联合系统在配电网中的协同控制仿真方法。主要内容包括:系统结构设计(光伏阵列、储能电池、双向变流器等);建模流程(MPPT控制、BMS系统、PCS矢量控制);核心协同控制策略(功率平滑、削峰填谷、电压支撑的三层控制架构);仿真结果分析方法及性能评估指标。教程提供了从组件建模到系统集成的完整指导,并建议了模型预测控制、微网孤岛运行等进阶方向,帮助开发者掌握智能电网的关键仿真技术。通过该模型可实现可再生能源的高效利用与电网稳定运行的平衡。

amy_mhd的博客 214

什么是工作流,flowable 与 Activiti对比

工作流,是指“业务​过程的部分或整体在​计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。 在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。就好比一般的请假流程,小明会先提出请假申请,然后由Leader审批或者Manager进行审批,直至审批通过或者拒接。 如果让我们实现请假单状态的切换,那么用一个字段来标识就可以了。 然而对于复杂的状态或者状态维度增加且状态流转的条件极为复杂,可能单纯用字段记录状态的实现方式就会不那么理想。 工作流解决的痛点在于,解除业

阿泽的博客 2万+

FAST-LIVO2 源码精读(十八):实时性优化、漂移排查与工程落地

FAST-LIVO2 的工程价值,不在于某一个孤立的技巧,而在于它把"激光的几何精度、惯性的高频预测、视觉的纹理与色彩"用一套简洁的滤波框架紧紧拧在一起,又在实时性、鲁棒性、可扩展性之间取得了难得的平衡。先用内建计时表定位瓶颈,再按降采样、并行、滑窗、编译优化、双频输出逐项加速;遇到漂移先看现象、循诊断树定位根因、回到对应章节取解法。十八篇至此收束。

PX4-SLAM-PNC 214

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

还在纠结Java AI框架怎么选?5大框架横评对比,看完不再迷路

Java做AI,到底该选哪个框架?这是 2025 年以来,几乎每个 Java 开发者都问过的问题。随着大模型应用井喷式爆发,Python 生态里 LangChain、LlamaIndex 早已杀疯了,而 Java 这边也终于迎来了自己的"三国时代"——Spring AI和,三足鼎立,各有千秋。但问题也来了:这三个框架到底是什么关系?谁是谁的"儿子"?谁又是独立山头?什么场景该用哪个?今天这篇文章,就把这些问题一次性讲透。Java 的 AI 时代已经到来,而且来势汹汹。

gxy03的博客 1613

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

工作流引擎对比

工作流,是指“业务​过程的部分或整体在​计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。在微服务、云计算、服务编排、LCDP等大环境下,camunda的前景优势会慢慢体现出来,作为下一代的工作流引擎,也会逐渐引起更多人的关注。Activiti和Flowable作为传统的工作流引擎,其设计思想和理念还是很值得CRUD boy们去学习研究下的。

蓝天⊙白云的博客 2032

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

[转]什么是工作流,flowable 与 Activiti对比

工作流,是指“业务​过程的部分或整体在​计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。在微服务、云计算、服务编排、LCDP等大环境下,camunda的前景优势会慢慢体现出来,作为下一代的工作流引擎,也会逐渐引起更多人的关注。Activiti和Flowable作为传统的工作流引擎,其设计思想和理念还是很值得CRUD boy们去学习研究下的。

Admans的专栏 2512

JAVA的jBPM工作流框架

工作流(Workflow)是指将一个工作过程分解成一系列有序的任务、活动或操作,并定义它们之间的关系和依赖,以实现对工作流程的管理、控制和优化。在 Java 中,工作流通常是指使用 Java 技术来实现和管理工作流程的系统或框架。工作流 Java 可以用于管理和自动化各种类型的业务流程,如审批流程、订单处理流程、报销流程等。它可以帮助组织和企业实现业务流程的自动化、标准化和优化,提高工作效率和质量。

m0_65037354的博客 3489

java 工作流框架都有哪些_java工作流框架有哪些?哪个比较好?

Java中每一种技术都一般都有着对应的框架,其中,工作流也不例外,本篇就将带你了解各种工作流框架,快来看看吧。一、jBpmjBpm是所有引擎中最适合扩展的代表,是在所有开源引擎里最适宜被商业化应用的一款。这是因为它的流程建模模型是基于ActivityDiagram(活动图)的,且它还在引擎构建上融入了FSM和PetriNet思想,所以它的内核和根基较为牢固扎实。二、OSWorkflow作为所有工作...

weixin_35601445的博客 9548

工作流框架研究

工作流是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如前后组织在一起的逻辑和规则,在计算机中以恰当的模型表逢并对其实施计算。工作流要解决的主要问题是: 为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。

轻狂书生FS的博客 1151

Java 领域的 AI 工作流/智能体编排框架对比

本文对比了Java领域四大AI工作流编排框架的特点和适用场景。LangGraph4j是框架无关的轻量级编排引擎,适合需要循环和重试的复杂流程;Spring AI Alibaba Graph深度集成Spring生态,提供企业级特性;Solon-AI以高性能和全场景支持见长;MaxKB4j则专注于开箱即用的RAG解决方案。与传统工作流不同,这些框架专为处理LLM的非确定性任务设计,支持循环图和显式状态管理。选型建议:灵活编排选LangGraph4j,企业级项目选Spring AI Alibaba Graph,高

ALONG的博客 526

java 工作流 轻量级,java轻量级工作流框架

( 基于 Java 平台的 轻量级 IOC 容器) , Hibernate( 基于 Java 平台的数据 持久化框架)和 JBOSSJBPM(JavaBusinessProcessManagement) 开源的轻量级工作流引擎实现 ......目前,基于Java的工作流软件在迅速发展之中。高端产品WebLogic Intearation功能和性能都不错,但售价很高,开源工作流软件最突出的有jBPM...

weixin_31460419的博客 1611
上一篇: Java四大主流开源工作流引擎分析Shark,osworkflow,jbpm,jflow
下一篇: 关于大数据导入流程引擎ccflow的方案
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驰骋低代码、工作流、表单引擎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值