Component Model 1-2-3 (CM 1-2-3), Component Model for short, is a system architecture modeling approach that combines Enterprise Architecture (EA) with Solution Architecture (SA). The Component Model is a way to define a target application on different abstraction levels. Level -1 (CM-1) is the EA level, where the application is depicted as a “black box”. The next level (CM-2) defines the application as a “white box”, on which the application’s internal structure is opened to sub-components. The following level (CM-3) defines each main component introduced on the CM-2 level in more detail- when appropriate. 

Note! Application in this context is a synonym for a system or solution, all of which are components of the enterprise architecture of an organization. So all the applications, systems and/or solutions can be called as components.

The main advantages of using this Component Model are as follows:

  • It is easy to create and understand the system architectures, as all of them are using the same decomposition approach for modeling the internal structure
  • It is easy to identify the integration points, as all the provided and required application services (or -interfaces) are defined
  • The whole EA of an organization is becoming more coherent and consistent, as each individual system is depicted with a common modeling style.
Figure: Component Model depicts the target application on different abstraction levels.

Abstraction levels are as follows:

  • At CM-1 -level (Context) the diagram describes how the application interacts with its environment, and what are the interactions with adjacent applications and users. The target application is depicted as a black box. This is the “EA-level”: the internal structure of an application is not relevant, only the services exposed.
  • At CM-2 -level (Composition) the diagram describes how the target application is decomposed into modules (main components), and what application services (or application interfaces) those modules provide and require (use). The logical decomposition of an application is based on the functional aspects, which typically relate to physical decomposition too. The target application is depicted as a white box. This is the internal structure of an application.
  • At CM-3 -level (Component), these diagrams describe how the main modules are decomposed into sub-components, and what are their responsibilities (internal functions or processes), what are the services or interfaces that these components provide and require (use).

The Application Component Model (CM) diagrams below consist of application components and application services. Alternatively, application interfaces can be used instead of application services depending on the case. As always, it is important to utilize such a modeling style that is appropriate for the purpose, and model only those elements that are informative enough and provide certain added value. It is up to the modeler, whether he or she likes to emphasize the functional aspects, or to be more concrete, and model e.g. the actual interfaces with exact naming.

Figure: Abstraction levels of the Component Model.

Component Model – 1 (CM-1) – Context

Component Model – 1 (CM-1) level illustrates interactions between the target application and adjacent applications. All the relevant application services are introduced. The 1-level diagram consists of enterprise architecture-level components and their services, the target application is in the middle.

Figure: Component Model level – 1.

An additional information flow diagram can be provided on the Component Model level – 1. An information flow diagram (a.k.a application cooperation- or application interaction diagram) makes it visible how the data is switched between the applications: from where the business relevant data is transferred to which direction.

Figure: Component Model level – 0 information flows.

Note! For more detailed integration description can be illustrated on Component Level – 2, where it is explicitly defined which application actually starts the interaction – with more detailed information about the mechanism (e.g. synchronous/asynchronous), protocol (e.g. FTP, rest) etc. when appropriate.

Application Component Model – 2 (CM-2) – Composition

Component Model – 2 (CM-2) level illustrates how the target application is decomposed into modules (or main components), and which module realizes which application interfaces. Note! External applications can be left out from this level, but their interfaces are shown. Provided interfaces are colored with the default color (turquoise blue), and required interfaces are colored grey.

Figure: Component Model level – 2.

Note! When more low-level elements are shown, then more high-level elements can / have to be left out – for the sake of simplicity: to keep the diagram readable.

Application Component Model – 3 (CM-3) – Component

Component Model – 3 (CM-3) level illustrates how the target application’s modules are composed of sub-components, and how they interact. CM-3 diagram can be modelled for each application component separately, as shown in the diagram below.

Figure: Component Model level – 3.

Check new version of the Component Model from here: link.