Flowable BPMN modeling

Modeling executable BPMN 2.0 processes for the Flowable engine: tasks, gateways, events, subprocesses and transaction boundaries, and the Flowable extensions that change runtime behavior.

Flowable exclusive, parallel and inclusive gateways

Choosing the right Flowable gateway: exclusive gateways with conditional and default flows, parallel forks and joins, inclusive gateways, event-based gateways, and the modeling mistakes that leave tokens waiting.

Flowable timer events, deadlines and escalations

Using Flowable timer start, intermediate and boundary events for reminders, SLA escalations and scheduled processes, ISO 8601 durations and cycles, interrupting versus non-interrupting timers, and how the async executor fires them.

Flowable error handling with BPMN errors and retries

Handling failures in Flowable processes: throwing BPMN errors from Java delegates, error boundary and error start events, exception mapping, async retries with failedJobRetryTimeCycle, and when a failure should end in a deadletter job.

Flowable message and signal events

Waiting for and reacting to outside events in Flowable: message start and catch events, message correlation through the API, signal events and their scope, tenant-scoped signals, and when to use the event registry instead.

Flowable multi-instance tasks and parallel loops

Running a task or subprocess once per item in Flowable: sequential and parallel multi-instance, collection variables, completion conditions, boundary events on multi-instance activities, and performance limits of large collections.

Flowable call activities versus embedded subprocesses

Structuring large Flowable models: embedded subprocesses versus call activities, passing variables in and out, referencing called processes from the same deployment or by ID, versioning of called processes, and async completion.

Flowable event subprocesses

Handling events anywhere in a Flowable process scope with event subprocesses: error, message, signal and timer starts, interrupting versus non-interrupting behavior, and patterns for cancellation and status requests.

Flowable compensation and transaction subprocesses

Undoing completed work in Flowable with compensation handlers, compensation boundary and throwing events, and transaction subprocesses with cancel events, for long-running business transactions that span several systems.

Flowable script tasks with Groovy and JavaScript

Writing Flowable script tasks safely: JSR-223 script languages, adding Groovy, the JavaScript engine question on Java 17 and later, reading and setting variables, script results, and when a Java delegate is the better place for logic.

Flowable Java service tasks, delegates and expressions

Calling Java code from Flowable service tasks: class, expression and delegateExpression options, field injection, triggerable service tasks, execution listeners, and using Flowable services from inside a JavaDelegate.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.