
Silverston c08.tex V2 - 11/21/2008 3:12am Page 461
Level 3 Business Rules Pattern 461
An enterprise is building a metadata repository or rules engine. Cap-
turing all of the business rules together in this fashion can be an effective
way to catalog each of the different business rules, their factors, and
their outcomes. Also by capturing all of the rules, factors, and outcomes
together, you show the breadth and depth of the types of rules that are
needed for creating a metadata repository. You may also expose com-
mon factors and/or outcomes that may apply to more than one business
rule entity.
There is a need to handle all business rules in a common fashion in
order to help with the implementation of business rules. Imagine a
programmer creating a standard interface to manage the BUSINESS
RULE FACTOR(s) and BUSINESS RULE OUTCOMES that can be
reused. This can be done only when there is a common, stable structure
underlying that code. By using a single data model for all rules, this can
help facilitate common architecture, rules, processes, and services.
There is a need for flexibility in maintaining business rules. When
there are needs for additional business rule types, factor types, outcome
types, and category types, these may be added much more easily and
without needing to change the data model. In this pattern, use of the
generalized factor and generalized outcome entities instead of modeling ...