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

  1. The need for a business rules approach
  2. Business rules concepts
  3. Introduction to business rule methodology
  4. Scoping for success
  5. Project planning with business rules
  6. Discovering initial requirements
  7. Discovering rules and data
  8. Discovering rules through facilitated sessions
  9. Analyzing data
  10. Analyzing rules
  11. Analyzing process
  12. Designing for a business rules approach
  13. Implementing business rule systems using data-change-oriented rules products
  14. Implementing business rule systems using service-oriented products
  15. Rule management

Chapter 7 - Discovering rules and data

  1. Identify rule sources
  2. Select a rule discovery roadmap
  3. Select or confirm rule standards
  4. Plan rule discovery time and commitment
  5. Discover rules though the roadmap
  6. Authenticate the rules
  7. Give rules business value
  8. Define terms
  9. Define facts
  10. Begin a term/fact model
  11. Add concrete scenarios

Chapter 9 - Analyzing data

  1. Identify candidate entities
  2. Determine relationships among entities
  3. Identify primary and alternate keys
  4. Propagate foreign keys
  5. Determine key business rules
  6. Add attributes
  7. Normalize attributes
  8. Analyze relationships
  9. Determine detailed rules
  10. Combine with related logical models
  11. Integrate data models with broader business perspectives
  12. Anticipate the future in the model
  13. Identify rule-created entities
  14. Identify rule-created relationships
  15. Identify rule-created attributes
  16. Correlate rules with the rule-enriched logical data model

Chapter 10 - Analyzing rules

  1. Make each rule atomic
  2. Understand the underlying rule patterns
  3. Remove redundant rules
  4. Resolve overlaps among rules
  5. Resolve inconsistencies among rules
  6. Ensure completeness among rules
  7. Identify dependencies among rules
  8. Refine the process based on rule family dependencies or data activities
  9. Optimize the rules for the business

Chapter 11 - Analyzing process

  1. Uncover and expand a preliminary core process flow
  2. Assign decisions and rules to the rules capability
  3. Confirm the essential core process flow
  4. Consider alternative core process flows
  5. Create a simple workflow diagram to show maximum concurrency for the core process flow
  6. Finalize the preferred core process flow
  7. Create a simple workflow diagram for the core process flow
  8. Revise core workflow diagram using concrete scenarios
  9. Reference business context (again!)
  10. Confirm the core workflow diagrams
  11. Study important state transitions
  12. Round out all tracks
  13. Create other process analysis deliverables for the core process flow
  14. 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]

    "Business rules create information, called knowledge. Each atomic rule creates only one piece of new information or knowledge." [p207] "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