ArchiMate® 3.1 Specification
Copyright © 2012-2019 The Open Group

10                  Technology Layer

The Technology Layer elements are typically used to model the Technology Architecture of the enterprise, describing the structure and behavior of the technology infrastructure of the enterprise.

10.1             Technology Layer Metamodel

Figure 82 gives an overview of the Technology Layer elements and their relationships. Whenever applicable, inspiration is drawn from the analogy with the Business and Application Layers. In the following sections, several more elements will be introduced.

Figure 82: Technology Layer Metamodel

Note:      This figure does not show all permitted relationships; every element in the language can have composition, aggregation, and specialization relationships with elements of the same type. Furthermore, there are indirect relationships that can be derived, as explained in Section 5.7.

10.2             Active Structure Elements

The main active structure element for the Technology Layer is the node. This element is used to model structural entities in this layer. It strictly models the structural aspect of a system: its behavior is modeled by an explicit relationship to the behavior element.

A technology interface is the (logical) place where the technology services offered by a node can be accessed by other nodes or by application components from the Application Layer.

Nodes come in several forms, including device and system software. A device models a physical computational resource, upon which artifacts may be deployed for execution. System software is an infrastructural software component running on a device. Typically, a node consists of a number of sub-nodes; for example, a device such as a server and system software to model the operating system.

The inter-relationships of components in the Technology Layer are mainly formed by the communication infrastructure. The path models the relation between two or more nodes, through which these nodes can exchange information. The physical realization of a path is modeled with a communication network; i.e., a physical communication medium between two or more devices (or other networks).

Figure 83: Technology Active Structure Elements

Note:      This figure does not show all permitted relationships; every element in the language can have composition, aggregation, and specialization relationships with elements of the same type. Furthermore, there are indirect relationships that can be derived, as explained in Section 5.7.

10.2.1           Node

A node represents a computational or physical resource that hosts, manipulates, or interacts with other computational or physical resources.

Nodes are active structure elements that perform technology behavior and execute, store, and process technology objects such as artifacts (or materials, as outlined in Chapter 11). For instance, nodes are used to model application platforms, defined by the TOGAF framework [4] as: “a collection of technology components of hardware and software that provide the services used to support applications”.

Nodes can be interconnected by paths. A node may be assigned to an artifact to model that the artifact is deployed on the node.

The name of a node should preferably be a noun. A node may consist of sub-nodes.

Artifacts deployed on a node may either be drawn inside the node or connected to it with an assignment relationship.

Figure 84: Node Notation

10.2.2           Device

A device represents a physical IT resource upon which system software and artifacts may be stored or deployed for execution.

A device is a specialization of a node that represents a physical IT resource with processing capability. It is typically used to model hardware systems such as mainframes, PCs, or routers. Usually, they are part of a node together with system software. Devices may be composite; i.e., consist of sub-devices.

Devices can be interconnected by communication networks. Devices can be assigned to artifacts and to system software, to model that artifacts and system software are deployed on that device. A node can contain one or more devices.

The name of a device should preferably be a noun referring to the type of hardware; e.g., “IBM System z mainframe”.

Different icons may be used to distinguish between different types of devices; e.g., mainframes and PCs.

Figure 85: Device Notation

10.2.3           System Software

System software represents software that provides or contributes to an environment for storing, executing, and using software or data deployed within it.

System software is a specialization of a node that is used to model the software environment in which artifacts run. This can be, for example, an operating system, a JEE application server, a database system, or a workflow engine. Also, system software can be used to represent, for example, communication middleware. Usually, system software is combined with a device representing the hardware environment to form a general node.

A device or system software can be assigned to other system software; e.g., to model different layers of software running on top of each other. System software can be assigned to artifacts, to model that these artifacts are deployed on that software. System software can realize other system software. A node can be composed of system software.

The name of system software should preferably be a noun referring to the type of execution environment; e.g., “JEE server”. System software may be composed of other system software; e.g., an operating system containing a database.

Figure 86: System Software Notation

10.2.4           Technology Collaboration

