A BRMS 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: This needs to be attributed:
The top benefits of a BRMS include:
Some disadvantages of the BRMS include:
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.
In a BRMS, a representation of business rules maps to a software system for execution. A BRMS therefore relates to model-driven engineering, such as the model-driven architecture (MDA) of the Object Management Group (OMG). It is no coincidence that many of the related standards come under the OMG banner.
A BRMS is a critical component for Enterprise Decision Management as it allows for the transparent and agile management of the decision-making logic required in systems developed using this approach.
The OMG Decision Model and Notation standard is designed to standardize elements of business rules development, specially decision table representations. There is also a standard for a Java Runtime API for rule engines JSR-94.