Insight · ArchiMate notation

ArchiMate Application Layer: Components, Services, Interfaces and Data Objects in Sparx EA

The ArchiMate application layer describes how software supports the business. It contains active structure elements (Application Component, Application Collaboration, Application Interface), behavior elements (Application Function, Application Interaction, Application Process, Application Service, Application Event), and passive structure elements (Data Object). It is the primary layer for application portfolio management: inventorying what applications exist, what they do, what business functions they support, and how they relate.

In Sparx EA, a well-structured application layer, with typed elements and consistent relationships, makes portfolio analysis fast and repeatable instead of a manual spreadsheet exercise.

An architect builds this layer to answer questions leaders ask: which applications support which business services, what depends on what, and what is affected if something changes. Today the architect creates each component and connector by hand and chases owners for the details. The AI-augmented way is to state the portfolio structure and let AI create the typed elements and relationships in the repository, then connect the attributes that live in other systems. The skill is knowing the layer's element types and connectors well enough to instruct AI precisely and to catch a wrong relationship in its output.

The application layer at a glance

Active structure

Who & what performs

Application Component, Application Collaboration, and Application Interface, the entities that do the work and expose it. Application Component is the core element for portfolio inventory.

Behavior

What they do

Application Function, Process, Interaction, Service, and Event. Application Service is the external-facing functionality the component exposes to its consumers.

Passive structure

What they manage

Data Object, the application-layer counterpart to the business layer’s Business Object, the information that applications create, read, and update.


Active Structure: Applications as Performing Entities

Application Component

An Application Component is a modular, self-contained unit of software with a well-defined interface. It is the primary element for representing applications, systems, services, and software modules in ArchiMate.

Examples: “CRM Application,” “Payments Processing Engine,” “Customer Identity Service,” “Data Analytics Platform,” “Mobile Banking App.”

In practice, Application Component is the element you use to inventory your application portfolio. Each distinct application that your organization owns, operates, or relies on is an Application Component. The granularity decision matters: at the enterprise portfolio level, “Salesforce CRM” is one Application Component. At the domain architecture level, Salesforce might be decomposed into “Sales Cloud Component,” “Service Cloud Component,” and “Marketing Cloud Component.”

In Sparx EA, Application Components are created from the ArchiMate 3 toolbox. Portfolio attributes such as lifecycle status, business criticality, hosting model, owner, and annual cost are held by your project and portfolio, service management, risk and compliance, and financial management systems. The AI-augmented way is to connect those systems to the model instead of typing the values into tagged values. The architecture model stitches the data together and shows how it relates to the components, so the insights stay current with less effort to maintain. Without the relationships, the application layer is a list of boxes.

Application Collaboration

An Application Collaboration represents two or more Application Components working together to perform joint behavior. Use it when a specific interaction between multiple applications is semantically significant and cannot be attributed to a single component. Example: “Order Management Collaboration” involving the ERP, WMS, and Shipping Platform working in coordination.


Behavior: What Applications Do

Application Function

An Application Function is an internally visible unit of behavior performed by an Application Component. Functions represent what an application does internally, its core processing capabilities.

Examples: “Credit Scoring Function,” “Report Generation Function,” “Authentication Function,” “Data Transformation Function.”

Application Functions are useful for fine-grained capability modeling within an application, understanding what specific capabilities a system provides at the functional level. They connect upward to Business Functions and downward to the technical mechanisms that perform them.

Application Process

An Application Process is a sequence of application behaviors triggered by an event and designed to produce a specific result, the application-level counterpart to a Business Process. Use Application Process when the sequence and triggering of application behavior is architecturally significant.

Example: “End-of-Day Settlement Process”, a triggered, sequential set of application-level operations that runs on a schedule and produces a specific output.

Application Interaction

An Application Interaction is collaborative behavior performed by two or more Application Components. It is the behavioral counterpart to Application Collaboration.

Application Service

An Application Service is the externally visible functionality that an Application Component offers to its environment. Application Services represent what an application exposes, its external interface from a service perspective.

Examples: “Customer Data API Service,” “Payment Processing Service,” “Authentication Service,” “Report Delivery Service.”

Application Services sit at the boundary between the application layer and its consumers, whether those consumers are Business Processes (above) or other Application Components (lateral). The Serving connector links Application Service to the Business Process or Business Function it supports.