A technology collaboration represents an aggregate of two or more technology internal active structure elements that work together to perform collective technology behavior.

A technology collaboration specifies which nodes and/or other technology collaborations cooperate to perform some task. The collaborative behavior, including, for example, the communication pattern of these nodes, is modeled by a technology interaction. A technology collaboration typically models a logical or temporary collaboration of nodes and does not exist as a separate entity in the enterprise.

Technology collaboration is a specialization of technology internal active structure element, and aggregates two or more (cooperating) nodes and/or other technology collaborations. A technology collaboration is an internal active structure element that may be assigned to one or more technology interactions or other technology internal behavior elements, which model the associated behavior. A technology interface may serve a technology collaboration, and a technology collaboration may be composed of technology interfaces. The name of a technology collaboration should preferably be a noun.

Figure 87: Technology Collaboration Notation

10.2.5           Technology Interface

A technology interface represents a point of access where technology services offered by a node can be accessed.

A technology interface specifies how the technology services of a node can be accessed by other nodes. A technology interface exposes a technology service to the environment. The same service may be exposed through different interfaces.

In a sense, a technology interface specifies a kind of contract that a component realizing this interface must fulfill. This may include, for example, parameters, protocols used, pre- and post-conditions, and data formats.

A technology interface may be part of a node through composition, which means that these interfaces are provided by that node and can serve other nodes. A technology interface can be assigned to a technology service, to expose that service to the environment.

The name of a technology interface should preferably be a noun.

Figure 88: Technology Interface Notation

Note:      In previous versions of this standard, this element was called “infrastructure interface”. This usage is still permitted but deprecated and will be removed from a future version of the standard.

10.2.6           Path

A path represents a link between two or more nodes, through which these nodes can exchange data, energy, or material.

A path is used to model the logical communication (or distribution) relations between nodes. It is realized by one or more communication networks (or distribution networks when modeling physical elements; see Chapter 11), which represent the physical communication (or distribution) links. The properties (e.g., bandwidth, latency) of a path are usually aggregated from these underlying networks.

A path connects two or more nodes. A path is realized by one or more networks. A path can aggregate nodes.

Figure 89: Path Notation

10.2.7           Communication Network

A communication network represents a set of structures that connects nodes for transmission, routing, and reception of data.

A communication network represents the physical communication infrastructure. It “provides the basic services to interconnect systems and provide the basic mechanisms for opaque transfer of data. It contains the hardware and software elements which make up the networking and physical communications links used by a system, and of course all the other systems connected to the network”, as described by the TOGAF Series Guide: The TOGAF Technical Reference Model (TRM) [19].

A communication network connects two or more devices. The most basic communication network is a single link between two devices, but it may comprise multiple links and associated network equipment. A network has properties such as bandwidth and latency. A communication network realizes one or more paths. It embodies the physical realization of the logical path between nodes.

A communication network can consist of sub-networks. It can aggregate devices and system software, for example, to model the routers, switches, and firewalls that are part of the network infrastructure.

Figure 90: Communication Network Notation

Note:      Formerly, this element was called “network”. This usage is still permitted but deprecated and will be removed from a future version of the standard.

10.2.8           Example

Two “Blade System” devices are connected to a communication network “Data Center Network”. This in turn is connected to another communication network “Wide Area Network” through a node “Data Center Switch”. The two communication networks together realize a path “Data Replication Path”. Both “Blade System” devices and the “Data Center Switch” node have a technology interface “Management Interface”. Device “Blade System 1” deploys “Hypervisor” system software for hardware virtualization. Two system software components are deployed on the “Hypervisor”: an “Open Source Operating System” and a “Proprietary Operating System”, creating two virtual hosts, modeled as nodes “Quotation Virtual Host” and “Purchase Virtual Host”.

Example 30: Technology Active Structure Elements

10.3             Behavior Elements

Behavior elements in the Technology Layer are similar to the behavior elements in the other layers. As in the Business and Application Layers, a distinction is made between the external behavior of nodes in terms of technology services, and the internal behavior of these nodes; i.e., technology functions, technology processes, and technology interactions that realize these services.

