Selecting the business rule tools that best support your organization can be a daunting task. There may be many different products available, each with its own strengths and weaknesses. Add in the vendors' sales pitches, in which the truth is often liberally sprinkled with marketing hype, and you can easily become confused about what each tool can actually do.
You will be better able to maintain control over the evaluation when armed with this type of plan. Otherwise, you may fall prey to vendors' illusory presentations instead of seeing what actually exists.
Over my last several articles, I established the evaluation criteria for products that claim to be business rule tools. (See Resources.) Now it's time to develop a case study to test each product against the evaluation criteria. This case study must be:
For my evaluation, I turned to the car rental case study included in the Business Rules Group's (BRG) initial paper, Defining Business RulesWhat Are They Really? The BRG, an independent group of experienced practitioners in the field of systems and business analysis methodology, promotes the business rule approach to business analysis and application development. It also develops standards about the nature and structure of business rules and the relationship of business rules to enterprise organization and system architecture.
The car rental case study, EU-Rents, has been used by a number of standards committees in Europe and by several GUIDE International projects. The BRG extended the EU-Rents case study to incorporate the business rule approach.
As the first task in developing the case study for the business rule product evaluations, I made sure that the industry case study contained the business rule types I wanted to test. To my surprise, the BRG's case study business rules, for the most part, are ramblings rather than atomic business rule statements; they fit into more than one business rule category. Consequently, I had to break down each statement from the BRG case study to expose the associated atomic business rules. Table 2 presents examples of the business rule statements from the BRG case study, decomposed into atomic, classified business rules.
|
Current
State |
Event |
Business
Rules Invoked |
Expected
Behavior |
New
State |
|
Greg
Loomis is a member of the Loyalty Program. |
Make
a reservation for a full-size car for 4/13/2000 at the Boston airport
for 10 days. |
"Bad
experience" check. |
Reservation
is established. |
Greg
Loomis has a reservation. |
|
Allison
Morrison is a new renter. |
Make
a reservation for 4/13/2000 at Boston airport for 10 days. |
None. |
Reservation
is established. |
Allison
Morrison has a reservation. |
|
On
4/13/2000, only one full-size car is available at the Boston airport
branch. Two reservations for a full-size car exist. |
Assign
cars to reservations. |
If
not enough cars are available in car class, but cars in the next
higher-level class are available, upgrade to next higher-level class. |
|
|
|
Loyalty
program members have priority for upgrades. |
Full-size
car is assigned to Allison Morrison's reservation. |
|
|
|
|
Car
from the next higher-level class is assigned to Greg Loomis'
reservation. |
Cars
are assigned to Allison Morrisons and Greg Loomis' reservations. |
|
|
|
|
Greg
Loomis has a rental agreement that is expected to end on 4/22/2000. |
Greg
Loomis returns the car early to the JFK branch on 4/20/2000. |
If
a car is returned to a different branch, transfer the ownership of the
car to the returned-to branch. |
Ownership
of car is transferred to the JFK branch. |
Car
is now owned by the JFK branch. |
|
Allison
Morrison has a rental agreement that is expected to end on 4/22/2000. |
Allison
Morrison does not return the car until 4/25/2000 with no prior
notification. |
If
car is not returned on due date without prior arrangement, after three
days, cancel insurance coverage and notify police. |
Cancel
insurance. |
|
|
File
police report. |
Allison
Morrison has had "bad experiences." |
|
|
|
|
Allison
Morrison has had "bad experiences." |
Make
a reservation for a full-size car for 5/14/2000 for three days at the
New Orleans downtown branch. |
If
a customer has had "bad experiences," the reservation can be
declined. |
Manager
decides to decline the reservation. |
No
reservation is established. |
|
A
"bad experience" includes rentals where the car was returned
late. |
Change
the criteria for the "bad experience" business rule to require
more than three late returns before qualifying. |
Check
for conflicting or redundant business rules. |
New
version of business rule is created. |
New
business rule exists. |
|
Allison
Morrison is no longer considered to have had "bad
experiences." |
|
|
|
|
|
California
regulations require all cars owned within the state must be registered
in California. |
Make
business rule for California car ownership. |
Check
for conflicting or redundant business rules. |
Potential
conflicting business rule with respect to where cars can be returned to. |
Conflicting
business rules identified. |
|
TABLE
1 Scenarios incorporating business rules to test. |
||||
|
Business
Rule Statement |
Business
Rule Type |
|
At
each branch, cars, classified by car group, are available for rental. |
1.
Association |
|
Most
rentals are by advance reservation. 1. Reservations can be made for some
cars for a specific future date. |
Term
Definitions |
|
A
customer can have several reservations but only one car rented at a
time. |
Associations |
|
If
there are not sufficient cars in a group to meet demand, a one-group
free upgrade may be given |
Action
Assertion: Condition, Executive, Controlling Terms |
|
Customers
in the loyalty incentive scheme have priority for free upgrades. |
Action
Assertion: Condition, Executive, Controlling |
|
Cars
rented from one branch of EU-Rent may be returned to a different branch.
1. Terms: Renting Branch, Returned-to Branch |
Association |
|
If
a car is returned to a branch other than the one that rented it,
ownership of the car is assigned |
Action
Assertion, Integrity, Constraint, Executive, Controlling Terms |
|
EU-Rent
keeps records of customers, their rentals, and bad experiences such as
late return, problems with |
1.
Association and Action Assertion, Integrity |
|
If
a car is three days overdue and the customer has not arranged an
extension, insurance coverage |
1.
Action Assertion, Condition, Executive, Controlling |
|
TABLE
2 Business Rule Group's example business rules for EU-Rents. |
|
After identifying the business rules to be tested, I incorporated them into scenarios that served as the basis of the evaluation. (See Table 1.) A scenario consists of five components: an event, the current state of the business objects the event affected, the business rules invoked, the behavior, and the final state of the affected business objects. Additional information about scenarios can be found in my two-part article in Database Programming & Design, Scenario-Based Analysis and Scenario-Based Analysis, Part 2 (June and July 1998, respectively).
I chose to focus the evaluation on the business rules associated with making reservations, assigning cars to reservations, transferring ownership of a car between branches, and interacting with customers who have had bad experiences. I used this set of scenarios to evaluate the application development capabilities of the tools. I added two additional scenarios to test the essential business rule management facilities of version control and conflict management.
To evaluate the tools that build applications, I developed the data
structures as the final component of the case study. I developed both an object
class and data models, because some tools view the data structures as Java
classes, while others access the database directly.
Figure 1
EU-Rents object class model

One objective of my evaluation was to develop criteria for deciding how best
to implement a given business rule. My options were to support each business
rule through parameters in database tables or through explicit statements in the
tool's rules engine, or by using database facilities such as foreign keys,
triggers, or stored procedures. Therefore, I designed the database to use the
structures in my dynamic model. Figure 1 provides the object-class version of
the dynamic model applicable to the case study. Figure 2 (see this figure at
IntelligentEnterprise.com) provides the data-model version. I used Fox Data AB's
System Architect 2001 to develop these models.
Figure 2
EU-Rents Data Model

The object model uses UML notation. I generated the first cut of the data model from the object model using System Architect 2001's Entity-Relationship Diagram (ERD) forward-engineering feature. The ERD notation is System Architect 2001's unique notation for information engineering a data model.
I now have everything required to conduct a thorough, unbiased evaluation of business rule tools. I'm certainly looking forward to finding out how each one fares.
Terry Moriarty, president of Inastrol, a San Francisco-based information management consultancy, specializes in customer relationship information and metadata management. She authored Enterprise View (originally the Repository Report and later the Data Architect) column for Database Programming & Design. You can reach her via email at terry@inastrol.com.
Copyright © 2000 Terry Moriarty ALL RIGHTS RESERVED No Reproduction without permission