Back to Basics: What is a Business Rules Engine?

PF

Peter Fudalej

02/17/2017

Every time I meet a new person and have the regular get-to-know-you conversation, I get the typical questions: Where are you from? What do you do? Where do you work? What do they do? Now, working for InRule, I face an additional question: what is a business rules engine? It has become obvious that many people – at least people in my world – do not know the answer to this question. To help my new friends and the silent techies who also may not know about business rules and business rules engines, here is a short summary.

To start, let me quickly define business rules. Business rules are guidelines that help you determine, define or constrain the criteria or conditions that help you make a decision. These decisions affect certain aspects of a business.

Think about when you apply for a loan. There are questions that you must answer in order to get a loan, and your answers determine whether you qualify for the loan.

In most loan processing applications, there are various rules that fire based on your responses to questions. If you answer yes to one question or no to another question, your chances of approval for a loan will be impacted, and the subsequent questions will vary. These rules help guide you through the application process and help the company determine your eligibility and structure their business.

A business rules engine, commonly referred to as a BRE, is software that executes these business rules or decision logic, separately from application code. Managing business rules outside of code enables them to be maintained without programming, often by less technical users.

For example, the rules that determine whether you qualify for your loan and if so, the loan rate, can be separated from code so that as marketplace conditions or industry regulations change, the rules associated with lending—rules associated with minimum income, credit score or debt to loan ratio, etc. —can be updated without a developer sifting through code. Separating business logic from application code makes it easier and faster to change business rules.

A business rules engine is part of a larger system called a business rules management system, or a BRMS. In part two of Back to Basics, I’ll discuss what a BRMS is, how a BRE sits inside of it, and examples of its use.

Whether you’re a new friend who has no idea what I do for a living, or a techy who wanted to learn more about business rules engines, I hope you found this summary to be helpful. If you have any more questions, feel free to drop me a line below in the comments section.

InRule for JavaScript | inrule said: "[…] couple of weeks ago we announced availability of InRule® for JavaScript through an early adopter program. To our knowledge this is […]".
Dynamic Surveys in Dynamics CRM Part II: Managing Dependencies | inrule said: "[…] this post makes extensive references to my preceding post, Surveys in Dynamics CRM Part I: Don’t Be a Monkey With Your Survey. If you are the type of person who likes to get the full story, you should go back and read the […]".
Josh Elster said: "In the time since this post was published, I've added (via a PR) full Windows Containers example code, DOCKERFILEs and scripts. They share common ancestry with the GH Gists I posted earlier, but are more up-to-date and tested. Here's a direct link to that sub-folder: https://github.com/InRule/Samples/tree/master/Developer%20Samples/WindowsContainers Now that our Samples repository is public, feel free to file Issues if you have problems or features you'd like to see implemented. If you have something you'd like to contribute, then by all means do so! The contributor guidelines and process are listed in the root of the repository. Enjoy! I'll update the body of the post as well with this link.".