In 10 years of experience with the Drools business rules engine, based on both my own projects and the experience of clients for whom I have provided consulting or training, I have formed the opinion that implementing a business rules engine, or more broadly a BRMS (business rules management system) class solution, is not an easy thing to do. I will say more, I get the impression that for quite a number of clients, adopting this approach has brought more problems than it has solved. A number of issues arise in the context of Drools technology (or solutions of this class in general) that should be well thought out.
- what are the actual indications for using this technology, what are the contraindications and alternatives,
- how to properly design the data model and the rule solution,
- how to integrate the rule solution into the application,
- how the Drools engine actually works, what are the pitfalls and risks,
- whether and when a non-technical person can change rules,
- how to ensure quality,
- what are good practices --- programmatic and organizational.
Discussing all the issues will require at least several articles.
I would like to devote the first one to explaining what a business rules-based solution and business processes are, what are the main promises that providers of these solutions make, and what are the common ground between them. What is a rules engine and what is a BRMS. Finally, I would like to provide an intuition in which scenarios the use of a rules engine will be a sensible solution, and in which it will bring more trouble than benefits, and what are the alternatives.