IA logo
IA logo
Blog icon

BLOG

Werken met Archimate Model Exchange Files

Datum: 16 Okt 2015
Auteur: Paul Goes

De OpenGroup heeft recentelijk een nieuwe standaard gepubliceerd waarmee Archimate modellen uitgewisseld kunnen worden. Deze standaard is het ArchiMate® Model Exchange File Format en is hier te vinden.

Archimate Exchange files maken het mogelijk om de inhoud van een model/repository vanuit de ene modelleertool te exporteren en vervolgens in de andere modelleertool te importeren. Het beschrijft in XML formaat hoe het model gestructureerd is en bevat informatie over de elementen, eigenschappen van de elementen, relaties tussen de elementen en samenstelling van views.

Aangezien de uitwisseling plaatsvindt op basis van een vastgesteld XML-schema is het mogelijk om deze XML-bestanden via programma's of scripts te bewerken. Dit maakt het mogelijk om bijvoorbeeld een initiële vulling van een repository te doen, modellen met nieuwe elementen uit te breiden, de inhoud van een model met een CMDB te vergelijken of rapportages op te stellen.

De afgelopen weken heb ik de mogelijkheden van de Archimate Model Exchange Files op twee verschillende manieren toegepast. De eerste toepassing is het initieel vullen van een modelrepository op basis van input uit infrastructurele en applicatieve configuratiefiles. De tweede toepassing is het analyseren van een model en het aanmaken van een grafische rapportage over de inhoud van het model.

Initieel vullen van een Archimate modelrepository

Van een informatiesysteem bij een opdrachtgever was een Archimatemodel aanwezig met daarin een uitgebreide uitwerking van de businesslaag en de applicatielaag. Het model bevatte echter nog vrijwel geen invulling van de technologielaag. Om management een inzicht te geven in de toegevoegde waarde van het modelleren van de technologielaag werd besloten om een separate repository in Archi op te stellen met daarin een model van de huidige infrastructuur.

Aangezien het een vrij omvangrijke infrastructuur betreft (twin datacenter virtuele infrastructuur met ongeveer 230 virtuele machines) wisten we dat het handmatig opstellen van het model een tijdrovende klus zou zijn. De betreffende infrastructuur is echter gebaseerd op een aantal standaard infrastructurele bouwstenen die geautomatiseerd uitgerold worden. Dit leidde tot het idee om het model via een script samen te stellen. Dit script wordt gevoed met exportfiles uit de virtualisatie omgeving en configuratiefiles uit de deploymentomgeving. Op basis van de serverrol van een server beschikt het script over de kennis van het bouwblok om de juiste elementen en relaties aan te maken.

In iets meer dan drie dagen is het script opgesteld en is de modelrepository gevuld met 1472 elementen en 2273 bijbehorende relaties.

Het script is een VBscript waarin gebruik gemaakt wordt van het XML Document Object Model (XMLDOM). Het bevat subroutines voor het maken van een element, een relatie en een custom property. Met de methodes createNode en appendChild worden de elementen, relaties en properties aan de XML-file toegevoegd en met de methode setAttribute worden de attributen ervan juist ingesteld. Het script kent aan de elementen, relaties en properties unieke identifiers toe en gebruikt deze bij het leggen van relaties tussen de verschillende objecten.

Grafische analyse van Archimate modellen

Op basis van de opgedane XML scripting kennis heb ik een eenvoudig script geschreven dat een Archimate Model Exchange File analyseert en een rapportage in een pdf-bestand wegschrijft. Het analyserapport geeft een grafische weergave van de aantallen elementen, relaties en views zoals die in het model aanwezig zijn.

Onderstaand wordt het rapport weergegeven van de analyse van de ArchiMetals voorbeeld case van de Opengroup. Deze case is onderdeel van de OpenGroup documentatie van het Archimate Model Exchange File Format en is hier te vinden.

AMA rapport

In de hieronder gegeven extract uit het rapport zijn grafieken te zien met de aantallen elementen in de businesslaag, de applicatielaag en de technologielaag en de verdeling van de aantallen elementen naar laag (business, applicatie, technologie), type (passive structure, behavior, active structure) en laag en type.

AMA extract

Ook dit script is een VBscript waarin gebruik gemaakt wordt van het XML Document Object Model (XMLDOM). Met de methodes selectNodes, selectSingleNode en getAttributes worden de elementen, relaties en views uit de XML-file gelezen en worden counters voor de totalen bijgewerkt. De totalen worden via Microsoft Excel weggeschreven in een kopie van een rapportagetemplate en deze wordt als analyserapport in pdf-formaat opgeslagen.

Om een inzicht te geven in de wijze waarop het script werkt, heb ik besloten om het hier beschikbaar te stellen voor informatieve doeleinden en/of persoonlijk gebruik.

Download de sources van de Archimate Model Analyzer in één ZIP-bestand.

Installeren van de Archimate Model Analyzer

Pak de zip-file uit in een map;

De volgende bestanden worden hierbij in de map geplaatst:
'Archimate Analysis Tool v3.vbs'
'Archimate Analysis Tool Template.xlsx';

Uitvoeren van de Archimate Model Analyzer

Dubbelklik op het bestand 'Archimate Analysis Tool v3.vbs';

Druk in de 'Info'-dialoog op 'OK';
Open in de 'Select'-dialoog het te analyseren bestand;
Druk in de 'Analyzing'-dialoog op 'OK';
Het analyseren zal starten;

Druk in de 'Finished'-dialoog op 'OK';
Het gegenereerde analyserapport wordt weergegeven;

In de map van het geanalyseerde bestand zijn de volgende files aangemaakt:
'.log' met een uitgebreide log van de analyse
'.xlsx' met het MS Excel rapport
'.pdf' met het PDF rapport;

Reageren op dit blogartikel:

HTML Comment Box is loading comments...
<< Artikel Blog overzicht

Recente artikelen

16 oktober 2015
Archimate scripting Archimate Model Exchange

25 maart 2015
Archi Canvas Archi Canvas Templates

20 maart 2015
Wordle Cloud Wordle Cloud Vergelijking

4 maart 2014
Modelleertips Vijf modelleertips