When to use embedded
Choose embedded when you need:- Maximum evaluation performance (sub-millisecond latency)
- Offline capability
- No external service dependencies
- Direct control over the engine lifecycle
- Multiple services need the same rules
- You want centralized rule management
- Business users need to update rules without deployments
Architecture
The engine runs in-process. Decision files are loaded at startup or runtime.SDKs
Loading decisions
Bundle with your application
Include decision files in your deployment package:my-app
src
rules
pricing.json
eligibility.json
risk-scoring.json
package.json
Fetch from remote storage
Load decisions from S3, GCS, or HTTP endpoints:Hot reloading
Update decisions without restarting:Best practices
Initialize once — Create engine and decisions at startup, not per-request. Handle errors gracefully — Decision loading can fail. Have fallback behavior. Version your rules — Track which rule version is deployed with your application. Test thoroughly — Rule changes ship with code changes. Include rule tests in your CI/CD.Updating rules
With embedded deployment, updating rules requires redeploying your application:- Export updated rules from BRMS
- Add to your repository
- Deploy application with new rules