What is jBPM?
jBPM is a part of the Apache KIE (Incubating) delivering flexible Business Process Management (BPM) that enables organizations to model, execute, and monitor business processes throughout their lifecycle. As part of the Aletyx Enterprise Build of Kogito and Drools, our enhanced jBPM implementation provides a robust foundation for workflow automation with enterprise-grade extensions.Wondering how jBPM relates to Drools, Kogito, and KIE? See Drools vs. Kogito vs. KIE.
Key Components
Process Engine
At the core of jBPM is a lightweight, highly extensible process engine that supports:- BPMN 2.0 standard for process definition
- Java-based execution environment for high performance
- Persistence and transaction management for reliability
- Asynchronous execution for long-running processes
- High-throughput process execution
- Cluster-aware coordination
Runtime Manager
The Runtime Manager provides infrastructure for process instances:- Process instance lifecycle management
- Runtime strategy selection (singleton, per request, per process instance) <!— Is this still true - for KS, yes!>
- Deployment unit handling for versioned deployments
- Custom context propagation
Task Service
Human interaction is managed through the dedicated Task Service:- User task assignment and notification
- Task lifecycle management
- Deadlines and escalations
- Form rendering and submission
Services Infrastructure
<!— The aletyx build extends jBPM with additional services:- Job Executor for asynchronous and scheduled work
- Data Indexing Service for efficient querying
- Process Audit Service for compliance and monitoring
- Case Management for dynamic, adaptive processes →
Process Development
Process Definition
jBPM uses BPMN 2.0 for process definition:- Visual BPMN editors with validation
- Process templates for common deployment and integration patterns
- Simulation and testing tools
Java Development Integration
Process applications can be developed using Java APIs:Deployment Models
jBPM supports multiple deployment scenarios:- Embedded within Java applications
- Standalone process services
- Containerized microservices
- Kubernetes-native deployments
Integration Points
jBPM integrates with:- Drools for decision-driven processes
- Kogito for cloud-native process orchestration
- Aletyx Playground for visual development
- Spring Boot
- Quarkus for cloud-native applications
- Enterprise messaging systems like Kafka, JMS
- External services via REST, SOAP, or custom connectors