Enterprise ArchitectureZachman Framework

ArchiMate Modeling Language for Zachman: Visual Representation of Architecture

TT
TopicTrick Team
ArchiMate Modeling Language for Zachman: Visual Representation of Architecture

ArchiMate Modeling Language for Zachman: Visual Representation of Architecture

Text descriptions (Zachman cells) are complete but hard to visualize. Architects need diagrams to understand and communicate. ArchiMate is the notation language for representing architecture visually.

This post shows how to use ArchiMate to visualize Zachman cells.


What is ArchiMate?

ArchiMate is a visual notation language for enterprise architecture. It's the standard (IEEE 1471) for representing architecture.

Think of it like:

  • ER diagrams for data architecture (entities, relationships)
  • BPMN for process architecture (activities, flows)
  • ArchiMate for enterprise architecture (services, business processes, technology)

ArchiMate Core Elements

Three Layers

Business Layer: What the enterprise does

  • Business processes (order processing)
  • Business services (provide order status to customer)
  • Business roles (fulfillment manager)

Application Layer: Systems that support business

  • Application services (OrderService API)
  • Application components (Order microservice)
  • Data objects (Order data)

Technology Layer: Infrastructure

  • Infrastructure services (Database hosting)
  • Infrastructure components (AWS EC2, RDS)
  • Artifacts (Docker image)

Key Relationships

RelationshipMeaningExample
ServesA serves B (B depends on A)OrderService app serves OrderProcessing process
RealizesA implements BOrderService realizes OrderProcessing
TriggersA triggers BCreateOrder event triggers ReduceInventory
FlowsInformation flows from A to BOrder info flows from Customer to FulfillmentService

Mapping Zachman Cells to ArchiMate Models

Row 1 Planner: Strategic Business Model (ArchiMate Business Layer)

Zachman Cell: Planner/What (business entities in scope)

ArchiMate Model:

text
Stakeholder: Customer
    ↓ interacts with
Business Service: "Place Order"
    ↓ realized by
Business Process: "Order Processing"
    ↓ uses
Business Object: Customer data, Product data

Diagram (textual representation):

text
Customer
   |
   | Place Order
   |
Order Service (from inventory)
   |
   | Process Order
   |
Fulfillment Service
   |
   | Create Shipment
   |
Shipping Notification

Row 2 Owner: Current State (ArchiMate Current State)

Zachman Cell: Owner/How (current processes)

ArchiMate Model:

text
Business Process: "Manual Order Entry"
    ├── Step 1: Customer calls sales (manual)
    ├── Step 2: Sales enters order in Salesforce
    ├── Step 3: Wait for Salesforce to sync to SAP (batch, overnight)
    ├── Step 4: Warehouse picks stock (manual)
    ├── Step 5: Create shipment in WMS
    └── Step 6: Send shipping confirmation (email, manual)

Problems identified (ArchiMate stereotypes):
    - Manual steps (inefficient)
    - Batch sync (delays)
    - No integration (data inconsistency)

Row 3 Designer: Target Architecture (ArchiMate Target Design)

Zachman Cell: Designer/How (target processes)

ArchiMate Model (ideal future state):

text
Actor: Customer
   ↓ accesses via
Application Service: Web Portal
   ↓ which calls
Business Service: "Place Order" (API)
   ↓ which orchestrates
   ├─→ InventoryService (check stock)
   ├─→ PaymentService (process payment)
   ├─→ FulfillmentService (create fulfillment task)
   └─→ NotificationService (send confirmation)

All via event-driven architecture:
   OrderCreated event → Published to message queue → Consumed by listeners
   
Result: Order processed end-to-end in seconds (vs. days)

Row 4 Builder: Technology Specifications (ArchiMate Technology Layer)

Zachman Cell: Builder/Where (technology infrastructure)

ArchiMate Model (AWS cloud architecture):

text
Technology Layer:

Infrastructure Services:
    - Database Hosting (AWS RDS)
    - Compute Hosting (AWS EC2)
    - Container Orchestration (AWS EKS - Kubernetes)
    - Message Queue (AWS SQS/Kafka)

Infrastructure Components:
    - RDS Instance (PostgreSQL, Multi-AZ)
    - EC2 instances (load-balanced)
    - S3 (storage)
    - ElastiCache (Redis caching)
    - VPC (network isolation)

Artifact Implementations:
    - Docker image (OrderService container)
    - Terraform code (infrastructure deployment)
    - SQL scripts (database initialization)

Row 5 Sub-Contractor: Implementation Code (ArchiMate Realizations)

Zachman Cell: Sub-Contractor/How (executable code)

ArchiMate Model (showing what implements what):

