Inleiding

Als onafhankelijk informatiearchitect wordt mij regelmatig gevraagd om een (informatie) architectuur in kaart te brengen. Hierbij heb ik de mogelijkheid om bij meerdere organisatie een analyse te maken vanuit verschillende gezichtspunten. Dat maakt mijn werk vanzelfsprekend erg gevarieerd.

Overeenkomstig in deze opdrachten is dat een registratie van de architectuur door het rubriceren van de verschillende onderdelen een belangrijk onderdeel is van de analyse is. Hiervoor zet ik de ene keer een wiki in zoals confluence en de andere keer een architectuur repository zoals bijvoorbeeld enterprise architect.

Beide oplossingsrichtingen hebben voor- en nadelen maar voorzien beiden toch onvoldoende in mijn behoefte om snel en op eenduidige wijze de analyse van de architectuur uit te werken. Er is behoefte aan een combinatie van beiden, waarbij je afhankelijk van de situatie het ene aspect meer uitwerkt dan het andere.

Reden voor mij om een prototype te ontwikkelen van een desktop- en webtoepassing die een combinatie is van een repository en een wiki. Dit prototype heb ik nu in een aantal opdrachten toegepast en ik ben enthousiast over de resultaten. Reden om dit prototype als Open Source Software onder EUPL licentie beschikaar te stellen.

Dit artikel gaat kort in om het prototype en de keuzes die gemaakt zijn. De website www.architectuurrepository.nl is een voorbeeld van deze architectuurcombinatietool die ik voorlopig PSAssistent heb genoemd. Op de site is alle informatie te vinden.

Beschrijven van architectuur

Of je nu een baseline architectuur, een target architectuur of beiden uitwerkt, het eindproduct bestaat uit een beschrijving van verschillende architectuurconcepten zoals principes, requirements diagrammen met (Archimate) entiteiten etc. Die beschrijving werken we, heel traditioneel, bijna altijd uit in de vorm van documenten. In mijn beleving is dat maar een deel van het verhaal, met name de onderlinge relaties tussen de verschillende concepten is net zo belangrijk. In diagrammen wordt dit gepoogd te realiseren, het zal in diagrammen echter altijd een subset zijn van alle bestaande relaties.

Een wiki maakt het in deze mogelijk om een gedetailleerde beschrijving te maken van de aanwezige elementen en biedt een elegante navigatiestuctuur om door deze beschrijvingen te “bladeren”. Een architectuurrepository maakt het mogelijk om diagrammen te maken om relaties inzichtelijk te maken, de gedetailleerde beschrijving zoals in wiki’s is hier minder gedetailleerd, met name omdat dit de diagrammen onleesbaar zal maken.

In het prototype zijn een aantal modulen uitgewerkt die aan elkaar gerelateerd kunnen worden en op die wijze de combinatie van wiki en repository realiseren. Onderstaande paragrafen lichtende  een aantal van deze modulen kort toe.

Entiteiten

Voor de architectuurbeschrijving zal een register van entiteiten uitgewerkt worden. Dat kan gedaan worden zelf de entiteittypen te kiezen maar het is aan te bevelen om aan te sluiten op bestaande standaarden. In het prototype is gekozen voor Archimate 2.0. Deze taal is krachtig omdat het een aantal typen en concepten uitgewerkt heeft die nauw aansluiten bij de scope van de architect. De mogelijkheid om deze entiteiten aan elkaar te relateren op basis van gedefinieerde associatietypen is een bijkomend voordeel.

In het prototype kunnen deze (Archimate) entiteiten aan elkaar gerelateerd worden. Daarnaast kunnen zij ook gerelateerd worden aan de andere concepten zoals requirements, functionarissen en documenten.

Architectuur documenten en management letters

Bij het beschrijven van een architectuur zul je vrijwel nooit in een greenfield situatie terechtkomen, er zijn meestal al architectuur documenten zoals referentie architecten, PSA’s en management letters aanwezig. Deze vormen een goede bron van informatie en door een goede ontsluiting via menu’s en zoekmechanismen kunnen deze documente als product van de analyse ontsloten worden.

In de DyA methode wordt een onderscheid gemaakt tussen bouwen onder en bouwen zonder architectuur. De laatste situatie kan afgehandeld worden met een magement letter waarin je beschrijft waarom er (tijdelijk) wordt afgeweken wordt van de architectuur. Het onderscheid tussen deze documenten is in de PSAssisten expliciet uitgewerkt, zodat je de management letters kunt bewaken (bijvoorbeeld de einddatum van de architectuurafwijking).

