Unifying Context
Context
An organization is looking to improve the methods it uses to develop and integrate IT systems into its operations.
Problem
An organization needs to unify operations that have been independent in the past.
When two organizations integrate either by merger or partnership, they often discover there are at least two ways of doing anything and a confusing inconsistency in the terminology used by each of the formerly independent units. If the integration is to reap its intended benefits, the teams need to quickly reconcile their terminology and integrate/rationalize their systems.
These common definitions include terminology, concepts, policies, and processes.
Example
GKDMR Travel recently created a partnership with another holiday company that wanted to advertise GKDMR Travel’s holidays in its brochure. This broadened the potential audience for GKDMR Travel’s holidays but meant it needed to use the interfaces provided by its business partner. Although both organizations are in the travel industry, there are considerable differences in the terminology that each used to describe its customers and services.
Forces
- The most confusion caused when two different sources of models are brought together is when the same term is used in each, but it has a different meaning.
- Often the level of granularity and the style of modeling can be different when two models from different sources are compared. This means mapping directly between the models is hard.
Solution
Create a common information model that maps existing terminology and definitions to a set of definitions that represents a canonical view of the subject area.
Models created by different groups of people tend to use different terminology, levels of granularity, and patterns within the structures. As such, mapping between them directly is often very difficult. The unifying context common information model uses a semantic model to act as a lingua franca to show how the concepts in two models relate to one another. Figure 3.9 shows an example of this structure. The concepts from the semantic model are shown in gray (labeled “Linking Model Concept”). Each of these concepts has a dotted line relationship to each of the elements in the models being mapped that has the same meaning. Some of the concepts in the semantic model may only be present in one model, or appear in multiple places in the models. Not only does this modeling effort create understanding of how two models relate, but it also shows where there are gaps, duplication, and discrepancies in either model.
Figure 3.9 Existing models linked by the unifying concepts
Consequences
Benefits:
- The unifying context common information model provides an important communication vehicle when two teams are trying to work together for the first time.
- It highlights areas were mapping and normalization would be required and where mediations and transformations will need to be implemented.
Liabilities:
- If either model is changing, then the mapping needs constant maintenance.
- The mapping model may need to include semantic relationships, such as when generalizations and specializations of a particular concept of the models being mapped are at different levels of granularity.
- Although this pattern helps in understanding, it does not in itself address the structural and value-based issues that may need to be resolved at the logical and physical models.
Example Resolved
GKDMR Travel and its business partner agreed to base the canonical definition on the terminology used by the OpenTravel Alliance.4 This organization provides standardized XML messages for exchanging information between organizations working in the travel industry, so this seemed a reasonable starting point. The team extracted all the key concepts from the OpenTravel’s standard message sets and modeled its key attributes and relationships. These models were verified with the business partner. Then each organization mapped its messages to the OpenTravel messages. The result was a clear definition of how the terminology and APIs defined by the business partner maps to GKDMR Travel’s definitions. Figure 3.10 shows an example mapping.
Figure 3.10 Example of a mapping between two model concepts using a canonical definition
With this initial mapping in place, it is then possible to verify that the valid values for the equivalent terms are compatible, and to reveal where there are missing concepts in GKDMR Travel’s common information model.
Known Uses
- In a service-oriented architecture implementation, this style of common information model can be used to show the relationship between a canonical message format and the application-specific message formats used by each of the service providers and service requestors.
- For organizations involved in mergers and acquisitions, this style of common information model can be used to show the relationships between terminology, processes, and systems from each of the original organizations.
Related Patterns
The concept beads pattern or continuous fabric pattern provides a good basis for the canonical form of the model.