app
ArchiMate 3.2 Equivalent: Application Component (Business Layer / Application Layer)
Represents an individual software application, microservice API, or frontend client within an enterprise system.
Visual Styling
To apply custom shapes, badges, icons, or CSS to applications, use a Style Rule (e.g. style app where internet_facing == true { icon "globe" }).
Syntax
app <id> "<Display Name>" {
description "<text>"
owner "<team>"
tags ["tag1", "tag2"]
time "Tolerate" | "Invest" | "Migrate" | "Eliminate"
cost <amount> <unit>
version "<version>"
status "<status>"
tier "Tier-1" | "Tier-2" | "Tier-3"
deployment_model "Cloud" | "Container" | "Serverless"
internet_facing true | false
# Special Blocks
lifecycle { phase ... }
score { business_value ... tech_fit ... }
security { confidentiality ... integrity ... availability ... }
# Child Modules
component <comp_id> "<Component Name>" { ... }
agent <agent_id> "<Agent Name>" { ... }
relationships { ... }
}
Properties
| Property | Type | Allowed Values | Description |
|---|---|---|---|
description | string | Free text | Explanation of application functionality |
owner | string | Free text | Responsible engineering team |
tags | string[] | Array of strings | Categorization tags |
time | enum | "Tolerate", "Invest", "Migrate", "Eliminate" | TIME portfolio classification |
cost | cost | cost 10000 month or block form | Operating spend |
version | string | e.g. "1.2.0" | SemVer release version |
status | string | e.g. "Active", "Deprecated" | Operational state |
tier | string | e.g. "Tier-1", "Tier-2" | Criticality tier |
deployment_model | string | e.g. "Kubernetes", "AWS Lambda" | Runtime deployment target |
technology | string | e.g. "ASP.NET Core / .NET 10", "React" | Implementation stack or runtime |
api_type | string | e.g. "REST", "GraphQL", "gRPC" | Exposed interface protocol |
internet_facing | boolean | true | false | Public web exposure flag |
Allowed Relationship Verbs & Targets
| Verb | ArchiMate Relation | Allowed Target Entity Types |
|---|---|---|
composed_of | Composition | component, agent |
realizes | Realization | capability, goal |
serves | Serving | actor, process, system, app, agent |
reads, writes | Access | data_object |
flows_to | Flow | system, app, component, process, data_object, agent |
triggers | Triggering | process, system, app, component, agent |
influences | Influence | goal, kpi |
migrates_to | Transformation | system, app, component, infrastructure, environment, agent |
depends_on | Dependency | system, app, component, infrastructure, environment, agent |
governed_by | Governance | policy, standard |
protects | Protection | system, app, component, infrastructure, data_object, process, agent, trust_boundary |
Complete Example
app app_customer_portal "Customer Web Portal" {
description "React SPA providing online banking capabilities to consumers"
owner "Digital Banking Squad"
tags ["frontend", "customer-facing"]
version "2.8.0"
status "Active"
internet_facing true
component comp_auth_guard "OIDC Auth Guard" {
description "Handles OAuth 2.0 PKCE authentication flow"
}
relationships {
this serves actor_customer_vip "Serves premium banking customers"
this depends_on app_pay_api "Invokes payment REST APIs"
this reads data_customer_profile "Displays user profile info"
}
}