Skip to content
ProcessBlocksA DemandFlow product

Architecture

The process should not need its own software stack.

A traditional workflow can scatter its flow, forms, permissions and integrations across separate systems. ProcessBlocks gives each responsibility a place, so a process folder can use the same platform services.

From definition to completed work

What happens when someone works on a case?

The person sees one work surface. Behind it, each platform component has a specific job.

Browser

A person opens a task

They see the right form and the current case.

Keycloak · oauth2-proxy

Sign-in is checked

Identity and groups tell the platform who is asking.

ProcessBlocks Web

The workspace guides them

ProcessBlocks renders the form and checks access and submitted values.

Operaton

The model moves the case

The BPMN diagram determines the next task or decision.

Gateway · PostgreSQL

Records stay controlled

Process data and documents are stored behind the platform’s data boundary.

Automated steps in the BPMN diagram

Worker · modules

Routine steps happen

Declared modules perform automated tasks and report their outcome.

ProcessBlocks Paper

Documents get processed

A separate service handles PDF work when the diagram requests it.

What those boundaries solve

One answer to each operating question.

A process author models the work; the platform supplies the common machinery.

Who can work on this case?

The application checks the person’s groups for visibility, starts and tasks. Each process does not build its own access screen.

What happens next?

Operaton follows the same BPMN diagram the author drew. The flow is visible instead of hidden inside form code.

Who does the routine work?

The worker serves declared modules for many processes. An automated step has a place in the diagram and in the failure view.

What did this version mean?

The model and its supporting definitions stay together. A running case remains tied to its original version.

Independent backends

The process names the work, not the server.

An automated BPMN step names a topic. The engine holds the task until a backend subscribed to that topic fetches it. The frontend need not select a particular backend.

Backends attach themselves

A backend polls the engine for tasks on topics it can serve. The frontend shows whether every required topic is covered, without a manual attachment step.

Split work by topic

A backend can serve many topics, or a dedicated backend can serve just one. Different kinds of work can run in separately deployed services.

Keep the process stable

Moving a task handler to another backend does not change the BPMN topic, the form or the person’s workspace. The deployment can evolve around the process.

Rust services around a BPMN engine

The ProcessBlocks web application, worker, data gateway and Paper service are written in Rust. Operaton runs the Java-based BPMN engine; the browser uses HTML, CSS and JavaScript.

Technical advantages

Architecture yields concrete behavior.

These decisions can be observed in operation.

An engine we can evolve

Operaton is an open-source Camunda 7 fork maintained by DemandFlow. We can resolve engine questions and platform changes together.

Versions freeze together

An active instance remains bound to the bytes of its process version. Changing an older version stops startup rather than silently changing its meaning.

Capabilities are explicit

A process declares the steps and inputs it needs. Installation makes approval visible.

Failures have a place

Automated tasks can be retried, routed as BPMN errors or investigated in the dead-letter view.

One set of form rules

A field declaration drives both rendering in the browser and validation on submission, even if the request never ran JavaScript.

Run in your environment

The application has no required cloud service. Even AI steps have no default model provider.

One example of a boundary

Document work has its own service.

When a process needs PDF work, the diagram names that step and ProcessBlocks Paper performs it. The worker keeps its own responsibilities; PDF processing, including its MuPDF dependency, stays in a separate service.

Your process, your environment

Let’s talk about your first process.

We can show how a workflow becomes a versioned process folder, and which steps need no custom programming.

Get in touch