Zoumadi

A distributed BPMN workflow engine with no central database.

Zoumadi is a commercial BPMN workflow engine. Process state lives in a replicated log on NATS JetStream rather than a central database. An independent BPMN Modeler and an enterprise Cockpit for operational visibility come with it.

Discuss an evaluationExplore the product →

The problem

A workflow engine that keeps process state in a relational database writes every token move, every wait state and every variable into that database, inside a transaction. It is a sound design, and while the load fits within one database it is the right one: a single transactional store is the simplest thing that can hold process state correctly.

It also sets a ceiling, and the ceiling is architectural rather than a matter of tuning. The engine owns the state, and that state lives in one database, so the throughput of that database bounds the engine. Work can be moved around the engine — dispatch, history, outbound calls — which defers the ceiling without removing it. Removing it means moving ownership of the state out of the database altogether.

That is where Zoumadi starts. The record of what happened is a replicated, ordered log held across the cluster, and every other view of a process is derived from it, so there is no central database to queue behind. It runs a supported subset of Camunda 7 dialect models, so an estate that already holds its processes in that dialect is not asked to re-author them.

Three components, one product

Engine

Executes your workflows.

Read more →

Modeler

Draws and edits your BPMN diagrams.

Read more →

Cockpit

Shows what Engine is running, read-only.

Read more →

Built on NATS JetStream

The execution core keeps process state in a replicated command log, with key-value projections derived from it, and needs no relational database of its own.

Service tasks are carried out by external worker processes that connect over NATS; the engine itself does not run your task code.

How to evaluate Zoumadi

  1. Understand the product and the problem it addresses — you are reading that step now.
  2. Explore Engine, Modeler and Cockpitand what each one does.
  3. Assess architecture,prerequisites and your models' likely compatibility on the Capabilities page.
  4. Request a demo or an evaluationthrough the approved contact route.