Structural Patterns for the Common Information Model
- “14. To work our way towards a shared and living language once again, we must first learn how to discover patterns which are deep, and capable of generating life.”
- Christopher Alexander, “The Timeless Way of Building.” New York, Oxford University Press (1979): xii
In This Chapter:
We now know that the common information model is not a single artifact. It is made up of many parts—this content is tuned to the needs of the organization. In this chapter we provide more guidance on how to structure a common information model. To do this we describe five software design patterns that illustrate different approaches to structuring your common information model.
Introduction
Software design patterns1 are a useful way to explain alternative design choices. They use simple English statements to cover
- The context of the design decision
- The problem that needs to be solved
- An example scenario that illustrates the problem
- The forces that make the problem difficult to solve
- A description of the solution
- An illustration of the solution showing how the example scenario was resolved
- A description of the consequences of using the solution, expressed as both benefits and liabilities
- Pointers to known usages of this solution
- Pointers to related patterns
This section covers five basic high-level structural patterns for a common information model. The first pattern is the basic definition of a common information model. It establishes the need for the common information model and is summarized in Table 3.1.
Table 3.1 Generic design pattern for a common information model
Icon |
Pattern Name |
Problem |
Solution |
COMMON INFORMATION MODEL |
An organization is struggling to integrate its IT systems and business operations. This integration may be required to increase its efficiency, embrace new technology, expand its business, and/or improve its customer service. |
The organization should develop a shared understanding of its information’s terminology, meaning, and structure in order to facilitate agile and effective integrated operations. |
The subsequent patterns are specializations of this first common information model pattern that each support a particular business need. A specific implementation of a common information model may focus on one pattern, or may combine these patterns if the stakeholders want to address multiple challenges simultaneously.
Table 3.2 summarizes the four specialized patterns, and the details of each of the patterns follow the table.
Table 3.2 Specialized structural patterns for a common information model
Icon |
Pattern Name |
Problem |
Solution |
CONCEPT BEADS |
An organization needs common definitions of the simple concepts that are used in many applications to improve the efficiency and consistency of the work of its developers. However, it does not have a strong skill base in modeling. |
Create a common information model that defines a clear meaning for each concept and a simple structure for how to record information about an instance of this concept. |
|
CONTINUOUS FABRIC |
An organization needs to integrate related information from a wide range of information sources. |
Create a common information model that defines the meaning, structure, and relationships among all the core concepts. |
|
ENCAPSULATED VIEWS |
An organization needs to exchange information for multiple purposes. |
Create a common information model that defines small clusters of related concepts that can be used as structures for exchanging information. |
|
UNIFYING CONTEXT |
An organization needs to unify operations that have been independent in the past. |
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. |