Skip to content

Warm-Flow国产工作流引擎🎉,其特点简洁轻量,五脏俱全,可扩展,是一个可通过jar引入设计器的工作流。。解决flowable和activities复杂、学习成本高和集成难等痛点。

License

Notifications You must be signed in to change notification settings

dromara/warm-flow

Repository files navigation

logo

Warm-Flow工作流

fork fork fork fork fork

项目代码、文档 均开源免费可商用 遵循开源协议即可

过去、现在和未来都不会有商业版!!!

开发完成请务必登记使用项目列表,登记地址

介绍

Dromara Warm-Flow,国产的工作流引擎,以其简洁轻量、五脏俱全、灵活扩展性强的特点,成为了众多开发者的首选。它不仅可以通过jar包快速集成设计器,同时原生支持经典和仿钉钉双模式,还具备以下显著优势:

  • 简洁易用‌:仅包含7张表,代码量少,上手和集成速度快。
  • 审批功能全面‌:支持通过、退回、驳回到上一个任务、撤销、拿回、任意跳转、转办、终止、会签、票签、委派、加减签、互斥和并行网关等多种审批操作,以及条件表达式、办理人表达和监听器等高级功能。
  • 流程设计器‌:通过jar包形式快速集成到项目,支持节点属性扩展,原生支持经典和仿钉钉双模式。
  • 流程图‌:自带流程图,通过jar包快速集,功能扩展,原生支持经典和仿钉钉双模式。
  • 条件表达式‌:内置常见的和spel条件表达式,支持自定义扩展。
  • 办理人变量表达式‌:内置${handler}和spel格式的表达式,满足不同场景需求,灵活可扩展。
  • 监听器‌:提供四种监听器,支持不同作用范围和spel表达式,参数传递灵活,支持动态权限。
  • 流程变量‌:在整个流程办理过程起到重要的角色,如办理人表达式中,传入变量进行动态指定办理人。
  • ORM框架支持‌:支持MyBatis、Mybatis-Plus、Mybatis-Flex、Jpa、Easy-Query和BeetlSql,后续将扩展支持其他框架
  • 数据库支持‌:支持MySQL、Oracle、PostgreSQL和SQL Server,其他数据库只需要转换表结构即可支持。
  • 多租户与软删除‌:流程引擎自身维护多租户和软删除实现,也可使用对应ORM框架的实现方式。
  • 兼容性‌:同时支持Spring和Solon,兼容Java8、Java17、Java21。
  • 实战项目‌:官方提供基于Ruoyi-Vue封装的实战项目,极具参考价值。
希望一键三连,你的⭐️ Star ⭐️是我持续开发的动力,项目也活的更长

github地址 | gitee地址 | gitCode地址

演示地址

  • admin/admin123

演示地址:http://www.warm-flow.cn

使用文档与联系方式

https://warm-flow.dromara.org/

部分地区访问不了,可本地部署 https://gitee.com/warm_4/warm-flow-doc.git

组件所需脚本

  • 首次导入,先创建数据库,找到对应数据库的全量脚本warm-flow-all.sql,执行
  • 如果版本更新,找到对应数据库的更新版本,比如xx-upgrade,warm-flow_x.x.x.sql,执行

官网流程定义案例json

官网流程定义案例json

有典型的流程案例,可以发给我json文件

测试代码

测试代码warm-flow-test项目中,warm-flow-xxx-test模块的测类

与Activiti、Flowable对比

