Zoumadi

Product

Zoumadi is three separate deliverables, not one browser application. Engine runs your workflows. Modeler is where you draw and edit them. Cockpit is where you watch them run. Each one installs on its own. None of the three requires the other two, and none quietly becomes another.

The table below is the whole shape. The sections after it give each component its own room, in the same order: Engine, Modeler, Cockpit.

Component Role Delivery form Depends on
Engine Executes a supported subset of Camunda 7 dialect BPMN models Java service NATS JetStream cluster, external workers
Modeler Draws and edits BPMN diagrams in your browser Static browser app Nothing beyond a browser
Cockpit Shows the state of what Engine is running, read-only Java+Spring web app An OIDC identity provider, Engine’s NATS projections

A model moves between these three components the way a document moves between an editor and a reader. You draft it in Modeler, you deploy it to Engine, and you watch it run in Cockpit. Each one installs and runs on its own, so you adopt them in whatever order suits your estate.

Engine

The problem Engine addresses is ordinary and specific: an organisation already has BPMN process models — often written for a Camunda 7 dialect engine — and needs somewhere to run the subset that still applies, without adopting a new modeling language or a new relational database to hold instance state.

Engine’s execution core keeps that state in a replicated log rather than a database table. A process instance’s history is the sequence of entries the log recorded for it; derived, read-oriented projections are built from that log for lookups, not the other way round. Work that a process hands off to the outside world — a service task — is pushed to an external worker over NATS rather than executed inside the engine process itself.

Engine reads its BPMN models through the CIBSeven model layer, which understands the Camunda 7 dialect. Not every construct that layer can parse is one Engine can also run: compatibility has to be checked model by model, against the supported subset described on the Capabilities page. A model that relies on constructs outside that subset is not assumed to run unchanged on Zoumadi.

Running Engine has prerequisites beyond the jar itself: a NATS JetStream cluster, one or more external worker processes for your service tasks, and — for anything reachable from outside the deployment’s own network — an ingress gateway in front of it. The Requirements page lists these plainly, each with its own status.

Modeler

Modeler is where a process designer works on a diagram before it goes anywhere near Engine. It runs entirely in your browser: opening it needs nothing more than the page itself, and a diagram you create or edit stays in that browser tab until you download it. There is no save-to-server action and no live connection to an Engine deployment — moving a model from Modeler to a running system is a deliberate, separate step you take with the downloaded file.

Modeler’s palette comes from a general Camunda 7 editing library, so it is a full drawing surface: Engine’s own deploy-time check is the one place that decides what a given model runs. If you want to know whether a diagram you already have is a candidate, Is Zoumadi a fit? walks through how that question gets answered.

Cockpit

Cockpit is the enterprise operations application: a place to look at what Engine is doing, without a way to change it from there. It is read-only by design and never mutates a process instance itself. A person opens Cockpit through a deployment-supplied OIDC identity provider, and the pages it renders read bounded projections of Engine’s own state rather than holding a separate copy of the truth. Its current status is stated below with its source and date.

Cockpit is licensed as an enterprise component, alongside Engine, under a written agreement rather than bundled in by default. If you want to know what its current build status means in practice before asking further questions, discuss it directly.

Zoumadi runs a declared subset of Camunda 7 dialect models — none start/end events, external service tasks and call activities — without converting them. Compatibility is assessed model by model, and anything outside the subset is refused at deploy time rather than run incorrectly. — for the supported linear subset.

External workers receive, complete or fail service-task jobs over NATS job subjects, with redelivery on failure. — push, redelivery, completion and failure handling.

A process can call another process as one linear step, naming the callee by its process id and copying typed variables in and out by name. — by static process id, with latest, version or deployment binding and ordered typed variable copies.

Commands and jobs travel over a NATS-native protocol rather than REST or gRPC; a deployment still needs its own external ingress for traffic from outside the cluster. — callers must follow the documented at-least-once and idempotence rules.

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.

Cockpit is designed for people to sign in through your own OIDC identity provider, so Zoumadi keeps no identity directory of its own.

Java 21 (Temurin) is the current build and runtime baseline for Engine and Cockpit.

Evaluation copies are delivered through the commercial process.

Zoumadi Modeler is an independent browser application: create or open a diagram, edit its shapes and Camunda 7 properties, undo and redo, and download the BPMN file. It needs no Cockpit, Java, NATS, account or licensing service to run.

Modeler draws the full standard BPMN palette, and Engine's own deploy-time validator determines what it will run. — the engine's own validator decides what can execute.

Zoumadi Cockpit is a separate, read-only, server-rendered operations application: it reads bounded projections of Engine state, signs people in through an external OIDC identity provider, keeps sessions encrypted and records durable audit evidence of sensitive reads. No browser ever talks to NATS.