BPMN 2.0 based business process execution engine implemented in Elixir. BPMN stands for Business Process Model and Notation. BPMN's goal is to help stakeholders to have a shared understanding of processes.
BPXE focuses on the execution aspect of such notation, effectively allowing the processes described in BPMN to function as if they were programs. BPXE is not the only such engine, as there are many commercially or community supported ones. The motivation behind the creation of BPXE was to create an engine that integrates natively with Erlang/Elixir systems, with a particular focus on being lightweight (a great deal of processes should be able to operate even on a single server concurrently) and resistant to failures so that workflows can be resumed with little to no consideration when a failure happen.
As BPXE is not really a standalone server in its own right, it's shipped as a
"library" Erlang application. Its package can
be included into an application by adding bpxe
to
the list of dependencies in mix.exs
:
def deps do
[
{:bpxe, "~> 0.4.1"}
]
end