Architectural Overview
At its core, Decision Control is a containerized application that combines:- User Interface: browser-based interfaces for authoring, testing, and management
- Decision Service: executes decision models and exposes the management and execution APIs
- AI Layer: natural-language decision testing (Innovator+)
- Data Store: persistent storage of models, versions, and execution history
Key Architectural Principles
Single Unified Interface
Decision Control consolidates decision management into one application:- Author: Create DMN decision models visually in your browser
- Test: Validate decisions with sample data or natural language queries
- Publish: Version and deploy models with one click
- Execute: Run decisions via REST APIs with full traceability
- Manage: Monitor execution history and performance
Multi-Version Execution
Unlike traditional Kogito deployments where you must manage version routing yourself, Decision Control handles this automatically:- Deploy new versions without breaking existing integrations
- Execute specific versions on demand
- Compare execution results across versions
- Roll back instantly by routing to previous versions
- Audit trail shows which version handled each request
Built-In Auditing and Traceability
Every decision execution is recorded with:- Input data provided
- Output results generated
- Model version used
- Execution timestamp
- Processing duration
- User context (if applicable)
Edition-Specific Architecture
Decision Control editions build progressively on the core architecture:Pioneer Edition
Core decision management capabilities:- Visual DMN authoring and editing
- Model versioning and publishing
- Decision execution via REST API
- Basic execution history
- Single-user workflows
Innovator Edition
Adds AI-powered capabilities:- Prompt UI: Test decisions using natural language
- “What happens if income is $85,000 and credit score is 720?”
- AI translates to decision inputs and explains outputs
- MCP Server: Act as a Model Context Protocol server for AI agent integration
- Enhanced testing and validation capabilities
- Basic analytics dashboard
Horizon Edition
Adds enterprise scalability:- Horizontal Scaling: Multiple container replicas behind load balancer
- Management UI: Monitoring, analytics, and administration
- Enhanced Metrics: metrics endpoint for observability (Prometheus-compatible)
- Connection Pooling: Optimized database connections for high throughput
- Works naturally with Kubernetes autoscaling
Keystone Edition
Adds multi-environment governance with Aletyx Decision Control Tower (see Aletyx Decision Control Tower Architecture below):- All Horizon features
- Aletyx Decision Control Tower unified portal
- Multi-environment coordination
- Approval workflows with four-eyes enforcement
- Complete audit trails
Core Components
REST API Layer
The decision service exposes decision management and execution:DMN Execution Engine
A standards-compliant DMN execution engine:- DMN Compliant: Full support for the DMN standard
- FEEL Expression Language: Business-friendly expression syntax
- Decision Tables: Visual tabular logic
- Business Knowledge Models: Reusable decision components
- Compiled Caching: Models compiled once, executed many times
Version Manager
Handles multi-version deployment and execution:- Maintains multiple active versions simultaneously
- Routes execution requests to specified version
- Manages version lifecycle (created → enabled → disabled)
- Tracks version lineage and dependencies
Data Store
Decision Control persists all model and execution state (schema is managed through versioned migrations and validated at startup — never auto-generated). Conceptually it holds:- Units — top-level decision units (name, description, status).
- Versions — versioned snapshots of a unit (version number, status, source/commit metadata, and a “latest enabled” flag), each belonging to a unit.
- Models — the DMN model content and its generated input schema, keyed by a content hash and reused across versions.
- Model references — the association between a version and the models it contains, each carrying its own status; an enabled reference is what makes a model executable.
- Execution logs — an immutable record of every decision execution: inputs, outputs, the unit/version/model and identity involved, timestamp, and status. Stored as a point-in-time snapshot so it survives later deletion of the referenced model.
- Refresh log — internal signals used to keep runtime caches consistent across replicas.
- Revisions — change-history records backing the configuration audit trail.
JUST_CREATED, ENABLED, or DISABLED.
Differentiators vs Traditional Kogito
Decision Control addresses key limitations in traditional Kogito/Drools deployments:Why This Matters
Traditional Approach:- Build decision model
- Package as JAR/container
- Deploy to server
- Update application to call new endpoint
- Manage old endpoints for backward compatibility
- Build custom audit logging
- Handle version routing logic
- Build decision model in browser
- Click “Publish”
- Done: API automatically serves new version while maintaining old ones
Performance Considerations
Caching Strategy
- Compiled Models: DMN models compiled on first execution, cached indefinitely
- Metadata: Unit/version lists cached with 5-minute TTL
- Execution Results: Not cached (each execution is unique)
Database Optimization
- Connection Pooling: configurable connection pool
- Indexed Queries: Primary keys, foreign keys, and common query patterns
- Batch Operations: Bulk inserts for execution history
Resource Requirements
Multi-Environment Deployment
Each environment runs its own Decision Control instance with isolated database:Roles and Permissions
Aletyx Decision Control Tower authentication and authorisation are delegated to an OIDC provider (Entra ID or Keycloak). Two app roles drive access:
For role assignment and the full OIDC setup, see the Aletyx Decision Control Tower Identity & Access Management chapter. For end-to-end setup instructions, see Aletyx Decision Control Tower Deployment.
Security Architecture
Authentication
All Decision Control components use OAuth2/OIDC:- Pioneer/Innovator/Horizon: OAuth2 / OIDC
- Keystone: OIDC SSO with PKCE flow
Network Security
- All external traffic over HTTPS (TLS 1.2+)
- Database connections within private network
- Kubernetes network policies for pod isolation
Data Security
- At Rest: database encryption via storage layer
- In Transit: TLS for external, plain HTTP within cluster
- Secrets: Kubernetes Secrets for credentials
Observability
Health Checks
Metrics
Metrics are exposed at/actuator/prometheus (Prometheus-compatible):
dmn_execution_duration_seconds: Execution latency histogramdmn_executions_total: Total executions by versionhttp_server_requests_seconds: HTTP request metrics- Memory and resource usage
Logging
Structured JSON logs with:- Timestamp
- Log level
- Request ID
- User context
- Execution details
Next Steps
- Deployment: Deploy Decision Control
- Usage Scenarios: Common usage patterns
- Integration and APIs: API reference and integration
- FAQ and Troubleshooting: Common issues