Or in other words: in which cases might we need a Rule Engine (or Business Rules Management System – BRMS) ? The answer is: in all business applications requiring the introduction of business rules, either simple or complex, but overall likely to change over time.
Let’s take an example: an e-commerce web site often uses a system allowing attracting and retaining customers. After X commands, or after a specific spent amount, the customer will be offered discounts or gifts.
All conditions determining the obtainment of the benefit, and the nature of this benefit, evolve in the same time than new offers, discount periods, or any other event.
If all these elements are hard coded in the application, a new development, test and deployment cycle must be started at each modification, all this involving both functional and technical teams!
With a rule engine, only one initial development is necessary: all data potentialy involved in client’s benefit computation is provided to the engine. This one, depending on configuration, chooses relevant information, performs necessary evaluations and computations and then provides the benefit to offer.
Only a configuration modification is necessary to change the system behaviour. Only a functional team is involve. It’s easy to imagine how significant are gains in terms of costs, but also in deployment delays.