Business Rules Applied
Barbara von Halle
- Business rules
- A formal expression of knowledge or preference, a guidance system for
steering behavior (a transaction) in a desired direction. They are the
guidance system that influences the collective behavior of an organization's
people and information systems.
- Business rules system
- An automated system in which the rules are separated, logically and
physically, from other aspects of the system and shared across data stores,
user interfaces, and perhaps applications.
- Business rules approach
- Focusing on the "thinking" or decision-making capacity of the organization.
A formal way of managing and automating an organization's business rules so
that the business behaves and evolves as its leaders intend.
- Business event
- An activity in the business environment (external to the system) that
requires a response from the system. Can include the simple passage of time.
|
Business event |
Business decisions |
Rules |
|---|
|
Customer agent requests order for product |
Is customer known?
Is product known?
Is product available?
Is product low on inventory? |
If customer id exists, then customer is known.
If customer is preferred and quantity exists on shelf, then product is
available.
If customer is not preferred and quantity+10 exists on shelf, then product
is available.
If quantity on hand < reorder quantity, then product is low on inventory.
If product is low on inventory, then reorder product.
|
Chapters
- The need for a business rules approach
- Business rules concepts
- Introduction to business rule methodology
- Scoping for success
- Project planning with business rules
- Discovering initial requirements
- Discovering rules and data
- Discovering rules through facilitated sessions
- Analyzing data
- Analyzing rules
- Analyzing process
- Designing for a business rules approach
- Implementing business rule systems using data-change-oriented
rules products
- Implementing business rule systems using service-oriented products
- Rule management
Chapter 7 - Discovering rules and data
- Identify rule sources
- Select a rule discovery roadmap
- Select or confirm rule standards
- Plan rule discovery time and commitment
- Discover rules though the roadmap
- Authenticate the rules
- Give rules business value
- Define terms
- Define facts
- Begin a term/fact model
- Add concrete scenarios
Chapter 9 - Analyzing data
- Identify candidate entities
- Determine relationships among entities
- Identify primary and alternate keys
- Propagate foreign keys
- Determine key business rules
- Add attributes
- Normalize attributes
- Analyze relationships
- Determine detailed rules
- Combine with related logical models
- Integrate data models with broader business perspectives
- Anticipate the future in the model
- Identify rule-created entities
- Identify rule-created relationships
- Identify rule-created attributes
- Correlate rules with the rule-enriched logical data model
Chapter 10 - Analyzing rules
- Make each rule atomic
- Understand the underlying rule patterns
- Remove redundant rules
- Resolve overlaps among rules
- Resolve inconsistencies among rules
- Ensure completeness among rules
- Identify dependencies among rules
- Refine the process based on rule family dependencies or data activities
- Optimize the rules for the business
Chapter 11 - Analyzing process
- Uncover and expand a preliminary core process flow
- Assign decisions and rules to the rules capability
- Confirm the essential core process flow
- Consider alternative core process flows
- Create a simple workflow diagram to show maximum concurrency for the
core process flow
- Finalize the preferred core process flow
- Create a simple workflow diagram for the core process flow
- Revise core workflow diagram using concrete scenarios
- Reference business context (again!)
- Confirm the core workflow diagrams
- Study important state transitions
- Round out all tracks
- Create other process analysis deliverables for the core process flow
- Create a workflow diagram for the rule flow, if necessary
The book's core value system
|
STEP principles |
Purpose of the principle |
|---|
|
Separate rules |
To reuse rules
To apply special techniques to optimize rule quality
To change rules independently of other system aspects |
|
Trace rules |
To determins, over time, if the rule remains a correct rule for guiding
the business
To access the impact of rule changes |
|
Externalize rules |
To allow everyone to know where rules can be known
To allow everyone to know what the rules are
To allow everyone to challenge the rules |
|
Position rules for change |
To enable easy rule changes
To enable quick rule changes
|
The book's classification scheme
Business rule classification |
Definition |
Example |
|---|
|
term |
A noun or noun phrase with an agreed upon definition. |
Customer credit rating code |
|
fact |
A statement that connects terms, through prepositions and verbs, into
sensible business-relevant observations. |
Customer can place order. |
|
mandatory constraint |
A complete statement that expresses an unconditional circumstance that must
be true or not true for the business event to complete with integrity. |
A customer must not have more that 10 open orders at one time. |
|
guideline |
A complete statement that expresses a warning about a curcumstance that
should be true or not true. |
A customer should not have more that 10 open orders at one time. |
|
action enabler |
A complete statement that tests conditions and upon finding them true, initiates
another business event, message, or other activity. |
If a customer order is valid, then initiate the Place Order business
event. |
|
computation |
A complete statement that provides an algorithm for arriving at the value
of a term where such algorithms may include sum, difference, product, quotient,
count, maximum, minimum, average. |
The total-amount-due for an order is computed as the sum of the line-item
amount(s) for the order plus tax. |
|
inference |
A complete statement that tests conditions and upon finding them true,
establishes the truth of a new fact. |
If a customer has no outstanding invoices, then the customer is of
preferred status. |
"All business rules are about data." [p37]
- Terms define data concepts and details.
- Facts define associations among data.
- Guidelines and Constraints test data values.
- Computations arrive at a data value.
- Inferences arrive at a data conclusion.
- Action Enablers evaluate data values prior to initiating action.
"Business rules create information, called knowledge. Each atomic rule
creates only one piece of new information or knowledge." [p207]
- A Computation rule creates a value for the computed attribute.
- An Inference rule creates an existence of an entity, sets a flag,
or sets another attribute value.
- A Guideline, Constraint, or Action Enabler creates a truth value.
A truth value is a yes or no indicator denoting whether the guideline or
constraint is violated, or whether the conditions for action are met.
"Business rules reference pieces of information to determine compliance
to a constraint or a guideline, compute a formula, or qualification for an
inferred knowledge rule or action-enabler rule." [p206]
This is a business activity
"Business rules are first and foremost for business people." [p187]
"A formal rule stewardship program establishes permanent business people whose
job includes rule management." [p184]
"[For terms and facts], the business audience simply needs to identify them
and their definitions. The rest (organizing them into entities and attributes
of object classes) is the responsibility of analysts or designers." [p205]
"How to" quotes
"Should any piece of information referenced in a rule clause change in value,
it is possible that the rule should fire and verify that the database still
remains in compliance with business rules or policy." [p39]
"When you discover database action within the scope of the system, classify
the corresponding rule as an inference." [p37]
"The methodology in this book provides guidelines for preserving the connection
between rules to database activities. If you do not design your object/methods
around the attachment of rules to database events, you need to be sure you are
not disintegrating the data integrity." [p41]
Notes
"Shared rules and shared data result in shared knowledge. Shared knowledge
makes for a smarter learning enterprise." [p25]
"Placing rules as a third design principle between data modeling and workflow
concepts." [iii]
The book emphasizes four distinct and concurrent workflows of project execution:
the process track, the rule track, the data track, and the technology track.
Commerial products
"The book divides the world of commercial rules technology into two broad
categories, which are quite different from each other: data-change-oriented,
and service-oriented." [p17]
- data-change-oriented rules product
- Executes rules when a running application touches data for which rules
have been declared. With this approach, as an application attempts to update
data, the rules capability watches for conditions that must ne true about the
data as well as conditions that should cause a reaction, such as the creation
of new data. Versata VLS, and USoft Developer.
- service-oriented rules product
- Executes rules upon request by a running application, not because the
application directly attempted to touch data. In this case, the rules
service waits until an application calls on it to apply rules to data. The
rules are not bound to data or object structure. Usually, the application
passes the data to the rule service. The rules are not bound to data
structures. They are free-floating. HNC Blaze Advisor, and ILOG Jrules.
Review
The book does a remarkable job of balancing: process prescriptions,
implementation heuristics, a case study demonstration, and commercial
product implementations. Given that the holy grail of reuse has suffered
more from political and cultural issues than from technical issues, her
emphasis on process improvement is a very pragmatic choice. It is clear
the author hails from a strong data modeling background, but that does
not unduly skew her worldview. On page 30, six competing business rule
classification schemes are summarized. The author chooses her own
extended subset as the foundation for the book.
Links