Veel organisaties kennen een domeinarchitectuur of businessarchitectuur voor de verschillende domeinen in de organisatie. Zo'n architectuur beschrijft meestal de logische concepten (of componenten) die een rol spelen in de organisatie. Indien een project niet het eerste is in een bepaald domein, bestaat de kans dat de domeinarchitectuur componenten onderscheidt waar het project gebruik van dient te maken. Soms zijn er reeds services van componenten beschikbaar die gerealiseerd zijn tijdens eerdere projecten. Deze services dienen zo snel mogelijk geïdentificeerd te worden.Daarnaast is het mogelijk dat het huidige project ook services voor componenten ontwikkelt. Ook deze componenten moeten worden geïdentificeerd. Ook deze componenten maken mogelijk deel uit van de business- of domeinarchitectuur. Het vaststellen van de implementatie van deze services gebeurt overigens pas tijdens het ontwerp. DoelAan de hand van een beschikbare business- of domeinarchitectuur kan snel worden opgemaakt of het project kan profiteren van reeds in eerdere projecten gerealiseerde services van componenten. Stappen
RichtlijnenServices en applicatiearchitectuurIn omgevingen waar component based development wordt ingezet, is het waarschijnlijker dat er herbruikbare componenten of services zijn gedefinieerd. Deze services dienen echter wel in te passen te zijn in de applicatiearchitectuur. Als hergebruik erg belangrijk is, moet mogelijk de applicatiearchitectuur van het project hiervoor worden aangepast. Technisch hergebruikNaast de identificatie van services en componenten in de businessarchitectuur, komt hergebruik van technische services eveneens veelvuldig voor. In tegenstelling tot de bedrijfsfunctionaliteit zijn dergelijke services vaak minder makkelijk te vinden bij projecten. Omdat ook technische services (in de vorm van utility classes) veel besparing kunnen opleveren verdient het aanbeveling ook hier naar op zoek te gaan. Naarmate er meerdere projecten zijn uitgevoerd in eenzelfde ontwikkelomgeving ontstaat vaak een groepering van dergelijke utility classes in de vorm van een class library of framework. Levenscyclus van servicesDe levenscyclus van een service van een component kan zich in een aantal stadia bevinden. Zo kan de service deel reeds geidentificeerd zijn in de businessarchitectuur, maar nog niet zijn gerealiseerd. In het algemeen is het project nu vrij om de signature van deze service zelf te definieren. De service kan ook zijn ontwikkeld tijdens een eerder project en inmiddels zijn opgeleverd. Nu kent de service een bestaande signature, waarvan tijdens het ontwerp gaat blijken of deze bruikbaar is, uiteraard voorzien van een adapter. Tenslotte kan de gewenste service gelijktijdig met een project worden ontwikkeld door een ander project. Hergebruik wordt in dit stadium bemoeilijkt, doordat de signature van de service nog aan verandering onderhevig zal zijn. Architect en businessarchitectuurHet bewaken van de businessarchitectuur is veelal de verantwoordelijkheid van de architect. Deze architect kan naast de componentenbeheerder als specialist worden geraadpleegd. Use cases en componentenVoor het vergelijken van de use case diagrammen met de businessarchitectuur wordt gekeken naar de zelfstandige naamwoorden in de namen van de beschreven use cases. Deze komen vaak overeen met componenten in de businessarchitectuur. Soms wordt echter aan eenzelfde concept verschillende namen gegeven door architectuur en use case. Stem de naamgeving van het project nu zoveel mogelijk af op de businessarchitectuur, mits dit in overeenstemming is met de gebruikersvertegenwoordigers. Hergebruik en schattenIndien het project services kan hergebruiken of verantwoordelijk wordt voor het opleveren van services voor componenten, heeft dit invloed op het opstellen van schattingen voor het project. Waar hergebruik mogelijk is vermindert de complexiteit mogelijk. Indien nieuwe services voor componenten worden ontwikkeld, kost het herbruikbaar opleveren in het algemeen extra tijd. Hou hiermee rekening. | Betrokkenen
|