ADR

ADR-013: BPM Engine Strategy — Camunda 7 Fork Evaluation & Replacement

Last updated: 2026-02-01 | Decisions

ADR-013: BPM Engine Strategy — Camunda 7 Fork Evaluation & Replacement

Status

Proposed — Pending engineering team review

Context

The platform runs two active BPM workflows on Camunda 7.17.0 Community Edition (Gen 1 stack: Java 11 / Spring Boot 2.6.8):

  1. Purchase Request (~10 states): payment → entitlements → wallet debit/credit → notifications → refunds
  2. Shoutout Video (~12 states): offer → purchase → celebrity recording → FFmpeg/Mux → admin review → delivery

Additionally, 9 legacy BPM repos exist (broadcast variants, meet-and-greet, livestream, keepsake videos) — most are inactive or superseded.

Camunda 7 CE went End of Life in October 2025. No further security patches, bug fixes, or releases will be made. The repositories have been archived and marked deprecated.

Since EOL, four community forks have emerged. The target architecture (Session 11) initially proposed replacing BPM with Spring State Machine. This ADR revisits that assumption based on two key inputs:

  1. Meet & Greet (the only Spring SM implementation) is completely retired — no Spring State Machine is running in production, and no team has active SM operational experience
  2. Strategic intent to expand process-based capabilities — BPM is seen as a platform investment for future workflows, not just a legacy dependency to replace

Current BPM Footprint

Metric Value
Engine version Camunda 7.17.0 CE
Active workflows 2 (purchase-request, shoutout)
Legacy workflows 9 repos (mostly inactive)
Max states per workflow ~12
Workflow complexity Sequential with timer events, conditional routing, message events
External integrations RabbitMQ message handlers, Stripe, Mux, wallet service
Java version 11 (deprecated, Gen 1)
Spring Boot version 2.6.8 (Gen 1)
Human task assignment None currently — all tasks are automated service/external tasks
Visual process modeling by non-developers Not used currently
BPMN designer usage Developer-only, infrequent changes

Prior Spring State Machine Implementation (Retired)

The platform previously ran Spring State Machine for the Meet & Greet workflow, which has since been completely retired:

This implementation is no longer running in production. It cannot be cited as proven infrastructure. No team members are actively maintaining or operating Spring State Machine code.

Strategic Direction: BPM as Platform Capability

The platform roadmap anticipates expanding process-based capabilities significantly beyond the current 2 workflows. Potential future BPM use cases include:

This strategic intent means the BPM engine is an investment in platform capability, not overhead to minimize. The “overkill” argument that applied when evaluating for 2 simple workflows does not apply when evaluating for a platform-wide process orchestration strategy.

Decision

Adopt Operaton as the Camunda 7 replacement. Migrate existing BPMN workflows with minimal changes. Invest in BPM as a strategic platform capability for current and future process-based features.

Why Operaton Over Other Options

Factor Operaton Fluxnova CIB Seven Spring SM
Migration from Camunda 7 Trivial — same DB schema, no migration needed Trivial — namespace change utility Trivial — dependency swap Full rewrite required
Governance risk Community-owned (eingetragener Verein) — no commercial capture FINOS/Linux Foundation — consortium governance Single company (CIB) — vendor risk returns N/A (Spring ecosystem)
Future extensibility Full BPMN 2.0, DMN, human tasks, audit trails, visual modeling Same + regulated-industry focus Same + commercial marketplace Limited — each new workflow is custom code
Operational familiarity Same engine the platform has run for years Same engine, different namespace Same engine, different namespace Completely new operational model
Spring Boot alignment v2.0 (April 2026) targets Spring Boot 4 TBD May 2026 Already Spring ecosystem
Strategic fit General-purpose BPM, scales to many workflows Focused on regulated financial services Commercial support model Diminishing returns beyond simple workflows

Alternatives Evaluated

Community-owned fork. v1.0 feature-complete, compatible with Camunda 7.24. Apache 2.0. Forming a German eingetragener Verein (registered association) for ownership. Spring Boot 4 support in Operaton 2.0 (April 2026).

Aspect Assessment
Compatibility Full — same DB schema, fully compatible with Camunda 7.24
Migration effort Near-zero — change Maven dependencies, update namespaces. Existing BPMN files, DB schema, and in-flight process instances continue unchanged
Governance Community-owned (legal entity in progress) — no commercial capture risk
Human task support Full Tasklist with audit trails — ready for future workflows
Visual modeling Full BPMN designer compatibility — enables non-developer process authoring
Operational overhead Embedded in Spring Boot — same deployment model as current Camunda 7
Java/Spring Boot Current: Spring Boot 2.x compatible. v2.0 (April 2026): Spring Boot 4
Long-term risk Medium — foundation not yet legally established, but community commitment is strong and codebase is proven (it IS Camunda 7)
Strategic fit Excellent — general-purpose BPM that scales from 2 workflows to 20+

Why chosen: Best combination of zero-effort migration, community governance (no vendor lock-in), and strategic extensibility. The platform already runs this engine — Operaton IS Camunda 7 with a different namespace. Choosing Operaton preserves all existing operational knowledge and BPMN assets while providing a foundation for future process-based capabilities.

Option 2: Fluxnova (FINOS / Linux Foundation)

Fork of Camunda 7 governed by FINOS under the Linux Foundation. Backed by Fidelity, NatWest, Deutsche Bank, Capital One. First release November 2025. Focused on audit-ready workflows for regulated financial services.

Aspect Assessment
Compatibility Full — same DB schema as Camunda 7, BPMN/DMN models work without modification
Governance Strongest — FINOS/Linux Foundation consortium, major bank backing
Migration from Camunda 7 Trivial — migration utility handles namespace changes, in-flight cases preserved
Long-term risk Low — strongest institutional backing of all forks
Best for Organizations needing audit-ready BPM in regulated industries

Why not chosen: Fluxnova’s focus on regulated financial services (audit compliance, consortium governance for banking) is more specialized than our needs. Operaton is more general-purpose. However, Fluxnova has the strongest governance model — if regulatory compliance requirements emerge, Fluxnova should be reconsidered.

Option 3: CIB Seven

Fork by CIB (German company). v2.1 released, Apache 2.0. Commercial support available. Roadmap includes Spring Boot 4 (May 2026), AI agent integration (Oct 2026).

Aspect Assessment
Compatibility Full — drop-in replacement for Camunda 7
Governance Single company (CIB) — vendor risk returns
Migration from Camunda 7 Trivial — dependency swap
Long-term risk Medium — single-company governance, potential re-commercialization
Best for Organizations wanting Camunda 7 continuity with commercial support

Why not chosen: Reintroduces single-vendor dependency — the same risk pattern that led to Camunda 7 EOL. CIB Seven’s value proposition (commercial support, marketplace, AI agents) is compelling but the governance model is a concern.

Option 4: EximeeBPMS

Fork by Consdata (Polish company). Apache 2.0. First release Q2 2025. Focused on stability for existing Camunda 7 users.

Aspect Assessment
Compatibility Full — based on Camunda 7 stable
Governance Single company (Consdata)
Migration effort Low
Long-term risk Higher — smallest community, single-company backing
Best for Polish/EU market organizations needing local support

Why not chosen: Smallest ecosystem of the four forks. No differentiated value for our use case.

Option 5: Spring State Machine

Embed lightweight state machine directly in the consolidated service. No external engine.

Aspect Assessment
Complexity fit Good for current 2 workflows (~10-12 states)
Operational overhead None — embedded in service JAR
Migration effort High — full rewrite of both workflows
In-house experience None — Meet & Greet SM is completely retired
Future extensibility Poor — each new workflow requires custom code. No visual modeling, no human task support, no process versioning, no audit trails
Strategic fit Poor — does not scale to platform-wide process orchestration
Long-term risk High for growth — if future workflows need BPM features, a second migration would be required

Why not chosen: Two critical factors changed from the initial Session 11 proposal:

  1. Meet & Greet retirement eliminates the “proven pattern” argument. There is zero Spring SM production experience on this platform. The migration would be a greenfield rewrite with no operational precedent, versus a near-zero-effort fork migration that preserves existing BPMN files and operational knowledge.

  2. Strategic intent to expand BPM usage. Spring SM is a reasonable choice if BPM is a legacy dependency to minimize. It is a poor choice if BPM is a platform capability to invest in. Each new workflow built on Spring SM requires custom state machine code, custom persistence, custom monitoring, and custom debugging. A proper BPM engine provides all of these out of the box and adds visual modeling, human task support, process versioning, and audit trails as the platform grows.

Decision Matrix

