tags:

views:

619

answers:

3

What goals are accomplished using Rule Engine ?

+12  A: 

A Rules Engine is typically a component in software that is used to validate business rules at runtime.

They're often used in order to be able to easily change business rules without having to recompile/redeploy software. Rules can easily be stored in a corporate database, and sometimes even edited by less technical users who understand the business rules much more effectively.

For example, a mortgage company may need to change its criteria for approving a mortgage every week. By using a rules engine, you can easily create very complex criteria that can be modified without having to "program" the logic into the software. Say, this week, the base credit score shifts, you just adjust that rule in the chain of rules. Then, tomorrow, when the minimum income percentage for requiring PMI given a 90% equity rate shifts, you can just put that "rule" in place.

Reed Copsey
And one of the frequently mentioned selling points is that the "business users" can write the rules instead of a "systems person". Whether or not that's realizable depends on the business and the users.
DaveE
We use such a system for exactly this purpose. A business analyst can turn requirements from multiple companies into rules and workflows far far quicker than a developer can go through a development cycle, at a lower cost. Other companies have a habit of letting us know of scorecard changes at the last minute, so speediness is essential. They're essential in organisations where development resource is internally chargeable, with month-long lead-times even for simple changes.
JeeBee
+1  A: 

In most cases the Rules being processed are at the business layer, it is possible to look at a firewall as a rule engine of sorts, another common type of rule engine is based on high level domain specific languages for transaction processing and decision making.

There are a number of companies that produce appliances, and web transactions as a service to. These give the analysts tools to form complex decision trees and expert systems without having to do the grunt work of the developer, thanks to the magic of EGL most of the translation is done by modeling tools that can stub and generate code and valid end points to meet the "business" needs automagically.

Sean
+1  A: 

To add to @Reed Copsey's answer. Most rule engines keep their rules in external files that can be modified by business analysts or end users. Drools is one such solution.

spdaly