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.
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 fileLocal 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.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
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.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
