Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Criteria to Evaluate Business Rules Engines [closed]

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.

like image 960
flybywire Avatar asked Apr 22 '09 12:04

flybywire


People also ask

What should I look for in a rule engine?

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.

Which is a core tool of business rules engine?

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.

What are the two main components of the rule engine?

Rule Engine Conditions and Actions In Rule Engine, every rule has two parts: conditions and actions.

What is the purpose of a business rules engine?

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.


2 Answers

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:

  • http://www.martinfowler.com/bliki/RulesEngine.html
  • http://www.martinfowler.com/bliki/DomainSpecificLanguage.html
like image 167
Aaron Avatar answered Oct 01 '22 02:10

Aaron


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:

  • Is it configurable (otherwise you'd just code it instead)
  • Is it performant.
  • How easy is it for non technical people to change rules
  • How easy is it for new rule sets to be deployed (and old ones undeployed).

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).

like image 23
Damo Avatar answered Oct 01 '22 01:10

Damo