Application Layer in ArchiMate Part 2 – Notation and Concepts

Application Layer in ArchiMate Part 2 – Notation and Concepts

Active Structure Concept Notation

Application component A modular, deployable, and replaceable part of a software system that encapsulates its behavior and data and exposes these through a set of interfaces.  
Application collaboration An aggregate of two or more application components that work together to perform collective behavior.  
Application interface A point of access where an application service is made available to a user or another application component.  

Application Component Concept

An application component is defined as a modular, deployable, and replaceable part of a software system that encapsulates its behavior and data and exposes these through a set of interfaces. The name of an application component should preferably be a noun.

Relationships of Application Component, functions, interfaces and collaborations

  • An application component performs one or more application functions.
  • It encapsulates its contents: its functionality is only accessible through a set of application interfaces.
  • Co-operating application components are connected via application collaborations.

Application Component Example

In the ArchiMate Diagram shows 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.

Application Collaboration Concept

An application collaboration is defined as an aggregate of two or more application components that work together to perform collective behavior. An application collaboration is an active structure element. The name of an application collaboration should preferably be a noun.

An application collaboration specifies which components co-operate to perform some task. It is a specialization of a component, and aggregates two or more (co-operating) application components and has the following characteristics:

  • An application collaboration typically models a logical or temporary collaboration of application components, and does not exist as a separate entity in the enterprise.
  • The collaborative behavior may be assigned to one or more application interactions or business interactions, which model the associated behavior.
  • An application interface may be used by an application collaboration, or in other words, an application collaboration may be composed of application interfaces. 

Application Collaboration Example

The ArchiMate Diagram shows below:

  • Two components collaborate in transaction administration: an Accounting component and a Billing component.
  • This collaboration performs the application interaction Administrate transactions.

Application Interface Concept

An application interface is defined as a point of access where an application service is made available to a user or another application component. The name of an application interface should preferably be a noun.

Application Interface Example

The ArchiMate Diagram shows below that provides an application interface for Transaction data exchange, and a Billing component that requires such an interface.

  • An application interface specifies how the functionality of a component can be accessed by other components (provided interface
  • An application interface exposes an application service to the environment.
  • The same application service may be exposed through different interfaces.

Behavior Concepts

Application function A behavior element that groups automated behavior that can be performed by an application component.  
Application interaction A behavior element that describes the behavior of an application collaboration.  
Application service A service that exposes automated behavior.  

Application Function Concepts

An application function describes the internal behavior of an application component.  It is defined as a behavior element that groups automated behavior that can be performed by an application component. The name of an application function should preferably be a verb ending with “-ing”; e.g., “accounting”.

 

If the behavior of an application function is exposed externally, this is done through one or more services. An application function may realize one or more application services. An application function abstracts from the way it is implemented. Only the necessary behavior is specified and it has the following characteristics:

  • Application services of other application functions and infrastructure services may be used by an application function.
  • An application function may access data objects.
  • An application component may be assigned to an application function (which means that the application component performs the application function).

Application Function Example

The ArchiMate Diagram shows below:

  • The internal behavior of the Financial application component is modeled as an application function consisting of two sub-functions: Accounting and Billing
  • These application functions realize the application services that are made available to the users of the application.

Application Interaction Concept

An application interaction is defined as a behavior element that describes the behavior of an application collaboration. The name of an application interaction should preferably be a verb.

  • An application interaction describes the collective behavior that is performed by the components that participate in an application collaboration (structure concept)
  • An application collaboration (structure concept) may be assigned to an application interaction.
  • An application interaction may realize an application service.
  • Application services and infrastructure services (external) may be used by an application interaction.
  • An application interaction may access data objects. 

Application Interaction Example

The ArchiMate Diagram shows below:

  • An Accounting component and a Billing component of a financial system co-operate to compose an administrate transactions interaction.
  • This is modeled as an application interaction assigned to the collaboration between the two components.

Application Service Concepts

An application service exposes the functionality of components to their environment, which is defined as a service that exposes automated behavior. Thus, an application service should be meaningful from the point of view of the environment. The name of an application service should preferably be a verb ending with ­“‑ing”; e.g., “transaction processing”. Also, a name explicitly containing the word “service” may be used.

 

  • An application service may be used by business processes, business functions, business interactions, or application functions.
  • An application function may realize an application service.
  • An application interface may be assigned to an application service.
  • An application service may access data objects. 

Application Service Example

The ArchiMate Diagram shows below:

Diagram Interpretation

  • A Transaction processing (application-to-application) service is realized by the Accounting application function, and is accessible by other components through a Transaction processing application programming interface (API).
  • This service is used by the Billing application function performed by the Billing component.
  • The Billing application function offers an (application-to-business) function Bill creation, which can be used to support business processes, and is accessible to business roles through a Billing screen as an application-to-business interface.

Passive Structure Concepts

Data object A passive element suitable for automated processing.  

Data Object Concept

A data object is defined as a passive element suitable for automated processing, which can be accessed by an application function, application interaction, or application service. A data object may realize a business object, and may be realized by an artifact.  A data object may have association, specialization, aggregation, or composition relationships with other data objects. The name of a data object should preferably be a noun.

Data Object Example

The ArchiMate Diagram shows below: two application functions co-operate via an application service, in which a data object holding Transaction data is exchanged.

Other ArchiMate Resources:

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *