In the previous example, for each business rule, a BeanShell Condition was needed. This can really clutter the definition. To reuse rules and to program more complex logic, we need a more powerful tool. This tool is a Business Rule Management System (BRMS).
BRMS is a component inside a BPMS solution. It emerged out of a need to create, execute, maintain, and organize business logic and rules for use inside and outside business processes. The key part of the BRMS is the rule engine.
A rule engine decouples the business rules from the code and externalizes them outside the code. Each change to a business rule doesn't impact the process definition or the program code. On the other hand, it increases the complexity of the solution.