工作流 Activiti Flowable Warm-Flow
项目背景 Apache 基金会。 由 Activiti 原团队创建,功能更优化。 国产工作流引擎(Dromara 社区
社区活跃度 社区规模大,但近年活跃度下降。 社区活跃,迭代快 文档和Ruoyi-Vue实战案例较完善,社区活跃,更新快
数据库表结构 约 25 张表,分类简单。 约 40 张表(部分版本达 79 张),分类更细。 仅 7 张表,结构极简,维护成本低。
功能与扩展性 基础 BPMN 支持,插件机制有限。 支持动态流程修改、REST API、多实例任务优化。 审批功能全面,基于json定义,支持办理人表达式、监听器、变量表达式表达式、动态权限。
流程设计器 需独立部署或集成第三方工具,通常只有经典模式设计器。 需额外配置或扩展,通常只有经典模式设计器。 通过 Jar 包快速集成,支持节点属性扩展,原生支持经典和仿钉钉双模式
流程图 生成静态 BPMN 流程图,颜色和样式固定。 需结合bpmn.js,集成难度高,扩展困难 自带流程图,通过jar包快速集,设置节点状态颜色,功能扩展等,原生支持经典和仿钉钉双模式
数据驱动 内部是通过mybatis进行增删改查,对其他orm不支持。 同左。 支持多 ORM 框架
多租户与软删除 需自行实现或依赖外部框架。 原生支持多租户和软删除。 原生支持多租户和软删除,也可复用 ORM 框架实现。
数据库支持 主流数据库(MySQL、Oracle 等)。 同左。 支持 MySQL、Oracle、PostgreSQL、SQL Server,和国产数据库
条件表达式 基础条件支持。 支持 SpEL 表达式。 内置 SpEL 和自定义表达式,支持动态权限和参数传递。
办理人表达式 基于 UEL实现,支持简单变量和固定角色分配。 支持UEL、SpEL 表达式,可通过动态变量、角色、部门等灵活分配任务。 默认表达式和支持 SpEL ,支持自定义规则
适用场景 简单流程或旧系统兼容。 复杂流程、高扩展性需求。 国产化、轻量级项目,快速审批场景,灵活扩展和低代码集成。

应用场景

Dromara Warm-Flow作为一个国产的工作流引擎,其设计简洁轻量但功能全面,适用于多种应用场景,尤其是针对中小型项目。以下是一些典型的应用场景:

  1. 企业内部流程管理:用于管理企业的日常业务流程,如请假、报销、采购审批等。
  2. 项目管理:在项目管理中,Dromara Warm-Flow可以用来跟踪项目任务的状态,管理项目流程,确保项目按计划进行。
  3. 客户服务流程:用于管理客户服务请求,如客户咨询、投诉处理、售后服务等。
  4. 人力资源管理:在人力资源管理中,Warm-Flow可用于员工招聘、培训、绩效评估等流程的管理。
  5. 财务和会计流程:管理财务审批流程,如发票审核、预算审批等。
  6. IT服务管理:用于IT服务请求的处理,如IT支持请求、系统变更管理等。
  7. 合规性和风险管理:帮助企业在遵守法规和标准的同时,管理风险和合规流程。

支持数据库类型

目前支持MySQL 、Oracle、PostgreSQL和SQL Server,其他数据库只需要转换表结构,使用Mybatis-Plus、Mybatis-Flex和Easy-Query即可兼容

  • MySQL
  • Oracle
  • PostgreSQL
  • SQL Server
  • ......

支持orm框架类型

  • mybatis
  • mybatis-plus
  • jpa
  • easy-query
  • mybatis-flex
  • ......

工作流集成服务

如果有需要集成工作流,或者你有项目想要外包,可以微信联系【warm-houhou】。

有想扩展其他orm框架和数据库的可加qq群联系群主

推荐

大家在使用本项目时,推荐结合贺波老师的书 《深入Flowable流程引擎:核心原理与高阶实战》学习。这本书得到了Flowable创始人Tijs Rademakers亲笔作序推荐,对系统学习和深入掌握Flowable的用法非常有帮助。

你可以请作者喝杯咖啡表示鼓励

输入图片说明

特别感谢JetBrains对开源项目支持

JetBrains


git提交规范

[init] 初始化  
[feat] 增加新功能  
[fix] 修复问题/BUG  
[perf] 优化/性能提升  
[refactor] 重构  
[revert] 撤销修改  
[style] 代码风格相关无影响运行结果的  
[update] 其他修改  
[upgrade] 升级版本  

About

Warm-Flow国产工作流引擎🎉,其特点简洁轻量,五脏俱全,可扩展,是一个可通过jar引入设计器的工作流。。解决flowable和activities复杂、学习成本高和集成难等痛点。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 26