A business Rules Engine is a software system that executes business rules in a runtime production environment. The rules might come from legal regulation, company policy, or other sources. A business rule system enables these company policies and other operational decisions to be defined, tested, executed and maintained separately from the application code.
The Camunda Platform, an Enterprise Platform for Workflow and Decision Automation, includes the Camunda Decision Engine (AKA Rules Engine), which is used to execute business-driven decision tables. The Decision Engine executes Decision Model and Notation (DMN) Decision Tables and Decision Requirements Diagrams. With DMN, business stakeholders can define and maintain executable business rules, thereby providing great flexibility and convenience. The Camunda Decision Engine provides pre-built integration with the workflow engine to execute decision tables as part of an automated workflow, or you can use the decision engine completely standalone.
Why do we need a Rules Engine?
Business need to be able to evaluate business expressions as their processes execute, for example, let’s say you need to create a process that looks at your customer’s income, credit history, purchase history, age, and location to give a list of incentives they might be interested in.
You could write a bunch of if-statements in your code, but that’s a spectacularly bad idea. You’d need a developer to interpret the business rules from a business SME, you’d have to hard code all of those, and you’d need to go through your full SDLC when you wanted to make a change.
How are Business Rules captured?
Business folks can write the rules themselves in a format that’s not unlike Excel and invoke that rule at the right time in your process. That’s where DMN, or Decision Modeling Notation, comes in. It’s a standard notation that allows non-technical people to write business rules. That DMN notation is interpreted by the Camunda engine, which efficiently executes the code, applies the rules, and returns the result. Google “Camunda DMN” if you want a tutorial on how to get started with them.
What is the best way to expose captured Business Rules to your processes?
There is Operational Decision Manager (ODM) by IBM, Drools by Redhat, Pega BPM, and many, many, many others. If you need business rules that can be fully managed and governed by non-technical users, these options will not meet requirements. If you need support for fairly small, tactical rules, then Camunda will fit the bill. And there are many other excellent engines out there. The best part of Camunda is, it’s simple, it’s lightweight and friendly.
How does the Camunda Decision Engine work?
Using an Excel table, you would describe the input that results in the output. For example, the first row might be the credit score, the second row might have income, and the third might have a debt to income ratio. These would be inputs. The Fourth row might be the output, which is the loan interest rate we’re offering, and the fifth row might also be output, indicating how long the term of that loan is.