GoRules consists of two main parts: the BRMS (Business Rules Management System) for managing rules, and the ZEN Engine (BRE) for executing them.
The BRMS is the management platform where you author, test, version, and publish rules. It includes the ZEN Engine internally for testing and direct API evaluation.
The ZEN Engine is the high-performance execution engine. It runs inside the BRMS, and also powers the Agent and SDKs that execute rules in your environments.
GoRules BRMS
The BRMS is the recommended starting point for most organizations. It provides everything you need to manage business rules at scale.
| Capability | Description |
|---|
| Visual editor | Drag-and-drop interface for building decision graphs |
| Collaboration | Multiple users, projects, and access controls |
| Version control | Track changes, compare versions, roll back |
| Testing | Built-in simulator to validate rules before publishing |
| Releases | Publish rules to different environments |
| Audit logs | Track who changed what and when |
| API access | Evaluate rules directly or publish to Agents/SDKs |
When to use BRMS
- Business users need to create or modify rules
- You need version control and audit trails
- Multiple teams collaborate on rules
- You want a managed workflow for publishing rules
ZEN Engine
The ZEN Engine is the open-source rules execution engine that powers all of GoRules. It’s written in Rust for maximum performance.
| Capability | Description |
|---|
| Sub-millisecond | Evaluates most decisions in under 1ms |
| Cross-platform | Native SDKs for Node.js, Python, Go, Rust, Java, Kotlin, Swift |
| Embeddable | Runs in-process with your application |
| Open-source | Available on GitHub |
Standalone usage
You can use the ZEN Engine without the BRMS if you only need rule execution and will manage rule files yourself.
| Component | Purpose |
|---|
| ZEN Engine | Core execution library |
| JDM Editor | React component for building rules |
| Standalone Editor | Desktop app for editing JDM files |
When to use standalone:
- Building a product with embedded rules
- You have your own storage and versioning
- Developers manage all rules (no business user access needed)
- Maximum control over the rules lifecycle
When using the ZEN Engine standalone, you’re responsible for storing, versioning, and distributing JDM files to your applications.
Using them together
Organizations often use both BRMS and ZEN Engine together when they need maximum performance:
- Author in BRMS — Business users create and test rules in the visual editor
- Publish releases — Rules are published to object storage (S3, Azure, GCS)
- Execute via SDK — ZEN Engine runs embedded in your application
With the embedded SDK, rule evaluation is sub-millisecond because there’s no network overhead — no REST API calls, no serialization. The engine runs in-process with your application.
Choosing your approach
| Scenario | Recommendation |
|---|
| Business users edit rules | BRMS |
| Need audit trails and version control | BRMS |
| Team collaboration | BRMS |
| Building a product with embedded rules | ZEN Engine standalone |
| Developers manage all rules | Either (BRMS adds convenience) |
| Maximum performance, minimal dependencies | ZEN Engine standalone |
Most organizations start with the BRMS and use Agents or SDKs for production execution. The standalone ZEN Engine is best suited for product teams embedding rules into their own software.