[Open Source] A Simple, Practical, and Easy-to-Use Workflow Engine Supporting Multi-Tenancy and Commercial Secondary Development

Open SourceProcess Management
2026-06-28 05:14 3 次浏览 • 0 次下载 0KB
[Open Source] A Simple, Practical, and Easy-to-Use Workflow Engine Supporting Multi-Tenancy and Commercial Secondary Development

1. Project Overview

warm-flow Workflow

This project is an extremely simple workflow engine with minimal design complexity and a small codebase. It has only 6 database tables, and you can understand the entire design in about an hour. It is easy to use.

2. Open Source License

Licensed under Apache-2.0

3. Screenshots

Workflow designer

Demonstration Picture

Image Image

Image

Image
Image Image
Image Image
Image Image
Image Image
Image Image
Image Image

Add New Definition

Process Code and Process Version: Ensure uniqueness.

Approval Form Path: Records the page path used to display pending task information. The path to the task details page is saved and retrieved when a pending task is clicked, allowing the page to be loaded dynamically.

Image

Process Design

The front end uses logic-flow for diagram drawing. The resulting JSON is converted into the XML format required by the workflow components.

The backend parses the XML and saves the workflow definitions to the flow_definition, flow_node, and flow_skip  tables.

ImageImage

Workflow Page Demo

Start Workflow Instance

The demo project includes five predefined workflows and code for starting them. Starting a workflow executes it directly to the node immediately following the start node.

Image

Image

Submit Workflow

After submission, the workflow proceeds to the designated task, which is handled by the corresponding authorized user configured in the workflow design.

Image

Image

Process Workflow

If the gateway is an exclusive gateway, the system checks whether the conditions are met.

Image Image

Image

Reject Workflow

Image

Workflow Diagram

The workflow diagram is generated based on the node coordinates returned by the front end. The backend uses Graphics2D to render the diagram and returns the resulting image to the front end for display.

Image

Image

Conditional Expressions

Built-in operators currently include greater than, greater than or equal to, equal to, not equal to, less than, less than or equal to, contains, and does not contain. Additional operators can also be implemented.

To extend the functionality, implement ExpressionStrategy.java or inherit from ExpressionStrategyAbstract.java.

Then register it using this method: ExpressionUtil.setExpression

Image

Image

4. Feature Overview

  • Supports basic workflow transitions, such as jumping, rollback, and approval.

  • Supports permission configuration for roles, departments, users, and more.

  • The official project provides a simple workflow integration demo, which is very practical.

  • Supports multi-tenancy.

  • Supports pending and completed tasks, with data filtered by permission identifiers.

  • Supports exclusive and parallel gateways (countersignature and joint approval).

  • Can return to any previous node.

  • Supports extensible conditional expressions.

  • Supports both Spring and Solon.

  • Compatible with Java 8 and Java 17. Java 11 should theoretically also work.

  • Supports extensions for different ORM frameworks and databases.

5. Tech Stack

Quick Start

Before getting started, we assume that you already:

  • Are familiar with Java environment configuration and development.

  • Are familiar with relational databases such as MySQL.

  • Familiarity with Spring Boot or Solon and related frameworks is required.

  • Are familiar with Java build tools such as Maven.

Import SQL

Import the warm-flow.sql file from the component directory: warm_4/warm-flow/blob/master/sql/warm-flow.sql

Database Schema

warm_4/warm-flow/wikis/%E8%A1%A8%E7%BB%93%E6%9E%84?sort_id=9330548

Maven Dependencies

Spring Boot Project

<dependency>
      <groupId>io.github.minliuhua</groupId>
      <artifactId>warm-flow-mybatis-sb-starter</artifactId>
      <version>Latest Version</version>
</dependency>

Solon Project

<dependency>
      <groupId>io.github.minliuhua</groupId>
      <artifactId>warm-flow-mybatis-solon-plugin</artifactId>
      <version>Latest Version</version>
</dependency>

Supported Database Types

  • mysql

  • oracle

  • sqlserver

  • ......

Supported ORM Frameworks

  • MyBatis and its enhancement components

  • jpa

  • easy-query

  • wood

  • sqltoy

  • beetlsql

  • ......

If you want to extend support for other ORM frameworks or databases, please contact the author.

Code Examples

For the following test code, please refer to the corresponding files in the hh-vue project.
hh-vue/hh-admin/src/test/java/com/hh/test/service/impl/FlowTest.java
More content, please refer to README.md document
#1
资源直链https://gitee.com/warm_4/warm-flow
去下载
星河码客

发现和分享优质开源项目,传承互联网精神,为开发者服务。

关于本站

联系我们

微信/广告合作:ITcloub (备注星河码客)

免责声明:本站资源版权归原作者所有,仅供学习与交流。如有侵权,请通过「关于我们 - 侵权投诉」联系删除。

Powered by Nuxt · Deployed on Cloudflare