Skip to main content
Embed the ZEN Engine directly in your application using native SDKs. This deployment model provides the highest performance with no network overhead.

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
Consider alternatives when:
  • 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
Load at application startup:

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:
  1. Export updated rules from BRMS
  2. Add to your repository
  3. Deploy application with new rules
For more dynamic updates, consider the Agent deployment model.