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.
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.
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.
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.
- Rulette stable version: 1.3.4 (Release Notes)
- Rulette server version : 0.0.1-SNAPSHOT
- Case study on evolving rule systems
Talks and Presentations
- Slide deck from Grofers meetup
- Talk at the first Grofer meetup
- Spread the word.
- Contribute code/Report bugs
- Join me on Patreon
- Donate via Paypal.
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.
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.