text
Application Services (APIs):
    - OrderService.createOrder() API
         ↑ implemented by
    - OrderService microservice (code)
         ↑ deployed in
    - Docker container
         ↑ running on
    - AWS EKS cluster
         ↑ backed by
    - RDS PostgreSQL database

Data Objects:
    - Order entity
         ↑ mapped to
    - "orders" table
         ↑ stored in
    - RDS database

Row 6 Enterprise: Live System (ArchiMate Operational Model)

Zachman Cell: Enterprise/How (live metrics)

ArchiMate Model (with operational metrics):

text
Application Service: OrderService
    Status: OPERATIONAL (99.94% uptime)
    Performance: 180ms p95 latency (target: <00ms)
    Throughput: 5,000 requests/min (capacity: 10,000)
    Errors: 0.1% (target: <.5%)

Infrastructure Service: RDS Database
    Status: OPERATIONAL
    CPU: 35% average
    Connections: 450/500 (91%)
    Storage: 63% full
    Replication: <00ms lag (acceptable)

Business Process: Order Processing
    Order completion time: 3 hours (target: < hours)
    Manual intervention: 5% (target: <%)
    Customer satisfaction: 81% (target: >95%)

ArchiMate Viewpoints (Different Perspectives)

ArchiMate defines standard viewpoints (combinations of architecture elements):

Business Process Viewpoint

Shows business processes, roles, services.

text
Customer → Places Order → Order Service
              ↓
         Fulfillment Manager
              ↓
         Fulfillment Process (pick, pack, ship)
              ↓
         Shipping Notification → Customer

Application Structure Viewpoint

Shows applications, services, data objects, and their relationships.

text
Web Portal (application)
    ↓
OrderService (service)
    ├─→ InventoryService
    ├─→ PaymentService
    └─→ NotificationService

Shared:
    - Customer Database
    - Product Database

Technology Deployment Viewpoint

Shows infrastructure, nodes, deployments.

text
Data Center (location)
    ├─ RDS Database (node)
    ├─ EKS Cluster (node)
    │   ├─ OrderService pod
    │   ├─ InventoryService pod
    │   └─ PaymentService pod
    └─ ElastiCache (node)

Integrated View

Shows all three layers together (business, application, technology).

text
Business Layer (top):
    Customer → Place Order Service
    
Application Layer (middle):
    OrderService ← PaymentService ← InventoryService
    
Technology Layer (bottom):
    AWS EKS ← RDS ← ElastiCache
    
Connections show which app supports which process,
which tech hosts which app.

Creating ArchiMate Models: Tools

Open Source:

  • ArchiMate 3 (free modeling language spec)
  • Archi (open-source tool, free)
  • Draw.io (free online diagramming)

Commercial:

  • Enterprise Architect (Sparx Systems, $1,000+)
  • LucidChart (cloud-based, $200+/month)
  • Miro (collaborative diagramming)

Best Practices for ArchiMate

  1. One viewpoint per diagram: Don't cram all layers into one diagram; it becomes unreadable.

  2. Layer separation: Keep business, application, technology layers visually distinct.

  3. Consistent notation: Use ArchiMate standard symbols; don't invent your own.

  4. Labeling: Every element should be labeled; avoid cryptic abbreviations.

  5. Version control: Diagrams should be in git (as code or SVG) so changes are tracked.

  6. Alignment with Zachman: Each diagram should map to specific Zachman cells.


Example: Complete Order-to-Cash with ArchiMate

Mapping Zachman Rows to ArchiMate:

text
Row 1 (Planner):
  Business Process View: High-level order → delivery

Row 2 (Owner):
  Business Process View: Current manual processes, pain points

Row 3 (Designer):
  Business Process View + Application Structure View:
  Target processes + which apps support them

Row 4 (Builder):
  Application Structure View + Technology Deployment View:
  Which services run where on what infrastructure

Row 5 (Sub-Contractor):
  Technology Deployment View: Actual containers, databases, networks

Row 6 (Enterprise):
  Operational View: Live metrics on each layer

Key Takeaways

  1. ArchiMate complements Zachman: Zachman cells are documented in text/tables; ArchiMate visualizes them.

  2. Three layers: Business (what we do), Application (systems), Technology (infrastructure).

  3. Viewpoints matter: Different diagrams for different audiences.

  4. Version control: Diagrams are architecture; they should be in git with version history.

  5. Tool choice: Start with open-source (Archi, Draw.io); upgrade to commercial if you need advanced features.


Next Steps

  • Download Archi (free ArchiMate modeling tool)
  • Create first viewpoint: Business Process View of your current state
  • Map to Zachman cells: Which row/column does each diagram represent?

ArchiMate makes Zachman's abstract matrix concrete and visual.


Meta Keywords: ArchiMate, architecture modeling, visualization, Zachman Framework, enterprise architecture diagrams.