How kiegroup/jbpm works
jBPM is a Java toolkit for embedding or hosting business-process and decision automation. A typical user-defined process is represented in BPMN, assembled into runtime processes, and executed through services; human tasks and process state can then be queried and audited. The repository also documents case management, document storage, and process-data export capabilities. The tree and excerpts establish several query and persistence relationships, but do not show the complete runtime wiring; those capability links are therefore marked unverified rather than presented as inspected call paths.
Main entry points: RuntimeEngineImpl.java Runtime Engine · QueryServiceImpl.java Query Service · TaskImpl.java Task Records · TaskAuditQueryModificationService.java Task Audit Filters
Components 22
Process Runtime
- BPMN Assembly
jbpm-flow-builder/src/main/java/org/jbpm/assembler/BPMN2AssemblerService.java - BPMN Model
jbpm-bpmn2/src/main/java/org/jbpm/bpmn2/core/Expression.java - Process Context
jbpm-flow/src/main/java/org/jbpm/process/core/Context.java - Runtime Engine
jbpm-runtime-manager/src/main/java/org/jbpm/runtime/manager/impl/RuntimeEngineImpl.java
Human Tasks
- Task Service API
jbpm-services/jbpm-services-api/src/main/java/org/jbpm/services/api/UserTaskService.java - Task Queries
jbpm-human-task/jbpm-human-task-core/src/main/java/org/jbpm/services/task/impl/TaskQueryServiceImpl.java - Task Records
jbpm-human-task/jbpm-human-task-jpa/src/main/java/org/jbpm/services/task/impl/model/TaskImpl.java - Case Management
jbpm-case-mgmt/jbpm-case-mgmt-api/src/main/java/org/jbpm/casemgmt/api/CaseService.java
Query Services
- Query API
jbpm-services/jbpm-services-api/src/main/java/org/jbpm/services/api/query/QueryService.java - Query Service
jbpm-services/jbpm-kie-services/src/main/java/org/jbpm/kie/services/impl/query/QueryServiceImpl.java - Query Definitions
jbpm-services/jbpm-services-api/src/main/java/org/jbpm/services/api/query/model/QueryDefinition.java - Query Criteria
jbpm-query-jpa/src/main/java/org/jbpm/query/jpa/data/QueryWhere.java - Criteria Builder
jbpm-query-jpa/src/main/java/org/jbpm/query/jpa/impl/QueryCriteriaUtil.java - Task Criteria
jbpm-human-task/jbpm-human-task-jpa/src/main/java/org/jbpm/services/task/persistence/TaskSummaryQueryCriteriaUtil.java - Task Audit Filters
jbpm-human-task/jbpm-human-task-audit/src/main/java/org/jbpm/services/task/audit/service/TaskAuditQueryModificationService.java
State and Audit
- Command Service
jbpm-services/jbpm-shared-services/src/main/java/org/jbpm/shared/services/impl/TransactionalCommandService.java - Process Audit
jbpm-audit/src/main/java/org/jbpm/process/audit/AbstractAuditLogger.java - Process Persistence
jbpm-persistence/jbpm-persistence-jpa/src/main/java/org/jbpm/persistence/ProcessStorage.java
Product Extensions
- Document Storage
jbpm-document/src/main/java/org/jbpm/document/service/DocumentStorageService.java - Job Executor
jbpm-services/jbpm-executor/src/main/java/org/jbpm/executor/impl/jpa/ExecutorQueryServiceImpl.java - Process Data Export
jbpm-xes/src/main/java/org/jbpm/xes/XESExportService.java
Other components
- Application User
Connections 21
- Application User → BPMN Assembly: defines process
README.md - BPMN Assembly → BPMN Model: assembles
- BPMN Model → Runtime Engine: runs process
README.md - Runtime Engine → Process Context: uses context
- Runtime Engine → Task Service API: supports tasks
- Task Service API → Task Queries: queries tasks
- Task Queries → Task Records: queries records
jbpm-human-task/jbpm-human-task-core/src/main/java/org/jbpm/services/task/impl/TaskQueryServiceImpl.java - Application User → Query API: requests data
- Query API → Query Service: implemented by
jbpm-services/jbpm-kie-services/src/main/java/org/jbpm/kie/services/impl/query/QueryServiceImpl.java - Query Service → Query Definitions: registers queries
jbpm-services/jbpm-kie-services/src/main/java/org/jbpm/kie/services/impl/query/QueryServiceImpl.java - Query Service → Query Criteria: accepts filters
- Query Criteria → Criteria Builder: builds criteria
jbpm-query-jpa/src/main/java/org/jbpm/query/jpa/impl/QueryCriteriaUtil.java - Task Criteria → Task Records: queries task data
jbpm-human-task/jbpm-human-task-jpa/src/main/java/org/jbpm/services/task/persistence/TaskSummaryQueryCriteriaUtil.java - Task Audit Filters → Criteria Builder: extends criteria
jbpm-human-task/jbpm-human-task-audit/src/main/java/org/jbpm/services/task/audit/service/TaskAuditQueryModificationService.java - Task Audit Filters → Task Records: filters task records
jbpm-human-task/jbpm-human-task-audit/src/main/java/org/jbpm/services/task/audit/service/TaskAuditQueryModificationService.java - Runtime Engine → Process Persistence: stores process state
- Runtime Engine → Process Audit: records execution
- Runtime Engine → Case Management: supports cases
- Runtime Engine → Document Storage: uses documents
- Runtime Engine → Job Executor: schedules work
- Process Audit → Process Data Export: exports history