Quarkus Flow
Quarkus Flow is a lightweight, native-friendly workflow engine for Quarkus, built on the CNCF Workflow Specification. It lets you model classic workflows and Agentic AI orchestrations, with first-class CDI/Quarkus ergonomics.
Highlights
-
CNCF-compliant workflows via a fluent Java DSL
-
Build-time discovery of workflow descriptors and injection of compiled beans
-
Agentic workflows with LangChain4j
-
Messaging support with SmallRye
When you’d use it
-
You’re already on Quarkus and want orchestration without leaving your stack (CDI, Dev Services, config, build-time optimization).
-
You need deterministic, debuggable flows in Java—code-reviewable, testable, and observable—rather than opaque or bespoke DSLs.
-
You want agentic AI orchestration beside regular services (LangChain4j agents as first-class tasks: call, critique, loop, HITL).
-
You prefer CNCF alignment so your workflow concepts match an open specification and aren’t locked into a closed runtime.
-
You need fast start & low memory for container/serverless deployments (Quarkus + native image friendly).
-
You want compile-time discovery of flows for safer wiring and simpler DI (
Flowsubclasses discovered at build time).
Why Quarkus Flow?
-
Reduce time-to-market for automations: Model cross-service processes (APIs, events, agents) with a consistent DSL and Quarkus dev-mode feedback.
-
Lower operational risk: Typed Java flows + unit/integration tests + Quarkus observability = fewer production surprises.
-
Govern AI interactions: Encode guardrails (critique/revise loops, compliance checks, HITL steps) as explicit tasks and transitions.
-
Improve portability & longevity: Concepts map to the CNCF Workflow Spec, lowering re-platforming cost and vendor lock-in.
-
Orchestration in the same language/runtime as services: Developers implement and review workflows in Java, using familiar Quarkus tooling and CI.
-
Compliance & auditability of automated decisions: Flows are explicit code; reviews, tests, and logs provide traceability for audits.
-
Human-in-the-loop (HITL) control for AI: Encode pause/review/approve steps and event-driven resumes to keep humans in control.
-
Resilience & recoverability: Declarative retries, error paths, and event listeners make failure behavior predictable.
-
Observability & supportability: Integrates with Quarkus metrics/logging; flow boundaries make SRE triage easier.
-
Performance & scalability in cloud environments: Quarkus native compatibility supports fast startup and high density for microservices/serverless.
-
Standards alignment: Tasks, events, data mapping, and transitions align with the CNCF Workflow Specification to ease long-term maintenance.
-
Extensibility for AI & integrations: LangChain4j agents, HTTP/OpenAPI calls, and messaging tasks can be combined in one model.
Typical use cases
-
Back-office automation: approval chains, enrichment, notifications, SLAs with retries and timeouts.
-
Agentic AI pipelines: draft → critique → revise loops with compliance checks and HITL reviews.
-
Service orchestration: call multiple microservices (OpenAPI/HTTP), correlate events, and emit domain events.
-
Event-driven processes: wait for external signals (e.g., “review.required”), then resume with captured context.
How it compares (high-level)
The landscape is rich; here’s a brief, opinionated snapshot to help positioning. This is not exhaustive—evaluate with your team’s constraints.
| Project | Model & runtime | Strengths | Consider when… | Fit vs Quarkus Flow |
|---|---|---|---|---|
Temporal |
Code-first workflows (SDKs in several languages) with a separate Temporal Cluster (services: History/Matching/Frontend). Durable timers/queues built-in. |
Excellent reliability story (durable execution, retries, signals), strong developer experience for long-running workflows. |
You’re fine running a dedicated Temporal cluster and adopting its programming model/SDK; language polyglot is important. |
Quarkus Flow keeps everything in your Quarkus app with CDI & build-time discovery, and aligns with the CNCF Workflow concepts. You avoid running a separate orchestration control plane. |
Camunda 8 |
BPMN 2.0 (diagram-first) with Zeebe engine; separate SaaS/self-managed control plane; Java/Polyglot workers. |
Business-friendly diagrams, mature ecosystem, monitoring/ops tooling out of the box. |
You want BPMN for stakeholder collaboration and can operate Zeebe/Console (or use SaaS). |
Quarkus Flow favors code-first (fluent Java) and CNCF alignment; lighter footprint inside your Quarkus services; easier to unit test alongside code. |
Netflix Conductor |
JSON/YAML workflow definitions; server orchestrator + workers (HTTP/GRPC); strong microservice orchestration patterns. |
Good for service orchestration with pluggable tasks and external workers; battle-tested at scale. |
You’re comfortable with an external orchestrator and JSON/YAML modeling + worker model. |
Quarkus Flow keeps models and tests in Java, integrates tightly with CDI/Quarkus, and adds agentic AI/HITL patterns while mapping to CNCF concepts. |
|
Nothing stops you from a hybrid approach:
|