In-Depth

What's a business rule?

Quite simply, any rule that’s required to run a business. It’s an impossibly broad definition, to be sure, but the truth is that the term business rule encompasses both the obvious (money can be exchanged for goods and services) and the not-so-obvious (a Super Duper Premier Customer is eligible for a discount of X on the fourth Friday of every month).

The point, of course, is to identify the rules that are required for a business to function, document them, make them operational and automate their management (provisioning, enforcement, monitoring, auditing). There are different categories of business rules. The Business Rules Community (www.brcommunity.org), for example, identifies three: constraints, which specify the conditions that must (or must not) be fulfilled for a rule to be invoked; production rules, which derive new information from existing data; and event rules, which specify what action should be taken in response to specific events.

Proponents tout an all-encompassing vision for the technology, but the reality, today at least, is that business rules are finding uptake in support of specific business requirements, such as sales and marketing, or regulatory compliance or in any business process where requirements frequently change.

The classic use case involves a company that wants to launch a promotional effort, say, tiered discounts, for customers on the basis of past patronage or buying habits. It’s possible that the programmers who built the company’s e-commerce application designed such a facility into it, namely a feature that lets programmers update the application logic to enable promotional discounts for targeted customers with a minimum of effort.

In the business rules model, the line of business itself makes these changes. What’s more, business users can do so by completing any of several pre-built templates. In business rules-ese, a user might format a template thusly:

  • A Customer must be considered a Preferred Customer if the Customer places more than 10 Orders in a calendar year.
  • A Customer may be considered a Preferred Customer only if the Customer places Orders of $100 or more in a calendar year.
  • If the Customer is a Preferred Customer, the Customer is eligible for a 20 percent Discount.
  • A Customer must be considered a Platinum Customer if the Customer is a Preferred Customer that has placed more than $200 in Orders in a calendar year.

The template is processed by the BRMS, which maps the declarative statements with definitions stored in a rule repository. From there, a business rules engine fires out Java, .NET or even COBOL code that incorporates the desired changes.

Back to feature: Proponents Push Business Rules, But Programmers Aren’t Buying, Yet

About the Author

Stephen Swoyer is a contributing editor for Enterprise Systems. He can be reached at [email protected].