Editorials

What Is a Business Rule?

Yesterday, one of our readers put the pressure on me by asking, “What are business rules?” What a great question. I’m not sure I have the best answer. But, I’d like to give it some effort, with the desire for others to comment, to keep me honest, and share their own perspective.

I would say that the simplest rules are implemented by relational database engines with ease. Referential integrity of a properly normalized database accurately defines how your data tables interact. Default constraints and check constraints are useful for validating the actual values. Even the use of data types in an SQL database enforces the kinds of data stored in a column of a table. This are pretty simple, low level business rules.

Years ago there was a product called Vision Jade, later named Versata. They built their product around the concept that you build your application by defining your business rules. For example, you could have a purchase order. A business rule might be that the purchase order total formula was the sum of all item retail price – discounts, Plus shipping, and sales tax. You define the formula, and Versata defines that as a business rule, and builds the code to maintain it, both in the database and applications. In Versata, if you ever need the Purchase Order Total, it is always computed correctly. This is a fairly simple business rule.

The more complicated business rules find themselves better expressed in tools like workflow engines. Dozens, or sometimes hundreds of criteria are brought together in an effort to make a decision. The intersection of these different criteria produce desired results. These are the most complex business rules. The can consist of many Boolean values, ranges of values, or specific relationships. Because of the complexity of these kinds of Business Rules, they don’t lend themselves as easily to SQL type implementations.

I’m sure there are other nuances of what may be called a Business Rule. These three categories are pretty easy to understand. Leave a comment with other kinds of business rules as you see them.

Cheers,

Ben