Expand description
§BPMN Engine
BPMN 2.0 execution engine for Rust.
This crate provides a high-performance, type-safe BPMN 2.0 execution engine that supports BPMN 2.0 JSON format as standard I/O.
§Design Principles
- Activity/Capability-based design: Following DoDAF v2 DM2 principles
- Type safety: Leveraging Rust’s type system
- Extensibility: Support for custom tasks and listeners
- Future-ready: Designed for GraphQL API and persistence layer integration
§Example
use bpmn_engine::{Engine, ProcessDefinition};
let engine = Engine::new();
let definition = ProcessDefinition::from_json(r#"
{
"id": "process1",
"name": "Example Process",
"elements": []
}"#)?;
let instance = engine.start_process(definition, None).await?;Re-exports§
pub use engine::Engine;pub use engine::EngineBuilder;pub use engine::EngineError;pub use engine::instance::ProcessInstance;pub use engine::context::ExecutionContext;pub use model::ProcessDefinition;pub use activity::Activity;pub use activity::ActivityError;pub use activity::ActivityResult;pub use activity::ProcessListener;pub use activity::ActivityFactory;pub use activity::DefaultActivityFactory;
Modules§
- activity
- Activity Module
- capability
- Capability Module
- elements
- BPMN Elements
- engine
- Engine Module
- model
- BPMN Model
- repository
- Repository Module