Mastering FlowLong: A Lightweight Open‑Source Workflow Engine for Chinese Enterprises

FlowLong is a domestically developed, high‑performance workflow engine that uses JSON‑based process models and a visual designer to simplify complex approval scenarios, integrates seamlessly with Spring Boot and Mybatis‑Plus, provides extensive BPMN features, and includes detailed installation, architecture, and database schema documentation.

macrozheng
macrozheng
macrozheng
Mastering FlowLong: A Lightweight Open‑Source Workflow Engine for Chinese Enterprises

With the rapid development of information technology, enterprises increasingly rely on efficient Business Process Management (BPM) to boost core competitiveness, yet many existing workflow engines suffer from complex configuration, limited flexibility, and poor support for Chinese‑style approval patterns such as countersign, add‑sign, and reject.

The answer is FlowLong, an open‑source workflow engine specifically crafted for domestic enterprises.

Introduction

FlowLong is a lightweight, high‑performance workflow engine independently developed in China. It defines process models in JSON format and provides an intuitive process designer , making process definition and maintenance unprecedentedly simple. Its design aims to precisely address the diverse and complex approval needs of Chinese enterprises.

Features

Purely domestic : fully self‑developed, technology is autonomous and not constrained by foreign restrictions.

JSON process model : process definitions are stored as clear JSON, easy to understand, maintain, and version‑control.

Visual process designer : a graphical interface allows users to drag‑and‑drop to create complex business flows.

Support for Chinese‑style approvals : native handling of sequential countersign, parallel countersign, or‑sign, vote‑sign, reject, transfer, add‑sign, etc.

Rich BPMN functions : built‑in conditional branches, parallel branches, inclusive branches and other standard BPMN controls.

Flexible integration : seamless support for mainstream ORM frameworks such as Mybatis‑Plus and development frameworks like Spring Boot.

Quick Start

Technical Architecture

FlowLong adopts a clear modular design, making the project structure easy to understand and facilitating secondary development and maintenance.

|- db                     # database script directory
|- flowlong-core          # workflow core library
|- flowlong-mybatis-plus # data access layer (default Mybatis‑Plus, adaptable to other ORMs)
|- flowlong-solon-plugin # Solon framework starter plugin
|- flowlong-spring-boot-example # Spring Boot example project
|- flowlong-spring-boot-starter # Spring Boot starter plugin
|- build.gradle          # Gradle configuration file
|- pom.xml               # Maven configuration file

Local Development

1. Clone repository : git clone https://gitee.com/aizuda/flowlong.git 2. Import into IDE : import the project and choose Gradle or Maven for dependency management.

3. Run test cases :

Initialize execution with db/flowlong-mysql.sql database script.

Locate the flowlong-spring-boot-starter module, then the test/java directory.

Find the related MySQL test classes ( Test...java) and observe table data changes.

Installation Integration

Maven :

<dependency>
  <groupId>com.aizuda</groupId>
  <artifactId>flowlong-spring-boot-starter</artifactId>
  <version>latest</version>
</dependency>

Gradle :

// Gradle version < 4.1
compile group: 'com.aizuda', name: 'flowlong-spring-boot-starter', version: 'latest'

// Gradle version >= 4.1
implementation 'com.aizuda:flowlong-spring-boot-starter:latest'

Database Schema

The engine core uses only eight tables to store logical data, employing JSON format for model storage.

Process Definition Table (flw_process)

Field

Description

id

Primary key ID

tenant_id

Tenant ID

create_id

Creator ID

create_by

Creator name

create_time

Creation time

process_key

Unique process definition key

process_name

Process definition name

process_icon

Process icon URL

process_type

Process type

process_version

Process version (default 1)

instance_url

External form launch URL

remark

Remarks

use_scope

Scope: 0‑all, 1‑specified, 2‑none

process_state

State: 0‑disabled, 1‑enabled, 2‑historical

model_content

JSON content of the process model

sort

Sorting order

Open‑Source License

Default Apache‑2.0 license, allowing commercial use under additional conditions.

Additional clause: the user must prominently display copyright information and cannot remove source‑code notices; violation upgrades the license to AGPL‑3.0.

Conclusion

FlowLong is a powerful, highly flexible open‑source workflow engine that precisely fits domestic enterprise scenarios. Its concise JSON model and deep support for Chinese‑style approval processes provide a modern, easy‑to‑integrate, and maintainable BPM solution.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

JavaworkflowJSONSpring Bootopen-sourceBPM
macrozheng
Written by

macrozheng

Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.