Chapter 1. The Guvnor (Business Rule Management System)

Table of Contents

Introduction
What is a BRMS?
Features outline
Administration guide
Installation
Database configuration
Security - Authentication and basic access
Fine grained permissions and security
Data management
Architecture
Building from source
Re-usable components
Versioning and Storage
Contributing
Quick start guide
Quick start guide
BRMS concepts
Creating a business user view
The fact model (object model)
The business user perspective
Advanced config options in a rule package
Deployment: Integrating rules with your applications
WebDAV and HTTP
Eclipse Guvnor integration

Introduction

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

Figure 1.1. The BRMS main screen

The BRMS main screen

What is a BRMS?

BRMS stands for Business Rules Management System.

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.

Guvnor is the name of the web and network related components for managing rules with drools. This combined with the core drools engine and other tools forms "a BRMS".

When to use Guvnor

You should consider Guvnor 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).

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

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

When to not use Guvnor

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.

In this case, the drools-template library is worth a look - you can define templates for rules to be generated from any tablular data source.

Otherwise, perhaps an existing rule management system and user interface already exists (and is tailored to your environment already) - in this case migrating to Guvnor 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).

Who uses Guvnor

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

Guvnor 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.

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