BPMN for Microservice Orchestration – Part 1: Introduction, Core Patterns, and Zeebe Support
This article introduces BPMN as a mature, ISO‑standard modeling language, explains why it fits modern microservice orchestration, outlines core workflow patterns such as sequencing, gateways, message correlation, timers, and error handling, and describes the current and upcoming BPMN support in the Zeebe engine.
We are building Zeebe as a next‑generation workflow engine capable of handling tens or hundreds of thousands of new workflow instances per second for emerging use cases such as microservice orchestration.
To achieve this, we rely on a nearly 15‑year‑old graphical modeling standard: BPMN (Business Process Model and Notation), which has been an ISO standard since 2013.
Although BPMN is battle‑tested, many readers may have never used it or consider it a legacy technology limited to monolithic or SOA environments.
“BPMN is the most underrated technology in our IMO space.” – Hacker News comment
We disagree and are publishing a two‑part blog series on why BPMN is well‑suited for new workflow use cases, especially microservice orchestration.
Part 1 will:
Provide a quick introduction to BPMN.
Explain why a mature standard that thrived in the past can still thrive in the future.
Show common business‑process patterns supported by BPMN.
Discuss the current state and future roadmap of BPMN support in Zeebe.
Part 2 will:
Dive deeper into BPMN’s graphical model (and alternative workflow definition methods).
Show examples where a graphical model dramatically simplifies workflow definition compared with code‑based models.
Brief Introduction to BPMN
BPMN is a widely used modeling standard for defining and executing business processes. First released in 2004, the modern BPMN 2.0 specification (adopted in 2011) is the version used by Zeebe and has been an ISO standard since 2013.
BPMN defines both a graphical model and execution semantics: the visual model is stored as an XML file that can be executed directly by a workflow engine, which maintains persistent state for running workflow instances.
For example, the model below is represented by the following XML:
Importantly, BPMN does not involve code generation or transformation; the XML itself is the source code, and BPMN focuses solely on the process, leaving the rest of the solution to regular code.
This is crucial for microservice orchestration: external workers execute tasks within your workflow, and BPMN can connect those tasks to microservices without violating loose coupling or service independence.
Extending the example order workflow, we could build three microservices for payment, inventory, and shipping, with the workflow engine routing work to the appropriate service at each step.
BPMN is mature, popular, and proven in many automation projects, which means there is a large pool of experienced BPMN practitioners, tutorials, and books that make learning the standard easy for newcomers.
Can BPMN Handle Modern Architectures?
We use a metaphor: just as the automobile engine has evolved over 130 years while the basic concept of “flow” (roads, signs, laws) remains largely unchanged, BPMN provides timeless flow patterns that can support many new engine advancements.
The distinction is between “flow requirements” (sequencing, parallelism, messaging) and “engine requirements” (throughput, performance, scalability). Zeebe addresses the latter by scaling to millions of workflow instances per second.
Building a new engine with a brand‑new flow language would reinvent problems already solved by BPMN, and it might not be as easily understood by all stakeholders.
In Part 2 we will compare complex real‑world workflow patterns expressed in BPMN with Amazon States Language.
Defining Business‑Process Patterns in BPMN
We do not aim to provide a complete BPMN tutorial, only to expose a subset of building blocks and illustrate their use.
Core concepts include:
Sequence flow, decisions, and parallel processing: BPMN’s core is the sequence flow that defines execution order. Gateways guide flow, and events represent external triggers.
Message correlation and timeouts: Receive tasks allow waiting for specific messages; combined with timers they enable timeout handling.
Correlation of multiple messages: Parallel gateways can wait for several messages, aggregate payloads, and continue.
Waiting for an arbitrary number of messages: Multi‑instance activities let a workflow wait for a dynamic set of messages (e.g., one per order item).
Error handling: Error boundary events model business‑logic errors (e.g., insufficient funds) without dealing with technical failures.
These patterns can be combined arbitrarily to model complex processes.
Zeebe’s BPMN Support Status
Zeebe 0.11 currently supports a core subset of BPMN symbols needed for high‑throughput use cases. Over the next quarters we will expand support to include full message correlation, timers, sub‑processes, and parallel execution, with further extensions planned for 2019 based on user feedback.
We hope this article has shown the expressive power of BPMN for defining and executing complex workflows and look forward to the second part, where we will explore graphical modeling advantages and address concerns from developers who prefer code‑first approaches.
Architects Research Society
A daily treasure trove for architects, expanding your view and depth. We share enterprise, business, application, data, technology, and security architecture, discuss frameworks, planning, governance, standards, and implementation, and explore emerging styles such as microservices, event‑driven, micro‑frontend, big data, data warehousing, IoT, and AI architecture.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.