What Does Business Rule Engine Mean?
A business rule engine (BRE) is a component of software allowing non-programmers to change the business logic in a business process management (BPM) system. To carry out a business policy or procedure, a business rule or statement is required. Business logic uses data in a database and a sequence of operations to carry out the business rule.
Techopedia Explains Business Rule Engine
Execution code for business rules is separated from the BPM system, allowing the end user to change business rules without asking for a programmer’s help. The business rule engine evaluates the changes’ effects on other rules and flags the user if there is a conflict.
A complete BRE includes:
- The Business Rule Editor: This is an intuitive interface allowing business users to design, define, document and edit business rules.
- The Rules Engine Execution Core: This is a programming code enforcing the rules.
- The Business Rule Repository: This is a database storing business rules, which are defined by business users.
- The Reporting Component: This is an intuitive interface allowing business users to query and report existing rules.
Types of business rule engines differ according to how rules are scheduled for execution. Most rule engines are forward chaining and extract data until a goal is reached.
There are two types:
- Production/Inference Rules: These present an if condition, then an action. They execute when the user invokes the rule.
- Example: Should this customer be allowed a mortgage? Answer: IF some-condition THEN allow-customer-a-mortgage.
- Reaction/Event Condition Action Rules: These react to incoming events and process event patterns. They react automatically when events occur.
- Example: Item is out of stock. Reaction: Alert a manager.
There are also backward chaining rules. Here the rule engine seeks to resolve the facts to meet a specific goal. And there is a third class of rule engine, called a deterministic engine. Utilizing neither forward nor backward chaining, it instead uses domain-specific language approaches to better describe policy and then solves problems in a particular domain such as combat, salary calculation or billing.