How apache/incubator-kie-kogito-runtimes works
Kogito is a cloud-native business-automation runtime: applications start and manage process instances, whose workflows can evaluate decisions and interact with human tasks; runtime state can be persisted and scheduled work resumed. The repository also includes event-driven integrations, monitoring, prediction, explainability, and process visualization. The sampled sources establish process-management contracts, DMN evaluation, serialization, timer scheduling, and SVG-to-data-index calls; most other subsystem connections are inferred only as capabilities from the file tree, so their wiring is not shown.
Main entry points: DecisionRuleTypeEngineImpl.java DMN evaluation · ProcessInstanceMarshallerService.java Instance serialization · JDKTimerService.java Timer service · AbstractProcessSvgService.java Process visualization
Components 18
Workflow runtime
- Process service
api/kogito-api/src/main/java/org/kie/kogito/process/ProcessService.java - BPMN assembly
jbpm/jbpm-flow-builder/src/main/java/org/jbpm/assembler/BPMN2AssemblerService.java - DMN evaluation
jbpm/jbpm-bpmn2/src/main/java/org/jbpm/bpmn2/rule/DecisionRuleTypeEngineImpl.java - User tasks
api/kogito-api/src/main/java/org/kie/kogito/usertask/UserTaskService.java
State and scheduling
- Task persistence
addons/common/jbpm-usertask-storage-jpa/src/main/java/org/jbpm/usertask/jpa/JPAUserTaskInstances.java - Instance serialization
jbpm/process-serialization-protobuf/src/main/java/org/jbpm/flow/serialization/ProcessInstanceMarshallerService.java - Process stores
addons/common/persistence - Timer service
api/kogito-timer/src/main/java/org/kie/kogito/timer/impl/JDKTimerService.java - Job management
addons/common/jobs/management-common/src/main/java/org/kie/kogito/jobs/management/RestJobsService.java
Extensions and events
- Event-driven APIs
addons/common/events - Mongo event publisher
addons/common/events/mongodb/src/main/java/org/kie/kogito/events/mongodb/MongoDBEventPublisher.java - Service discovery
addons/common/kubernetes/src/main/java/org/kie/kogito/addons/k8s/EndpointDiscovery.java - Task prediction
addons/common/human-task-prediction/api/src/main/java/org/kie/kogito/prediction/api/PredictionService.java
Operations and insight
- Monitoring
addons/common/monitoring/core/src/main/java/org/kie/kogito/monitoring/core/common/MonitoringRegistry.java - Explainability
addons/common/explainability/src/main/java/org/kie/kogito/explainability/ExplainabilityService.java - Process visualization
addons/common/process-svg/src/main/java/org/kie/kogito/svg/AbstractProcessSvgService.java - Data index
Other components
- Application
Connections 5
- Application → Process service: starts or manages
- DMN evaluation → BPMN assembly: evaluates workflow rule
- Instance serialization → Process stores: serializes instance state
- Timer service → Job management: schedules jobs
- Process visualization → Data index: fetches node instances