Dit concept is geimplementeerd in het prototype. Zowel managementletters als entiteiten kunnen gerelateerd worden aan de andere concepten zoals entiteiten, functionarissen en concerns etc. Documenten kunnen opgeslagen worden als fysiek document echter de opslag van de content is ook mogelijk zodat er meer een online architectuur encyclopedie ontslaat en de ontsluiting en het beheer eenvoudiger wordt.

Functionarissen

Wie is er betrokken bij een bepaald architectuur product, of het nu een PSA, een referentie architectuur of een beschrijvende entiteit als een component of device is niet altijd eenvoudig te bepalen. Door dit in kaart te brengen en de relaties tussen deze personen en de andere architectuurconcepten te registreren is het eenvoudig om deze functionarissen te betrekken bij je werkzaamheden bijvoorbeeld tijdens een toets- of evaluatiefase.

Requirements en principes

Requirements, concerns, patronen en principes zijn belangrijke architectuurconcepten. Ik beschouw deze concepten meestal als “voorschrijvend” ten opzichte van beschrijvend zoals de entiteiten. In de uitwerking van het prototype is het Togaf sjabloon voor principes gebruikt. Het is in één van mijn projecten gebleken dat hiermee ook prima concerns en requirements beschreven kunnen worden.

Het aanleggen van een register van deze voorschrijvende concepten is een voordeel voor de latere uitwerking van vervolgarchitecturen. Bijkomend voordeel is dat deze concepten gerelateerd kunnen worden aan de andere entiteiten zodat je eenvoudig de “voorschrijvende architectuur” kunt publiceren. Dit is in het prototype uitgewerkt.

Content

Content is de beschrijving van willekeurige onderwerpen in de vorm van digitale inhoud. Dit is de basis van een Content Management Systeem in het algemeen en een Wiki in het bijzonder.

Het ontsluiten van deze content is in het prototype op meerdere manieren geimplementeerd, bijvoorbeeld in de vorm van een verkennerscherm, een menu maar ook via verwijzende links binnen de teksten.

Een OSS prototype

In het vorige hoofdstuk is een beschrijving gegeven van de verschillende modulen binnen het prototype. Deze modulen worden op verschillende manier ontsloten. Hiermee wordt het mogelijk om verschillende viewpoints voor de diverse stakeholders te ontsluiten. In onderstaande opsomming een aantal voorbeelden:

  • Explorer weergave, een verkennerweergave waarbij een boomstructuur gecombineerd wordt met een detailweergave. Met name krachtig voor het beheer van de repository inhoud.
  • Diagrammen, op basis van de Archimate 2.0 notatie kunnen weergaven gemaakt worden van de entiteiten en hun onderlinge relaties. Extra is de mogelijkheid om door de diagrammen te “wandelen”. Door het klikken op een entiteit in een diagram worden de detailgegevens getoond.
  • Matrices, het in kaart brengen van de relaties tussen de verschillende architectuurconcepten
  • Wiki, ontsluiting van architectuurdocumenten en content op basis van een wiki structuur
  • Wizards, een repository is een combinatie van registers, het leggen van relaties tussen deze registers kan goed met wizards gerealiseerd worden

Het prototype is met name gericht op het uitwerken van de verschillende registers en het leggen van relaties tussen deze entiteiten. Nu ik het inzet voor grotere projecten zie je nieuwe behoeften ontstaan zoals het eenvoudiger selecteren van entiteiten in een register, bewaren van diagrammen maar ook directe manipulatie van entiteiten in een diagram. Dat zijn dan ook een aantal functionaliteiten voor de volgende release.

Meer informatie

Het prototype is ontwikkeld op basis van ASP.Net, VB.Net en een MS-Access database. Inrichting is eenvoudig te realiseren binnen een IIS omgeving of binnen Visual Studio (Webdeveloper Express). Mocht je input hebben of suggesties voor aanpassingen dan ben ik daar erg geinteresseerd in. Wil je zelf met het product aan de slag dan is het te downloaden (inclusief de broncode) via http://www.architectuurrepository.nl

Weergaven: 661

Reactie van Erwin Oord op 3 Januari 2013 op 15.22

