We are shopping for Business Rules Engines. We want to make our core application customizable to different customers with slightly different requirements. The people who would actually do the customizations are analysts. I.e. non-programmers who are technically skilled (usually have a degree in sciences).
What are the criteria to evaluate business rules engines? Are there open source and comercial ones? What are your experiences in ease of use, documentation, support, price, etc.
Our app is in Java.
In the case of a rules engine, when looking at the depth of functionality we need to see if it supports complex logic building, how well it handles the time dimension and how it deals with uncertainty.
Business Rules Engine is a suite of services, components, and objects that apply advanced logic and automate complex decision-making. The engine contains three core tools: expression sets, decision matrices, and decision tables.
Rule Engine Conditions and Actions In Rule Engine, every rule has two parts: conditions and actions.
The purpose of a business rule engine is to make sure that the decision-making process is consistent and follows company policy. Business rules engines can help improve decision-making processes by creating automated responses to situations that occur in real-time.
I worked as a consultant for a leading rule engine in the industry for close to three years. You will pay a LOT of money for a commercial rule engine and need to decide if the features and support you potentially receive are worth the price. All rule engine vendors will claim theirs is the best hands down; the best advice I can give you is to do a prototype with each rule engine you're considering that is limited in scope, but representative of the features you need. Do NOT let sales people just show you a fancy demo; YOU should actively build the prototype. I have seen too many people buy a rule engine that really have no idea what it is they're buying. Personally, I would opt for one of the open source rule engines (someone has already mentioned Drools) if you have your heart set on a rule engine. However, I would seriously consider alongside rule engines the possibility of not using a rule engine. You may save time initially with a rule engine (ignoring the learning curve), but a custom solution is likely to be superior in the long term to meet you specific needs.
Here are a couple links from Martin Fowler's website that are relevant to your question:
Drools (used to be Drools then JBoss Rules then Drools again) is a very good open-source rules engine and definitely worth a look.
To my mind the best criteria to evaluate a rules engine are:
Several Rules Engines have Business Rules Management Systems (BRMS) and Drools is no exception. This makes deployment much easier for non-techies.
There is good support for Drools via docs and tutorials on the web and even via the IRC channel.
I've also used the Rules Engine that comes with IBM Websphere Process Server and found that to be quite good as well (although pricey).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With