Figure 91: Technology Internal Behavior Elements

10.3.1           Technology Function

A technology function represents a collection of technology behavior that can be performed by a node.

A technology function describes the internal behavior of a node; for the user of a node that performs a technology function, this function is invisible. If its behavior is exposed externally, this is done through one or more technology services. A technology function abstracts from the way it is implemented. Only the necessary behavior is specified.

A technology function may realize technology services. Technology services of other technology functions may serve technology functions. A technology function may access technology objects. A node may be assigned to a technology function (which means that the node performs the technology function). The name of a technology function should preferably be a verb ending with “-ing”.

Figure 92: Technology Function Notation

Note:      In previous versions of this standard, this element was called “infrastructure function”. This usage is still permitted but deprecated and will be removed from a future version of the standard.

10.3.2           Technology Process

A technology process represents a sequence of technology behaviors that achieves a specific result.

A technology process describes internal behavior of a node; for the user of that node, this process is invisible. It its behavior is exposed externally, this is done through one or more technology services. A technology process abstracts from the way it is implemented. Only the necessary behavior is specified. It can use technology objects as input and use or transform these to produce other technology objects as output.

A technology process may realize technology services. Other technology services may serve (be used by) a technology process. A technology process may access technology objects. A node may be assigned to a technology process, which means that this node performs the process. The name of a technology process should clearly identify a series of technology behaviors using a verb or verb-noun combination; e.g., “Boot up system” or “Replicate database”.

Figure 93: Technology Process Notation

10.3.3           Technology Interaction

A technology interaction represents a unit of collective technology behavior performed by (a collaboration of) two or more nodes.

A technology interaction describes the collective behavior that is performed by two or more nodes, possibly via their participation in a technology collaboration. This may, for example, include the communication pattern between these components. A technology interaction can also specify the joint behavior needed to realize a technology service. The details of the interaction between the nodes involved in a technology interaction can be expressed during the detailed design using, for example, a UML interaction diagram.

A technology collaboration or two or more nodes may be assigned to a technology interaction. A technology interaction may realize technology services. Technology services may serve a technology interaction. A technology interaction may access artifacts. The name of a technology interaction should clearly identify a series of technology behaviors; e.g., “client profile creation” or “update customer records”.

Figure 94: Technology Interaction Notation

10.3.4           Technology Event

A technology event  represents a technology state change.

Technology functions and other technology behavior may be triggered or interrupted by a technology event. Also, technology functions may raise events that trigger other infrastructure behavior. Unlike processes, functions, and interactions, an event is instantaneous: it does not have duration. Events may originate from the environment of the organization, but also internal events may occur generated by, for example, other devices within the organization.

A technology event may have a time attribute that denotes the moment or moments at which the event happens. For example, this can be used to model time schedules; e.g., to model an event that triggers a recurring infrastructure function such as making a daily backup.

A technology event may trigger or be triggered (raised) by a technology function, process, or interaction. A technology event may access a data object and may be composed of other technology events. The name of a technology event should preferably be a verb in the perfect tense; e.g., “message received”.

Figure 95: Technology Event Notation

10.3.5           Technology Service

A technology service represents an explicitly defined exposed technology behavior.

A technology service exposes the functionality of a node to its environment. This functionality is accessed through one or more technology interfaces. It may require, use, and produce artifacts.

A technology service should be meaningful from the point of view of the environment; it should provide a unit of behavior that is, in itself, useful to its users, such as application components and nodes.

Typical technology services may, for example, include messaging, storage, naming, and directory services. It may access artifacts; e.g., a file containing a message.

A technology service may serve application components or nodes. A technology service is realized by a technology function or process. A technology service is exposed by a node by assigning technology interfaces to it. A technology service may access artifacts. A technology service may consist of sub-services.

The name of a technology service should preferably be a verb ending with “-ing”; e.g., “messaging”. Also, a name explicitly containing the word “service” may be used.

Figure 96: Technology Service Notation

Note:      In previous versions of this standard, this element was called “infrastructure service”. This usage is still permitted but deprecated and will be removed from a future version of the standard.

