Archimate è un linguaggio di modellazione grafica per l'Enterprise Architecture sviluppato da The Open Group. Archimate adotta un approccio a livelli e orientato ai servizi, suddividendo l'architettura in tre principali strati:
Questi strati si ispirano ai concetti del framework di Zachman, ma si concentrano su aspetti specifici legati alle esigenze di diversi stakeholder.
Gli stakeholder principali che consideriamo sono:
Archimate pone enfasi sulla distinzione tra interfaccia e implementazione. Questo approccio è illustrato in un esempio classico: un servizio di ristorazione, dove l'interfaccia comprende la sala e i camerieri, mentre l'implementazione corrisponde alla cucina e al personale. La relazione tra interfaccia e implementazione è definita come realisation relation, mentre la relazione tra componenti e servizi necessari è chiamata serving relation.
I costrutti di Archimate Core sono organizzati sulla dimensione dei livelli e degli aspetti. Come sappiamo già i livelli sono Business, Application e Technology, mentre gli aspetti sono:
I componenti sono gli elementi essenziali per descrivere la struttura di sistema e sono organizzati in base ai libelli e gli aspetti. Graficamente gli elementi attivi sono rappresentati da rettangoli semplici, quelli comportamentali da rettangoli con angoli arrotondati e quelli passivi da rettangoli con una banda superiore aggiunta.
Inoltre ci possono essere delle decorazioni, che indicano il tipo specifico di comportamento (per esempio un icona ellittica per i servizi e un'icona freccia per i processi)
Le relazioni definiscono i collegamenti tra elementi e sono classificate in strutturali e dipendenza. Le relazioni strutturali sono:
Le relazioni di dipendenza sono invece:
Gli elementi principali del livello business sono:
Un servizio business ("Document creation") è realizzato da una funzione business ("Write Answer"), che utilizza un oggetto passivo (documento testuale).
Gli elementi principali del livello applicazione sono:
Un servizio applicativo ("Document creation") è realizzato da una funzione applicativa ("Editing"), che utilizza un oggetto dati ("Word Document") e viene eseguita da un componente applicativi (programma di elaborazione testi)
Gli elementi principali del livello tecnologico sono:
Un servizio tecnologico ("Database server") è realizzato da una funzione tecnologica ("SQL server") e viene eseguito su un nodo (un server con SO e software di condivisione file).
I nodi rappresentano le infrastrutture hardware/software a diversi livelli di dettaglio: