Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. bpe

bpe

NOASSERTIONElixir6.4.0

An Erlang-based Business Process Engine implementing BPMN 2.0 (ISO 19510) for workflow orchestration and rule-based production systems.

Visit WebsiteGitHubGitHub
279 stars64 forks0 contributors

What is bpe?

BPE (Business Process Engine) is an open-source implementation of the BPMN 2.0 standard (ISO 19510) in Erlang. It provides a robust infrastructure for defining workflows, orchestrating processes, and managing distributed storage with a focus on reliability and scalability. It maps BPMN processes one-to-one to Erlang processes for native concurrency and fault tolerance.

Target Audience

Erlang developers and enterprises needing enterprise-grade workflow automation and process orchestration within the Erlang ecosystem. It is suited for teams building systems that require standardized business process modeling, persistent execution, and distributed storage.

Value Proposition

Developers choose BPE for its full BPMN 2.0 compliance, which brings a standardized workflow automation specification to Erlang. Its unique selling point is the one-to-one mapping of BPMN processes to Erlang processes, leveraging Erlang's native concurrency, fault tolerance, and persistent storage for reliable and scalable process execution.

Overview

BPMN: Business Process Model Notation ISO 19510:2015

Use Cases

Best For

  • Implementing BPMN 2.0 compliant business process automation in Erlang applications.
  • Building workflow systems that require persistent execution with restorable and reproducible process steps.
  • Orchestrating distributed processes with event-driven architecture handling both deterministic tasks and non-deterministic events.
  • Developing rule-based production systems with support for various gateways (exclusive, parallel, inclusive, complex, event-based) for non-linear execution.
  • Managing document flows and process instances with configurable tasks, sequence flows, and roles.
  • Integrating workflow automation into Erlang-based enterprise systems that need reliability and scalability.

Not Ideal For

  • Teams not already committed to or familiar with the Erlang/OTP ecosystem
  • Projects needing out-of-the-box graphical BPMN editors for business user collaboration
  • Environments where lightweight, non-standard workflow engines without full BPMN 2.0 compliance are sufficient

Pros & Cons

Pros

Full BPMN 2.0 Compliance

Implements the complete BPMN 2.0 standard (ISO 19510), enabling standardized business process modeling and interoperability with other BPMN tools.

Erlang Native Concurrency

Maps BPMN processes one-to-one to Erlang processes, leveraging Erlang's built-in concurrency and fault tolerance for scalable, reliable execution.

Persistent Execution Guarantee

All process steps are written to persistent storage via KVS, ensuring execution is restorable and reproducible, as demonstrated in the sample history records.

Comprehensive Event Handling

Supports both deterministic tasks and non-deterministic events like message and boundary events, allowing flexible, event-driven workflow orchestration.

Cons

Erlang Ecosystem Lock-in

Deeply tied to Erlang and its toolchain, requiring significant expertise in Erlang/OTP for effective use, which limits accessibility for teams using other languages.

No Built-in Graphical Tooling

Lacks visual BPMN editors; processes must be defined programmatically in Erlang or via XML, making it less user-friendly for non-technical stakeholders.

Sparse Documentation and Community

The README is technical and assumes Erlang knowledge, with limited tutorials or third-party resources compared to mainstream BPMN engines in Java or .NET.

Open Source Alternative To

bpe is an open-source alternative to the following products:

Camunda
Camunda

Camunda is an open-source workflow and decision automation platform that helps organizations orchestrate business processes across people, systems, and devices.

Frequently Asked Questions

Quick Stats

Stars279
Forks64
Contributors0
Open Issues0
Last commit4 months ago
CreatedSince 2014

Tags

#rule-engine#business-process-management#workflow#workflow-engine#distributed-systems#processing#enterprise-automation#erlang#bpmn#transactions

Built With

E
Erlang
K
KVS

Links & Resources

Website

Included in

Elixir13.1k
Auto-fetched 1 day ago

Related Projects

spawnspawn

Spawn - Actor Mesh

Stars377
Forks16
Last commit5 months ago
poolerpooler

An OTP Process Pool Application

Stars317
Forks84
Last commit4 months ago
alfalf

Flow-based Application Layer Framework

Stars212
Forks6
Last commit2 years ago
poolexpoolex

A library for managing pools of workers

Stars88
Forks8
Last commit18 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub