
Silverston c03.tex V2 - 11/21/2008 2:59am Page 74
74 Chapter 3 ■ Using Roles: How Parties Are Involved
the quality of an ORDER may play a contextual role of ‘‘quality assur-
ance person’’ that doesn’t need to be declared as a declarative role.
Is this role significant within the context of the enterprise as whole?
If the answer is yes, the role is a declarative role. For example, the role
of CUSTOMER may be significant not only for specific transactions but
in general across the enterprise. Declarative roles may be used and built
upon using the contextual role patterns in this chapter. For example, a
CUSTOMER may be declared and then used to relate the CUSTOMER to
aparticularORDER.
Level 1 Contextual Role Pattern, Attributes
It is often common to see the specific roles associated with an entity captured
as attributes of that entity. For example, an ORDER may have the ship-to and
bill-to customers defined as attributes of that order. The names of the bill-to
and ship-to customers are captured in those attributes for an instance of a
specific order.
Why Do We Need This Pattern?
The Level 1 Contextual Role Pattern, Attributes, shown in Figure 3-1, provides
the most specific way to model contextual roles. The roles are maintained via
attributes for that particular entity. This pattern also provides a view of the
scope of all the roles for a particular piece of data. Also, it is surprising how
many data models; ...