Continuous Fabric
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 integrate related information from a wide range of information sources.
The operation of an organization is typically supported by multiple applications, each supporting a unique aspect of the business. To understand how the organization is performing as an aggregate, pulling information from each of these applications and consolidating it in a single repository is necessary. Often the information from different applications is related and needs to be linked together in a consistent manner. However, each application supports different data structures, identifiers (keys), quality rules, terminology, precision, and currency (timeliness).
How should the aggregated view of this data be represented? These definitions should cover the concepts of the business and the relationships between them. It must include historical detail for analytical mining and up-to-date information for understanding the current state of the business.
Example
GKDMR Travel wants to offer real-time alerts and actions for customers when they are traveling and for the staff who are supporting them. Some of these alerts will be triggered by situations that develop while the customers are traveling, and some actions come from predictive analytics models that use historical information to predict the next best action the company should take to improve the service to a particular customer.
The company will need to create a repository of information that has historical and current information linked together and combined with information from external sources such as weather and location websites, customer comments, and other feedback, along with products and services from business partners.
Forces
- Many people find large data models intimidating and difficult to understand.
- The relationships between concepts can be as important to the business as the details of the concepts themselves.
Solution
Create a common information model that defines the meaning, structure, and relationships between all the core concepts.
A continuous fabric common information model is one where all the concepts are linked together into a continuous network structure. It is built by defining the concepts that need to be represented (in a similar way to the concept beads), and then relationships are added that link the concepts together in meaningful ways. See Figure 3.5.
Figure 3.5 Structure of a continuous fabric common information model
The result is a model that describes a broad landscape of information for the organization. Subsets of a continuous fabric model are typically used in a project. The developer selects the concepts and relationships that are of interest and just uses that portion of the model.
Consequences
Benefits:
- The continuous fabric common information model creates consistency in how concepts are linked together. This creates a deeper level of consistency in the use of information. For many businesses, much of the value of information comes from these relationships. For example, knowing which customers use and buy particular products is more valuable than just having a list of customers and a list of products. The continuous fabric model defines where the valuable relationships are and how they should be represented.
Liabilities:
- This pattern takes a greater level of maturity in the organization’s governance and willingness to share information across lines of business.
- The continuous fabric model is typically very rich in object relationships and will require significant rationalization and transformation before it can depict a physical artifact that can be incorporated in an application. The process will involve careful consideration of which aspects of the model are in scope for the project.
- Continuous fabric models can take a long time to develop. Skilled modelers who may not be members of a project team build them. As a result there can be knowledge disconnect between the team owning the model and the teams using it in projects.
Example Resolved
The analysts at GKDMR Travel create a model that describes all the concepts that could affect a customer’s trip, including the causes and impacts and how they relate to each of the aspects of the customer’s travel plans, insurance, and other related products they have purchased. These are linked together to create a single linked structure. This structure is used as the basis for the company’s analytical repository supporting proactive customer service. Figure 3.6 shows a small part of this model.
Figure 3.6 Fragment of a continuous fabric conceptual model
Figure 3.6 is a conceptual model that uses the UML notation because this was easiest to use with the company’s business users. After the model is accepted, it can be translated into an Entity-Relationship (E-R) logical model as part of the design process for the analytical repository.
Known Uses
Continuous fabric models are often used to describe repositories that consolidate information from many sources. Examples of this are data warehouses and master data management systems.
Continuous fabric models are also often used to describe the concepts in a specific industry. The SID model as published by the TeleManagement Forum (tmForum) is a good example.3
Related Patterns
The concept beads pattern provides a starting point for creating a continuous fabric model because it contains the core entities that will make up the model.
A continuous fabric model can become large and requires considerable effort to learn. The encapsulated view pattern that follows is an approach that breaks up the model into smaller pieces primarily for use as parameters (message structures) in information service definitions. However, it can also be used to break up a large continuous fabric model into subject areas.