or Business Rule Management System
is a software
system used to define, deploy, execute, monitor and maintain the variety and complexity of decision logic that is used by operational systems within an organization or enterprise. This logic, also referred to as business rules
, includes policies, requirements, and conditional statements that are used to determine the tactical actions that take place in applications and systems.
A BRMS includes, at minimum:
- A repository, allowing decision logic to be externalized from core application code
- Tools, allowing both technical developers and business experts to define and manage decision logic
- A runtime environment, allowing applications to invoke decision logic managed within the BRMS and execute it using a business rules engine
The top benefits of a BRMS include:
- Reduced or removed reliance on IT departments for changes in live systems
- Increased control over implemented decision logic for compliance and better business management
- The ability to express decision logic with increased precision, using a business vocabulary syntax and graphical rule representations (decision tables, trees, scorecards and flows)
- Improved efficiency of processes through increased decision automation
Most BRMS vendors have evolved from rule engine vendors to provide business-usable software development lifecycle solutions, based on declarative definitions of business rules executed in their own rule engine.
However, some vendors come from a different approach (for example, they map decision trees or graphs to executable code). Rules in the repository are generally mapped to decision services that are naturally fully compliant with the latest SOA, Web Services, or other software architecture trends.
Related software approaches
In a BRMS, a business representation of rules is mapped to a software system for execution. A BRMS is therefore related to model-driven engineering
, such as OMG
. It is no coincidence that many of the related standards are under the OMG
There is no current implementation standard for business rules defined within a BRMS, although there is a standard for a Java Runtime API
for rule engines JSR-94
Other standards (under development) include:
- OMG Business Motivation Model (BMM): A model of how strategies, processes, rules, etc fit together for business modeling
- OMG SBVR: Targets business constraints as opposed to automating business behavior
- OMG Production Rule Representation (PRR): Represents rules for production rule systems that make up most BRMS' execution targets
- W3C RIF: A family of related rule languages for rule interchange
Many standards, such as domain-specific languages, define their own representation of rules, requiring translations to generic rule engines or their own custom engines.
Other domains, such as PMML, also define rules.
RuleML provides a (mostly academic) family of mark-up languages that could be used in a BRMS, but are usually used for research purposes.