Chapter 9. The BRMS (Business Rule Management System)

9.1. Introduction

This section introduces the BRMS. See the other relevant sections for installation, usage and administration.

The BRMS in action

Figure 9.1. The BRMS in action


9.1.1. What is a BRMS?

BRMS stands for Business Rules Management System.

This is the component of JBoss Rules which covers rule management, storage, editing and deployment. A Web based user interface is provided so this tool can be used by people who don't work in IDEs or text editors, but it is intended for a wide audience.

A BRMS allows people to manage rules in a multi user environment, it is a single point of truth for your business rules, allowing change in a controlled fashion, with user friendly interfaces.

9.1.1.1. When to use a BRMS

You should consider a BRMS if any of the following apply to you: You need to manage versions/deployment of rules, you need to let multiple users of different skill levels access and edit rules, you don't have any existing infrastructure to manage rules, you have lots of "business" rules (as opposed to technical rules as part of an application).

A BRMS can be used on its own, or with the IDE tooling (often both together).

A BRMS can be "branded" and made part of your application, or it can be a central rule repository.

9.1.1.1.1. When to not use a BRMS

In some situations applications may exist which have the rules in a database (for instance as part of an existing application), and no new application is needed to manage the rules.

Otherwise, perhaps an existing rule management system and user interface already exists (and is tailored to your environment already) - in this case migrating to the BRMS may not be necessary.

If you are using rules to solve complex algorithmic problems, and the rules are essentially an integral part of the application (and don't need to be managed separately to the code).

9.1.1.2. Who uses a BRMS

The main roles of people who would use a BRMS are: Business Analyst, Rule expert, Developer, Administrators (rule administrators etc).

The BRMS is designed in such a way as these different roles can be accommodated, it can be controlled how much is exposed to different users in a safe fashion.

9.1.2. Features outline

  • Multiple types of rule editors (GUI, text)

  • Version control (historical assets)

  • Categorization

  • Build and deploy

  • Store multiple rule "assets" together as a package