ArchiMate Application Layer - Active Layer Concepts

The main active structure concept for the application layer is the application component. This concept is used to model any structural entity in the application layer: not just (re-usable) software components that can be part of one or more applications, but also complete software applications, sub-applications, or information systems.

  • Application Component

  • Application Collaboration

  • Application Interface

Although very similar to the UML 2.0 component, our component concept strictly models the structural aspect of an application: its behavior is modeled by an explicit relationship to the behavioral concepts.

Application Component

Application Component is a modular, deployable, and replaceable part of a software system that encapsulates its behaviour and data and exposes these through a set of interfaces. Think of the Application Component as eventually the physical software that will perform the necessary functions. It is independently deployable, reusable and replaceable. Its name should use a noun.

ArchiMate Application Component Notation

Example

The models below show the two ways to express that the application component Financial application is composed of three other application components.

Image result for archimate application components visual paradigm

Example

In the model below, a financial application is depicted as an application component consisting of two sub-components for accounting and billing, each of which offers an application service to the environment. These services are accessible through a shared accounting & billing application interface, which is part of the financial application.

Image result for archimate application components visual paradigm

Note That:

  • Application Component assigned to Application Functions, Business Processes and Business Functions

  • Application Component composed or aggregated of Application Interfaces

Application Collaboration

Application Collaboration is an aggregate of two or more application components that work together to perform collective behavior. An Application Collaboration represents the need for application components to “talk” to each other. How this is done is modeled in detail by an interaction. Patterns of collaboration could be used, i.e. Model / View / Controller, Client / Server. Name should be a noun.

Example

In the model below, two components collaborate in transaction administration: an Accounting component and a Billing component. This collaboration performs the application interaction Administrate transactions.

Image result for archimate application collaboration visual paradigm

Note That

  • Application Collaboration is a specialization of a component

  • Application Collaboration assigned to Application or Business Interactions

  • Application Collaboration aggregated of Application Components

  • Application Interface used by Application Collaboration

  • Application Collaboration composed of Application Interfaces

Application Interface

Application Interface is a point of access where an application service is made available to a user or another application component. It specifies how the functionality of a component is accessed by other components. In conceptual terms similar to an Application Programmers Interface listing a set of functions. In addition, details such as parameters, protocols, pre/post conditions and data formats could be included. A quality of interfaces is that they represent an obligation or contract that a component realizing the interface must provide. It can be a provided or required interface. A noun is using as its name.

Example

In the model below, a financial application is depicted as an application component consisting of two sub-components for accounting and billing, each of which offers an application service to the environment. These services are accessible through a shared accounting & billing application interface, which is part of the financial application.

Image result for archimate application interface visual paradigm

Note That

  • Application Component composed of Application Interface(s)

  • Application Interface assigned to Application or Business Services