Criterion Weight Operaton Fluxnova CIB Seven Spring SM EximeeBPMS
Strategic extensibility 25% 10 10 9 3 7
Migration effort 20% 10 9 9 4 9
Governance risk 20% 8 9 5 9 4
Operational continuity 15% 10 9 9 2 8
Java 21/SB 3.x alignment 10% 8 8 8 10 7
Community & ecosystem 10% 7 8 7 9 4
Weighted Score 9.1 9.0 7.5 4.7 6.3

Weight rationale: “Strategic extensibility” is now the highest-weighted criterion (25%) because BPM is being evaluated as a platform investment, not just a migration decision. “Migration effort” remains high (20%) because we want to move off EOL Camunda 7 quickly. “Governance risk” is weighted equally (20%) because the Camunda 7 EOL was itself a governance failure — avoiding that pattern is a priority.

Operaton vs Fluxnova: Scores are nearly identical (9.1 vs 9.0). The tiebreaker is strategic fit: Operaton is general-purpose BPM while Fluxnova is focused on regulated financial services. For a fan-to-athlete engagement platform, Operaton is the better default. If compliance/audit requirements emerge, Fluxnova would become the better choice.

Migration Approach

  1. Update Maven dependencies — replace org.camunda.bpm with Operaton equivalents. Operaton provides a migration utility for namespace changes.
  2. Validate BPMN files — existing process definitions should work without modification (same BPMN 2.0 standard)
  3. Test database compatibility — Operaton uses the same DB schema as Camunda 7.24. Verify against our 7.17.0 schema (may need schema migration scripts from 7.17 → 7.24 level)
  4. Upgrade to Gen 2 stack — move BPM services from Java 11 / Spring Boot 2.6.8 to Java 21 / Spring Boot 3.x as part of migration (aligns with ADR-003)
  5. Write BDD test scenarios for every state transition path (TDD — tests before implementation)
  6. Run in parallel with Camunda 7 during validation (dual-write, compare outcomes)
  7. Drain Camunda 7 instances — stop creating new process instances, wait for in-flight to complete
  8. Switch traffic to Operaton
  9. Remove Camunda 7 dependencies — update BPM repos, remove old engine from deployment

Schema Migration Consideration

Our Camunda engine is on 7.17.0 while Operaton targets 7.24 compatibility. There may be schema migrations needed between these versions. This is a known gap that needs validation:

Future BPM Architecture Vision

With Operaton as the BPM foundation, future process-based capabilities can be built using standard BPMN:

┌─────────────────────────────────────────────────────┐
│                    Operaton BPM Engine                │
│  ┌──────────────┐  ┌──────────────┐  ┌────────────┐ │
│  │  Purchase     │  │  Shoutout    │  │  Expert    │ │
│  │  Workflow     │  │  Workflow    │  │  Onboarding│ │
│  └──────────────┘  └──────────────┘  └────────────┘ │
│  ┌──────────────┐  ┌──────────────┐  ┌────────────┐ │
│  │  Content     │  │  Event       │  │  Dispute   │ │
│  │  Approval    │  │  Lifecycle   │  │  Resolution│ │
│  └──────────────┘  └──────────────┘  └────────────┘ │
│                                                       │
│  ┌─────────────────────────────────────────────────┐ │
│  │  Shared: Cockpit │ Tasklist │ History │ Metrics  │ │
│  └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
         │              │              │
    ┌────┴────┐   ┌────┴────┐   ┌────┴────┐
    │RabbitMQ │   │Postgres │   │  Redis  │
    └─────────┘   └─────────┘   └─────────┘

Each new workflow is a BPMN file + service task implementations — not a custom state machine framework. Visual modeling, process versioning, instance monitoring, and audit trails come for free.

Hypothesis Background

Primary: Operaton (community-owned Camunda 7 fork) is the right BPM engine for the platform’s current workflows and strategic expansion into process-based capabilities.

Alternative 1: Adopt Fluxnova (FINOS/Linux Foundation). - Not rejected — strongest governance model. Nearly tied with Operaton on scoring (9.0 vs 9.1). Preferred over Operaton if regulated-industry compliance requirements emerge.

Alternative 2: Spring State Machine. - Rejected for strategic reasons: does not scale to platform-wide process orchestration. Also rejected on practical grounds: no in-house production experience (Meet & Greet retired), requires full rewrite of both workflows, and each future workflow would require custom implementation rather than BPMN modeling.

