Architecture Overview

Flowable Work is a highly dynamic case management application It is based on commonly used application frameworks, components and protocols such as:

  • Java

  • Spring Boot

  • React

  • Elasticsearch


  • REST

  • JDBC

  • Liquibase

Image Architecture Overview

The Flowable Server is designed as a Java based Spring Boot web application providing its functionality over a stateless REST API.

The Flowable Front End is a decoupled JavaScript browser application written in React communicating with the servers REST API over HTTP(S) and WebSockets with the help of SockJS. It can be served directly by the Flowable Server or by any HTTP server.

Persistence is provided using a JDBC interface allowing for connection to the most commonly used database implementations. Database initialization and migration are automatically handled by the server by using Liquibase.

To ensure high performance query and reporting of data a clusterable index server based on Elasticsearch is used in addition to the database.

Reverse proxy functions as well as load balancing between clustered instances of the Flowable Server are handled by any WebSocket capable load balancer such as NGINX.

Flowable Design is used to create the application models (BPMN, CMMN, DMN, Forms) and deploy them bundled as apps to the Flowable Work server.

Flowable Control provides information about runtime state of processes, cases, tasks, etc.