A Business Rules Management System (BRMS) is a complete set of software components for the creation, testing, management, deployment, and ongoing maintenance of business rules in a production operational environment. A BRMS contains elements targeted at developers and other IT staff as well as elements intended for less technical users. These BRMS features give business users and business analysts the ability to make routine changes and updates to the business rules that drive Decision Services, while freeing IT resources to concentrate on higher value-added projects and initiatives.
A BRMS provides capabilities that support:
- Developing and testing of business rules
- Linking of business rules to data sources
- Identifying business rule conflicts and quality issues
- measuring and reporting decision and business rule effectiveness
- Deploying business rules to Decision Services in different computing environments
- Maintaining business user rules once business rules are deployed
- Integrating with other applications and services
The business rules managed by a BRMS are typically represented as near-natural language structured statements or using the visual metaphors described in Chapter 6. Business rules are based on a vocabulary that uses business terms to represent the underlying objects and attributes that are going to be manipulated by the business rules. Additional management properties and related objects such as patterns, functions, and decision flows are typically also managed by the BRMS.
Business rules can be executed by a BRMS in several different ways:
- Sequentially, with each rule being evaluated in turn to see if its defined action should be taken. Every rule is evaluated, and the business rules execute in the order defined for them.
- Inferentially, with a run-time engine using an algorithm such as the Rete algorithm to determine which business rules need to be evaluated and in what order. Such an algorithm also determines if a business rule needs to be re-evaluated because data has been changed by another business rule.
- Designed, with each rule being evaluated in an order determined algorithmically at design time. The BRMS outputs code or execution information after analyzing the business rules to see what the most effective execution order is going to be.
All three approaches have their pros and cons, and many BRMS support more than one, some allowing individual rule sets to be executed in different ways. Besides an ability to execute the business rules, a BRMS requires the elements shown in the Figure below:
- Business Rules Repository
An enterprise-class repository that stores all the business rules and other artifacts necessary to define a Decision Service. The repository should support version control and maintain audit trails of any change made.
- Design Tools
Design tools aimed at technical users that allow them to integrate business rules with the rest of the environment. This includes setting up data sources for the business rules to access, defining the data passed in and out of a Decision Service, and specifying additional integration parameters.
- Rule Maintenance Interfaces
Tools aimed at less technical users that allow the creation and management of business rules. The users of these interfaces may be technical users familiar with the underlying technical environment, but they may also be business users and business analysts who are creating and managing business rules only for their own area of the organization.
- Verification and Validation Tools
The completeness and correctness of business rules can and should be verified and validated by a BRMS. These tools should be accessible to both business and IT users.
- Testing Simulation Tools
Both business and IT users need to be able to test business rules to confirm the outcomes are as expected. A BRMS should allow a complete set of unit and system tests to be maintained to test both standard cases and boundary conditions.
- Business Simulation Tools
Both business and IT users need to be able to simulate the impact of proposed changes in business terms. A BRMS should allow non-technical users to see what impact a change would have on business metrics before they make it. IT users will make use of this functionality but it must be focused on business impact not technical execution.
- Deployment Tools
Decision Services may be deployed on a variety of technical platforms and the business rules created must be deployable on the platforms required.
- A High-Performance Business Rules Engine
A business rule engine determines which rules need to be executed in what order. Some BRMS generate code in place of using a business rules engine.
 Charles Forgy, “On the efficient implementation of production systems.” Ph.D. Thesis, Carnegie-Mellon University, 1979.