Alternative 3: Stay on Camunda 7.17.0 CE (do nothing). - Rejected: EOL since October 2025. No security patches. Archived repositories. Running on deprecated Java 11 / Spring Boot 2.6.8. Unacceptable risk.

Falsifiability Criteria

Evidence Quality

Evidence Assurance
Camunda 7 CE is EOL (Oct 2025) L2 (official announcement, repos archived)
Purchase workflow is ~10 sequential states L2 (verified from BPMN source)
Shoutout workflow is ~12 sequential states L2 (verified from BPMN source)
No human tasks in either current workflow L2 (verified from BPMN source — all service/external tasks)
Meet & Greet Spring SM is retired L2 (confirmed by product owner)
Platform has operational experience with Camunda 7 engine L2 (engine currently running in production)
Strategic intent to expand BPM usage L1 (product owner direction, no formal requirements yet)
Operaton v1.0 compatible with Camunda 7.24 L1 (claimed, not tested against our schemas)
Operaton schema migration from 7.17 to 7.24 L0 (not researched — needs validation)
Operaton community governance sustainability L0 (legal entity in progress, unproven)
Fluxnova first release Nov 2025 L1 (announced, GitHub repo exists, not verified in production)
CIB Seven v2.1 drop-in replacement L1 (claimed, not tested against our schemas)

Overall: L0 (WLNK capped by schema migration path L0 and governance sustainability L0 — both need validation before committing)

Actions to Improve Assurance

Gap Action to promote to L1 Action to promote to L2
Schema migration 7.17→7.24 Review Camunda migration guides, check Operaton migration tooling docs Run migration against a copy of production schema
Governance sustainability Monitor eingetragener Verein registration progress, review contributor activity Legal entity established, 6+ months of regular releases
Strategic BPM expansion Document 3+ concrete future workflow requirements with product team First new workflow built and deployed on Operaton

Bounded Validity

Consequences

Positive: - Eliminates EOL BPM engine dependency (Camunda 7.17.0 CE) - Near-zero migration effort — same engine, different namespace - Preserves existing BPMN files, database schema, and operational knowledge - Retains Cockpit for runtime process inspection - Retains BPMN visual process modeling for future workflows - Provides human task support, audit trails, process versioning for future capabilities - Community-owned governance — no single-vendor EOL risk - Each new workflow is a BPMN file, not a custom state machine framework - Aligns with strategic intent to expand process-based capabilities

Negative: - Continues to require BPM engine deployment (operational overhead vs embedded Spring SM) - Operaton governance is still maturing (eingetragener Verein not yet established) - Schema migration from 7.17 to 7.24 level may require careful planning - BPM services still on Gen 1 stack (Java 11 / Spring Boot 2.6.8) — must upgrade as part of migration - Keycloak identity sync plugin (cibseven-keycloak) must be replaced or ported to Operaton equivalents

Mitigated by: Schema migration validated early in implementation. Fallback to Fluxnova or CIB Seven if Operaton governance fails (all forks share the same codebase origin). Gen 2 stack upgrade done as part of migration, not as a separate effort.

Decision History

This ADR supersedes the Session 11 target architecture recommendation to use Spring State Machine. That recommendation was based on two assumptions that have since been invalidated:

  1. Assumption: Meet & Greet Spring SM validates the pattern in production → Invalidated: Meet & Greet is completely retired
  2. Assumption: BPM is a legacy dependency to minimize → Invalidated: Strategic intent is to expand BPM as a platform capability

The original analysis correctly identified that Spring SM is a good fit for 2 simple workflows with no human tasks. But “good fit for today’s 2 workflows” is a different question from “right strategic foundation for the platform’s process orchestration needs.”

Camunda 7 Fork Landscape Reference (as of February 2026)

Fork Governance License Version Spring Boot 4 Key Backers
Fluxnova FINOS / Linux Foundation Apache 2.0 First release Nov 2025 TBD Fidelity, NatWest, Deutsche Bank, Capital One
CIB Seven CIB (German company) Apache 2.0 v2.1 May 2026 CIB, Summit58 (US partner)
Operaton Community (eingetragener Verein forming) Apache 2.0 v1.0 April 2026 (v2.0) Ritense, community contributors
EximeeBPMS Consdata (Polish company) Apache 2.0 Q2 2025 TBD Consdata

Decision date: 2026-02-01 Review by: 2026-08-01