10.3.6           Example

A technology event “Database Update” triggers a technology process “Replicate Remote Data”, which is served by a technology service “Database Update Replication”. This technology service is realized by a technology function “Database Replication”, which is composed of four other technology functions: “Administrate Replication”, “Handle Local Updates”, “Handle Remote Updates”, and “Monitor Replication Status”. There are information flows from the “Administrate Replication” technology function to the other three technology functions.

Example 31: Technology Behavior Elements

10.4             Passive Structure Elements

Technology objects model the passive structure elements that are used and processed by the infrastructure. Technology objects represent the “physical” objects manipulated by the infrastructure of an enterprise. Technology objects are abstract elements; i.e., they are not instantiated in models but serve as the generic type of the things manipulated by the Technology Layer. This may include both artifacts (e.g., files) and physical material.

Figure 97: Technology Passive Structure Elements

Technology objects may be accessed by technology behavior (functions, processes, interactions, events, and services). A technology object may have association, specialization, aggregation, or composition relationships with other technology objects. A technology object may realize a data object or business object. It may be an artifact or material (from the physical elements). The name of a technology object should preferably be a noun.

10.4.1           Artifact

An artifact represents a piece of data that is used or produced in a software development process, or by deployment and operation of an IT system.

An artifact represents a “physical” element in the IT world. Artifact is a specialization of technology object. It is typically used to model (software) products such as source files, executables, scripts, database tables, messages, documents, specifications, and model files. An instance (copy) of an artifact can be deployed on a node. An artifact could be used to represent a physical data component that realizes a data object.

An application component or system software may be realized by one or more artifacts. A data object may be realized by one or more artifacts. A node may be assigned to an artifact to model that the artifact is deployed on the node. Thus, the two typical ways to use the artifact element are as an execution component or as a data file. In fact, these could be defined as specializations of the artifact element.

The name of an artifact should preferably be the name of the file it represents; e.g., “order.jar”. An artifact may consist of sub-artifacts.

Figure 98: Artifact Notation

10.4.2           Example

A “Web Archive” artifact (which may realize an application component) is composed of two other artifacts: “Database Access Java Archive” and “Business Logic Java Archive”. Two specializations of the “Web Archive” artifact are a “Purchase Application Web Archive” and a “Quotation Application Web Archive”. A “Travel Insurance Database” artifact (which may realize a data object) is associated with the “Web Archive” artifact.

Example 32: Technology Passive Structure Element: Artifact

10.5             Summary of Technology Layer Elements

Table 8 gives an overview of the Technology Layer elements, with their definitions.

Table 8: Technology Layer Elements

Element

Definition

Notation

Node

Represents a computational or physical resource that hosts, manipulates, or interacts with other computational or physical resources.

Device

Represents a physical IT resource upon which system software and artifacts may be stored or deployed for execution.

System software

Represents software that provides or contributes to an environment for storing, executing, and using software or data deployed within it.

Technology collaboration

Represents an aggregate of two or more technology internal active structure elements that work together to perform collective technology behavior.

Technology interface

Represents a point of access where technology services offered by a node can be accessed.

Path

Represents a link between two or more nodes, through which these nodes can exchange data, energy, or material.

Communication network

Represents a set of structures that connects nodes for transmission, routing, and reception of data.

Technology function

Represents a collection of technology behavior that can be performed by a node.

Technology process

Represents a sequence of technology behaviors that achieves a specific result.

Technology interaction

Represents a unit of collective technology behavior performed by (a collaboration of) two or more nodes.

Technology event

Represents a technology state change.

Technology service

Represents an explicitly defined exposed technology behavior.

Artifact

Represents a piece of data that is used or produced in a software development process, or by deployment and operation of an IT system.

 



return to top of page

Downloads

Downloads of the ArchiMate documentation are available under license from the Download link within the ArchiMate information web site. The license is free to any organization wishing to use ArchiMate documentation entirely for internal purposes. A book is also available from The Open Group Library as document C197.


Copyright © 2012-2019 The Open Group, All Rights Reserved
ArchiMate is a registered trademark of The Open Group.