This chapter provides an introduction to the business rules approach and business rule management systems in general. Afterwards, the business rule strategy at SAP will be explained.
1 About Business Rules
Companies have always had policies and rules in place to define what should or should not be done. Such rules can be found coded in software systems or in handbooks. Often, they even exist only as the expertise of a small group of employees in a department.
1.1 Definition
According to the Business Rules Group, an independent organization with the mission of formulating statements and supporting standards about business rules, a business rule is “a statement that defines or constrains some aspect of the business. It is intended to assert business structure or to control or influence the behavior of the business.”* Business rules describe the operations, definitions, and constraints that apply to an organization. They can apply to people, processes, corporate behaviors, and computing systems in an organization, and are put in place to help the organization achieve its goals.
* (David Hay and Keri Anderson Healy: Defining Business Rules – What Are They Really? Technical report, The Business Rules Group, http://www.businessrulesgroup.org/first_paper/br01c0.htm, 2000.)
Barbara von Halle formulated a similar definition: “Business rules are a formal expression of knowledge or preference, a guidance system for steering behavior (a transaction) in a desired direction. On the grand scale, business rules, then, are the guidance system that influences the collective behavior of an organization’s people and information systems.”**
** (Barbara von Halle: What is a Business Rules Approach? The Data Administration Newsletter – http://www.tdan.com/view-articles/4983, January 2002.)
These are very general definitions of business rules that include any number of and various different types of rules. The rule “Smoking is prohibited inside all company buildings” is a valid rule adhering to the definitions. Not all business rules are relevant to business operations and the scope of the rules in total needs to be narrowed to the relevant rules to better deal with them. This fact leads to another important constraint that is typically used when defining business rules: a “business rule expresses specific constraints on the creation, updating, and removal of persistent data in an information system.”***
*** (David Hay and Keri Anderson Healy: Defining Business Rules – What Are They Really? Technical report, The Business Rules Group, http://www.businessrulesgroup.org/first_paper/br01c0.htm, 2000.)
Using this definition of business rules makes management of business rules in an information system possible because business rules are concerned only with the data in an information system. This is the definition of business rules that will be used in this book.
1.2 Ubiquity of Business Rules
Business rules exist in each and every organization around the world. This, however, says nothing about an organization’s awareness of its business rules. Before business rules are analyzed and formalized, they exist in a multitude of forms: company policies, guidelines, industry standards, computer code, or as knowledge in the minds of employees. The first step toward the effective management of business rules is the creating awareness and compiling these different kinds of policies.
Figure 1.1 shows a simplified diagram of a mortgage process containing three major steps. For each of the steps, the business rules are depicted. For example, there are business rules that define whether the application is valid, whether all relevant data has been supplied, and whether the data is within expected ranges. Next a credit score can be determined with business rules, and special terms or conditions may become active or even mandatory. Finally, the approval decision is again based on business rules and a risk and compliance analysis for the complete process may be subject to a set of business rules as well. It becomes obvious that the quality and efficiency of the management of the rules becomes crucial for the organization’s success.
Figure 1.1 Business Rules in Mortgage Processing
In general, business rules can be assumed whenever data has to be checked for errors or invalid states need to be detected. Another category of business rules deals with mapping or classification of data, including the derivation of new facts from existing facts. In addition, calculations are done based on business rules and, of course, all kinds of business decisions. Figure 1.2 shows various examples of the use of business rules.
Figure 1.2 Examples of Business Rules
1.3 Business Rule Management Systems
Business rules can be as simple as adding the value added tax to the retail price of a good. However, they can be also very complex, such as those involved in the organization and optimization of commodity flow. Unforeseen contingencies in such mission-critical applications require real-time amendment because every moment of failure produces high costs. No matter how simple or complex the business rules are, being able to create, maintain, and track the business rules that are governing the operational processes of an organization is critical to its success.
An effective way of managing business rules is a Business Rule Management System (BRMS). A BRMS is a software system used to define, deploy, execute, monitor, and maintain the variety and complexity of decision logic in the form of business rules that are used by operational systems within an organization. The purpose of a BRMS is to ease the identification and authoring of business rules, and to enable the management and execution of the right rules at the right time and in the correct order, without making changes in the application code that implements the processes.
Figure 1.3 Components of a Business Rule Management System
Figure 1.3 shows the components a BRMS:
-
An authoring environment for the definition and maintenance of the business rules
-
A repository to allow the storage of the business rules separate from application code
-
A rules engine to execute the business rules upon invocation by application code
1.3.1 Rule Authoring Environment
The rule authoring environment is a set of user interface tools that target technical as well as non-technical users. IT professionals should not make business decisions in the form of business rules but instead help the business experts responsible for running a business area. The business experts have all the required business expertise to make the best decisions. The BRMS aims at empowerment of business users to enable them to change and to organize the business rules directly. Therefore, a BRMS has to provide different rule expression and representation formats, such as natural language-like text rules (IF condition THEN action) and rulesets, rule flows, decision tables, or decision trees.
For consistent and complete business rules, the BRMS has to provide tools for detecting contradictions or value combinations that are not yet covered in the rules. Also, tools for impact and dependency analysis are very important because the rules base can become very large. Related to the analysis of the rules is the question of rule testing. The authoring environment must provide simulation capabilities that allow tests to be performed with predefined sets of input data. Rule authors need to verify that the results are as expected, and they should be able to understand the decision path, that is, the involved business rules artifacts and how they have influenced the final results.
Besides plain rule authoring, the user interface of a BRMS also has to provide a means of rules organization and management as well as related tools for the management of the rules lifecycle and the access and release control. In an organization there can be easily several thousands of business rules in various representation formats. To make the work efficient, a BRMS needs to provide simple and transparent capabilities for organizing the rules for many projects. Business rules are often grouped b...