The critical distinction from Application Interface: the Service represents the functionality provided; the Interface represents the access point through which the functionality is reached. A Service is conceptual; an Interface is technical.

Application Event

An Application Event is an application-level occurrence that triggers behavior. Examples: “Payment Received Event,” “User Login Event,” “Data Load Complete Event.”

Events are particularly valuable in event-driven architecture modeling, where the flow of events between Application Components is the primary structural concern.


Passive Structure: What Applications Manage

Data Object

A Data Object is the information managed by an Application Component or accessed by Application Functions and Processes. Data Objects are the application-layer representation of information, technically specific, unlike the business-layer Business Object.

Examples: “Customer Master Record,” “Transaction Log,” “Product Catalog Entry,” “Risk Assessment Data.”

Data Objects are where the application and data architecture intersect. They enable data flow modeling, understanding which applications create, read, update, or delete which data, using the Access connector in ArchiMate.


Application Interface: The Key Element for API Architecture

The Application Interface is one of the most underused elements in ArchiMate practice, and one of the most valuable for modern architecture.

An Application Interface is the point of access through which an Application Service is made available to the environment, the technical exposure mechanism. In the context of modern application architectures:

  • A REST API endpoint is an Application Interface
  • A SOAP web service endpoint is an Application Interface
  • A message queue topic is an Application Interface
  • A file drop location is an Application Interface
  • A database connection point is an Application Interface

Using Application Interface explicitly in ArchiMate models makes the integration architecture visible and governable. Instead of knowing vaguely that System A and System B are “integrated,” the model shows: System A exposes an Application Interface → System B uses that Interface → the Interface provides an Application Service → that Service supports a Business Process.

This level of detail is what makes impact analysis tractable. When System A is being replaced, the model shows exactly which interfaces will be affected, which other systems depend on them, and which business processes will be disrupted.

In Sparx EA, Application Interfaces are connected to Application Components using the Composition connector (the Interface is part of the Component). Other Components access the Interface using the Association or Serving connector. The Interface is assigned to the Application Service it exposes.


Application Portfolio Management with the Application Layer

The application layer is the canonical home for application portfolio management in ArchiMate. A complete portfolio model includes:

Portfolio inventory: Every Application Component, with attributes such as lifecycle status, business criticality, hosting model, owner, annual cost, and strategic classification (invest, maintain, migrate, eliminate, the TIME model) connected from the systems that own them rather than recorded as static values in the repository.

Capability-to-application connections: Realization connectors from Application Components to Strategy layer Capabilities, showing which applications support which business capabilities. This is the data that drives portfolio rationalization: which capabilities are over-supported? Which are under-supported?

Cross-application dependencies: Serving connectors from one Application Component to another, representing integration points. This is the dependency map that makes change impact analysis possible.

Business service coverage: Serving connectors from Application Services to Business Processes and Business Functions, showing what business operations each application supports.

When this portfolio model is in place in Sparx EA, the following questions become directly answerable from the repository rather than from a spreadsheet:

  • “Which applications are classified as ‘Eliminate’ and what business processes do they currently support?”
  • “Which capability has the most applications realizing it? Show me the redundancy list.”
  • “If we decommission Application X, which other applications depend on it and which business services would be affected?”

These questions otherwise need manual spreadsheet work. A well-structured application layer removes it.


Documenting Microservices and APIs

The ArchiMate application layer handles microservices architectures well, provided practitioners use the right elements.

A microservice is best represented as an Application Component with a specific Application Interface exposing its API. In a microservices estate, the model includes:

  • Individual Application Components for each microservice
  • Application Interfaces for each API endpoint (or grouped by API version)
  • Application Services describing the functionality each microservice provides
  • Application Collaborations where multiple microservices must work together
  • Data Objects for the data each microservice owns (in a domain-driven design context)

A common shortcut is to model a microservices estate as a single large Application Component with many Application Services. This loses the structural information, which service depends on which, where the data boundaries are, where the API contracts live, that makes the model architecturally useful.

For API management layers (API Gateway, service mesh), model these as Application Components in their own right, with the Gateway’s Application Interfaces representing the exposed consumer-facing endpoints and Serving connectors to the downstream microservices.


Connecting the Application Layer to Business and Technology Layers

