Rulette

Pragmatic Business Rule Management

Much of running a business is defining rules about how it runs, and much of software engineering is about codifying these business rules in programs, using them to drive business processes, and keeping up with the constant changes to them.

Rulette is a lightweight and powerful business rule management system (BRMS) that takes the drudgery out of this process. 

If you find yourself modelling excel sheets with many column mapping to one column as output, or dealing with a large set of “IF something AND something AND something…, THEN some output” type of code, Rulette can take you from requirements to code complete in only a few lines of Java and SQL.



Rulette is:

Intuitive

The Rulette way of modelling rules is very closely aligned with the columnar way in which we  think about rules. This makes it easy to bridge the gap between the rule and its technical expression. More alignment, less confusion.. Read More.

Expressive

Rulette offers simple yet powerful constructs to define rules. Default and customs data types, out of the box support for ranges, an SDK and a server mode all come together to make a versatile tool.

Performant

Rulette is very, very performant both in terms of storing rules as well as loading them to make decisions. Tens of thousands of rules can easily be loaded into memory and evaluated using blazing fast algorithms.


Latest News

  • Rulette stable version: 1.3.4 (Release Notes)
  • Rulette server version : 0.0.1-SNAPSHOT
  • Case study on evolving rule systems

Talks and Presentations

Support Rulette

  • Spread the word.
  • Contribute code​/Report bugs
  • Join me on Patreon
  • Donate via Paypal.


Rulette SDK

The Java SDK is the simplest way to get started with using Rulette. Just add a few dependencies. to your system, and you are ready to start modelling and enforcing your business rules. The SDK also offers plug-and-play mechanism to integrate with existing business rules stored anywhere and the flexibility to create your own abstractions for modelling.


Rulette Server

If you do not have a Java application but have rules to manage, there is still hope. Rulette Server exposes a REST API and UI over your Rulette based data set! Set up the Rulette database as usual (MySQL only for now), point the server configuration to the database, and fire it up – you are ready to go! Access and manage your ruleset over the API or UI, create new rule systems, or evaluate different scenarios of inputs.

Rulette Server is the perfect tool to collaborate with business teams around rule management.