A business rules engine is a software component that allows non-programmers to add or change business logic in a business process management (BPM) system.
A business rules engine works by separating execution code for business rules from the rest of the business process management system. This allows the end user to change business rules without having to ask a programmer for help. When a change is made, the engine will evaluate the change’s effect on other rules in the system and flag the user if there is a conflict.
According to authors Alex Berson and Larry Dubov, a business rules engine should include the following:
Business Rule Repository – A database for storing the business rules as defined by the business users.
Business Rule Editor – An intuitive user interface that allows business users to define, design, document and edit business rules.
Reporting Component – An intuitive user interface that allows business users to query and report existing rules.
Rules Engine Execution Core – The actual programming code that enforces the rules.