Flowable Workflow Engine: Core Table Structure Overview (Part 2)

The article details Flowable 6.8's modular, efficient, and extensible table design, explaining the five table categories (RE, RU, HI, ID, GE), naming conventions, key tables for repository, runtime, history, identity, and generic data, their functions, and how they relate to each other in the BPM engine.

Programmer1970
Programmer1970
Programmer1970
Flowable Workflow Engine: Core Table Structure Overview (Part 2)

Flowable 6.8’s table design reflects modularity, efficiency, and extensibility, dividing core tables into five functional groups: repository tables (RE_), runtime tables (RU_), history tables (HI_), identity tables (ID_), and generic tables (GE_).

1. Table Naming Rules and Common Structure

ACT_**

: Core engine tables covering the process engine, CMMN engine (case management), and DMN engine (decision tables). FLW_**: Flowable extension module tables such as Action, Audit, Form, etc. FLWCTRL: Tables related to Flowable control module. GE_**: Generic data tables storing engine configuration and other cross‑module data. RU_ (Runtime): Stores only active instance data; rows are deleted automatically after completion, keeping the tables small and fast. HI_ (History): Persists completed instance records for audit and analysis. RE_ (Repository): Stores static model definitions such as process definitions and resources.

2. Module Division and Functions

Repository tables (RE_) ACT_RE_DEPLOYMENT: Basic deployment information (time, name, etc.). ACT_RE_PROCDEF: Stores process definition metadata (ID, version, related resources). ACT_GE_BYTEARRAY: Holds binary resources like BPMN files and diagrams.

Runtime tables (RU_) ACT_RU_EXECUTION: Records the execution path of a process instance (main flow, parallel gateway branches). ACT_RU_TASK: Tracks current user tasks (task ID, assignee, process instance). ACT_RU_VARIABLE: Stores process variables (primitive types and serialized objects). ACT_RU_JOB: Manages asynchronous jobs such as timers and delayed tasks.

History tables (HI_) ACT_HI_PROCINST: Records historical data of process instances (start time, end time, duration). ACT_HI_TASKINST: Stores task execution history (assignee, timestamps). ACT_HI_VARINST: Captures variable change history.

Identity tables (ID_) ACT_ID_USER: User information (name, email, password). ACT_ID_GROUP: User group information. ACT_ID_MEMBERSHIP: Defines user‑group relationships.

Generic tables (GE_) ACT_GE_PROPERTY: System properties such as database version and engine version.

3. Functional Modules and Extension Support

Process Engine

CMMN engine: Manages unstructured processes like case plan items and milestones.

DMN engine: Executes decision tables for complex business rules.

Core capabilities: Supports BPMN 2.0, handling sequence flows, gateways, events, etc.

Form and Content Management FLW_FO_FORM_DEFINITION: Stores form definitions. FLW_FO_FORM_INSTANCE: Records user‑filled form data. FLW_CO_CONTENT_OBJECT: Stores binary files such as uploaded attachments.

Audit and Policy FLW_AUDIT_INSTANCE: Logs business events (operation time, operator). FLW_POLICY_DEFINITION: Defines access‑control rules.

Service Integration FLW_SE_DEFINITION: Stores REST service configurations for external system calls.

4. Table Relationships

Process definition → instance: ACT_RE_PROCDEF links to ACT_RU_EXECUTION via PROC_DEF_ID_.

Instance → task: ACT_RU_EXECUTION links to ACT_RU_TASK via PROC_INST_ID_.

Task → history: ACT_RU_TASK links to ACT_HI_TASKINST via TASK_ID_.

By inheriting from Activiti and adding CMMN, DMN support and richer extension tables, Flowable offers a comprehensive BPM solution suitable for enterprise applications that require flexible and high‑performance process management.

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.

workflowprocess-enginedatabase-schemabpmtable-designflowable
Programmer1970
Written by

Programmer1970

Formerly called 'Code to 35'. Add our main WeChat ID to access a wealth of shared resources (algorithms, interview prep, tech stacks: Java, Python, Go, big data). We mainly share serious development techniques, focusing on output-driven input. Occasionally we post life snippets and gossip. Our aim is to attract precise traffic and test advertising opportunities.

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.