Ik zou zeggen: een repository én een wiki. En een grafische modelleeromgeving, want ik maak wel onderscheid tussen repository en grafische tooling.

Dit is een mooi initiatief. Ook bij ArchiXL werken we aan een betere ondersteuning van de architect. Primair gebruiken we een semantische wiki, die we graag koppelen aan een modelleertool zoals bijvoorbeeld BiZZdesign Architect. Belangrijk aspect is vooral het ontsluiten van de informatie in de repository op een wijze die aansluit bij de behoefte van specifieke doelgroepen -- views dus. Dat kunnen eenvoudige lijsten of matrices zijn, inzichtelijke diagrammen of complexe producten zoals een impactanalyse die de basis vormt voor  een projectstartarchitectuur. Ik ben benieuwd hoe je dat in het prototype hebt opgepakt.

Reactie van Bert Dingemans op 5 Januari 2013 op 11.26

Dag Erwin,

Eens met je onderscheid tussen een repository en een modelleeromgeving. Voor het gemak in de titel het onderscheid niet gemaakt. Bij de uitwerking heb ik vijf onderdelen onderkend naast de genoemde ook een registratiemodule, een enquetemodule en een uitwisselportaal zie bijvoorbeeld http://are.interactory.nl/images/psaare2.pdf.

Uitwisseling is een aandachtspunt, de verschillende rapportages onderken ik ook en met het gebruikte framework in PSAssistent zijn rapportages in verschillende formaten redelijk goed uitwisselbaar waaronder een PSA samenvoegsjabloon obv RTF. Echter een repository is nooit een losstaand iets.Er is altijd wel iets als een project of applicatieregister een CMDB etc in de organisatie. Daar wil je ook graag mee interacteren. Voor 2013 heb ik onder andere op de agenda staan om te kijken in hoeverre XMI uitkomst kan bieden voor dat knelpunt.

Reactie van Johan Theunissen op 14 Januari 2013 op 16.20

Hoi Erwin,

Welke semantische WIKI gebruiken jullie?

Mvg,
Johan Theunissen

Reactie van Erwin Oord op 14 Januari 2013 op 20.49

@Johan: Wij gebruiken Semantic Mediawiki als basis

Reactie van Johan Theunissen op 16 Januari 2013 op 9.01

Wij gebruiken ook Mediawiki, maar nog niet de semantische extensie.

Heeft die extensie veel voordelen?

Reactie van Erwin Oord op 16 Januari 2013 op 10.48

Ja, die extensie heeft heel veel voordelen. Ik kan hem absoluut aanbevelen.

Je kunt gestructureerd informatie in de wiki vastleggen, als in een database. En je kunt die informatie er weer uithalen in de vorm van lijsten, tabellen en zelfs diagrammen. Bijvoorbeeld: "Toon mij een tabel van alle bedrijfsprocessen die geraakt worden wanneer we applicatie X uitfaseren; met per bedrijfsproces de eigenaar en de ondersteunde bedrijfsservices" of "Toon mij een diagram waarin de relaties van principe X met alle bedrijfsdoelen, andere principes en richtlijnen staan". Dat maakt het mogelijk om op basis van eenmalig vastgelegde (en beheerde) informatie allerlei doelgroepgerichte wikipagina's ("views") te tonen.

Er zijn allerlei open-source-extensies ontwikkeld waarmee je visualities kunt maken, bijvoorbeeld mindmaps, geografische kaarten, gantt-charts enzovoorts. Die werken allemaal op basis van "inline queries" uit de semantische plugin van Mediawiki.

NB. Als je er meer van wilt weten: je kunt je nog aanmelden voor ons (gratis) middagseminar op 31 januari waarin de mogelijkheden van SMW uitgebreid aan bod komen: http://www.archixl.nl/archixl/organisatie/nieuws/82-mini-seminar 

Reactie van Johan Theunissen op 17 Januari 2013 op 7.40

Hoi Erwin,

Klinkt zeer interessant. Heb me ingeschreven.

Mvg,
Johan Theunissen

Opmerking

Je moet lid zijn van Via Nova Architectura om reacties te kunnen toevoegen!

Wordt lid van Via Nova Architectura

Sponsoren

Advertenties

Je kunt hier adverteren

© 2019   Gemaakt door Stichting Digital Architecture.   Verzorgd door

Banners  |  Een probleem rapporteren?  |  Algemene voorwaarden