Application to Business (upward): Application Services serve Business Processes and Business Functions (Serving connector). Application Components realize Business Services (Realization connector). These connections make capability-to-application mapping possible.

Application to Technology (downward): Technology Services serve Application Components (Serving connector). Application Components are realized by Artifacts, and the Technology Nodes that host them are assigned to those Artifacts, representing the hosting relationship. This connection makes infrastructure impact analysis possible.

In Sparx EA, cross-layer ArchiMate diagrams combine elements from multiple layers on the same canvas. This is standard ArchiMate practice. The key discipline is maintaining semantic clarity by using the correct element types and the correct connector types, so the cross-layer model is parseable by both human architects and AI tools.


Frequently asked questions

What is an Application Component in ArchiMate? An Application Component is a modular, self-contained unit of software that forms the primary element for representing applications in an ArchiMate model. Use it to inventory your application portfolio, one Application Component per distinct application or system. Connect attributes such as lifecycle status, criticality, hosting model, owner, and cost from the systems that hold them to make the portfolio reportable and queryable.

What is the difference between an Application Service and an Application Interface in ArchiMate? An Application Service represents the externally visible functionality that an Application Component provides, what it does, as experienced by its consumers. An Application Interface represents the technical access point through which that functionality is reached: the REST API endpoint, SOAP service, message queue, or other exposure mechanism. Service is conceptual; Interface is technical. Both are needed for a complete integration architecture model.

How is a Data Object different from a Business Object in ArchiMate? A Business Object (Business layer) is an information concept at the level of abstraction that business stakeholders recognize, such as “Customer,” “Invoice,” “Policy.” A Data Object (Application layer) is the information as managed by an application: technically specific, potentially including structure, ownership, and persistence concerns. A Business Object may be realized by one or more Data Objects across multiple applications. The distinction matters for data architecture and application rationalization work.

How do I model microservices in ArchiMate? Model each microservice as an Application Component. Represent its API using Application Interface elements composed into the Component. Describe the functionality it provides using Application Services. Use Application Collaborations where microservices must work together. Assign data ownership using Data Objects. The result is a structural map of the microservices estate that makes dependency analysis, change impact assessment, and API governance tractable, none of which is possible with an informal diagram.

What makes the application layer queryable and reportable? A structured application layer, with every Application Component typed correctly and cross-layer relationships modeled, can be exposed to BI platforms and query tools that traverse the repository graph. That structure is what enables portfolio questions such as “Which applications support our Customer Engagement capability?” or “Which applications are approaching end-of-life, and what business services would be affected by their decommissioning?” Without consistent typing and relationships, the same questions fall back to manual analysis.

What is the Serving connector in the application layer? The Serving connector (previously called Used By in older ArchiMate versions) represents a support relationship, the source element provides functionality that is required by the target element. In the application layer, Application Services serve Business Processes (the application supports the business). Application Components serve other Application Components (dependencies between systems). Technology Services serve Application Components (infrastructure supports applications). The direction matters: the serving element provides to the served element.

How many Application Components should be at the top level of the portfolio? This depends on the granularity decision for your EA practice. For enterprise-level portfolio management, one Application Component per distinct business application is the right level. Decompose individual Applications further (using Composition) only where the internal structure is architecturally significant, for example, within a complex platform where multiple distinct modules need to be governed separately.

Can I use the application layer without the business layer? Yes, because Sparx EA lets you create Application Components without any business layer connections, but it is a missed opportunity. Application Components without connections to Business Services and Business Processes float free of organizational context. You cannot answer “which business operations does this application support?” without the connection to the business layer. The application layer’s value for governance and decision-making depends on its cross-layer connections.


What this means for the architect

The ArchiMate application layer is where architecture meets investment decisions. A well-structured portfolio model in Sparx EA, typed correctly and connected to the business and technology layers and to the systems that hold portfolio data, supports portfolio management that holds up under scrutiny. The architect's skill is the element typing and the cross-layer connections, which AI then builds and keeps current. Start with application portfolio management or see why Sparx EA is the platform for it.

← All insights

Turn your application layer into a portfolio you can act on.

We can teach your architects to model the application layer and direct AI on your own repository, with mentoring until it sticks, or do the modeling for you and hand it over. Most teams want some of both.

Book a call