
Silverston c03.tex V2 - 11/21/2008 2:59am Page 99
Level 2 Contextual Role Pattern, PARTY Only Alternative 99
When there are one-to-many relationships from the role to the entity,
this pattern does not account for tracking history of who played what
role when. For example, what if the project lead changed over time?
In this pattern, the old project lead would just be overridden, unless
this relationship was changed to a many-to-many relationship.
NOTE
It could be argued that history should be handled outside of the
data model by other technical means such as with an auditing feature of the
database or with history snapshot tables.
Synopsis
In this section we described a specific pattern that can be used by many
enterprises to model the different contextual roles that a party may play
regarding the party’s involvement in some other entity. It is significant that
this pattern uses the declarative roles that may be captured for a PARTY as
a basis for creating contextual roles that relate to the party’s involvement in
another entity, such as PROJECTS, ORDERS, or SHIPMENTS.
Although there are benefits of declaring roles using the PARTY and PARTY
ROLE patterns, this structure may be too generalized for some enterprises,
or it may not meet the semantic needs of enterprises that view the roles a
party plays as part of the party itself. It may also be too ‘‘rigorous’’ for some
enterprises. In other words they