# warm-flow **Repository Path**: dromara/warm-flow ## Basic Information - **Project Name**: warm-flow - **Description**: Dromara Warm-Flow,国产的工作流引擎,以其简洁轻量、五脏俱全、灵活扩展性强的特点,成为了众多开发者的首选。它不仅可以通过jar包快速集成设计器,同时原生支持经典和仿钉钉双模式 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.warm-flow.com/ - **GVP Project**: No ## Statistics - **Stars**: 8079 - **Forks**: 775 - **Created**: 2023-09-04 - **Last Updated**: 2025-10-25 ## Categories & Tags **Categories**: workflow **Tags**: 自研, 工作流, 国产 ## README
## 演示地址
- admin/admin123
演示地址:http://www.warm-flow.cn
## 使用文档与联系方式
https://www.warm-flow.com/
> 部分地区访问不了,可本地部署
https://gitee.com/warm_4/warm-flow-doc.git
## 组件所需脚本
- 首次导入,先创建数据库,找到对应数据库的全量脚本[warm-flow-all.sql](https://gitee.com/dromara/warm-flow/tree/master/sql/mysql),执行
- 如果版本更新,找到对应数据库的更新版本,比如xx-upgrade,[warm-flow_x.x.x.sql](https://gitee.com/dromara/warm-flow/tree/master/sql/mysql/v1-upgrade),执行
## 官网流程定义案例json
[官网流程定义案例json](https://gitee.com/dromara/warm-flow-test/tree/master/warm-flow-core-test/src/main/resources)
有典型的流程案例,可以发给我json文件
## 测试代码
> 测试代码[warm-flow-test](https://gitee.com/dromara/warm-flow-test)项目中,warm-flow-xxx-test模块的测类
## 与Activiti、Flowable对比
| **工作流** | **Activiti** | **Flowable** | **Warm-Flow** |
|-------------|-------------------------------|--------------------------------------|---------------------------------------------------|
| **项目背景** | Apache 基金会。 | 由 Activiti 原团队创建,功能更优化。 | 国产工作流引擎([Dromara 社区](https://dromara.org/)) |
| **社区活跃度** | 社区规模大,但近年活跃度下降。 | 社区活跃,迭代快 | 文档和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即可兼容
* [x] MySQL
* [x] Oracle
* [x] PostgreSQL
* [x] SQL Server
* [ ] ......
## 支持orm框架类型
* [x] mybatis
* [x] mybatis-plus
* [x] jpa
* [x] easy-query
* [x] mybatis-flex
* [ ] ......
## 工作流集成服务
如果有需要集成工作流,或者你有项目想要外包,可以微信联系【warm-houhou】。
> **有想扩展其他orm框架和数据库的可加qq群联系群主**
## 推荐
大家在使用本项目时,推荐结合贺波老师的书
[《深入Flowable流程引擎:核心原理与高阶实战》](https://item.jd.com/14804836.html)学习。这本书得到了Flowable创始人Tijs Rademakers亲笔作序推荐,对系统学习和深入掌握Flowable的用法非常有帮助。
## 你可以请作者喝杯咖啡表示鼓励

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