In deze blogserie bespreekt specialist Bert Dingemans de rol van de Architect binnen big data en data analytics trajecten. In deel 1 besprak hij onder andere de rol van de traditionele architect, de achterliggende architectuurprincipes en het ondersteunen van het ontwikkelteam. In deel 2 ging het over de nieuwe rolinvulling van de architect, just in time architectuur en big data project raamwerk. In deze blog gaat Bert verder op het onderwerp in.
Big Data Patterns en grondplaten
Naast standaard beschrijvingen voor projectinrichting heeft de architect de mogelijkheid om gebruik te maken van functionele standaardpatronen. Deze patronen kennen meerdere werkvelden zoals big data verwerking, integratie en data opslag.
Bron: https://patterns.arcitura.com/big-data-patterns
In de afbeelding zie je een voorbeeld uit een Big Data Pattern catalogus. Dergelijke catalogi kunnen ingezet worden om een selectie te maken van relevante patronen in de eigen project context. Door een combinatie van deze patronen te kiezen krijg je een selectie van relevante functionaliteiten, aangeboden in de verschillende patronen, die uiteindelijk de basis vormen van het gewenste (big data) platform.
Deze grondplaat van patronen vormt de basis van de architectuur en dit is een goed hulpmiddel ter ondersteuning van de just in time architectuur. Ieder project zal een aantal functionaliteiten vereisen. Door deze functionaliteiten in kaart te brengen en een selectie te maken in de patroon catalogi introduceer je een herbruikbaar model functionaliteiten en in een later stadium ook de componenten (zie de paragraaf over bouwblokken).
In onderstaande afbeelding zie je een uitwerking van een dergelijke functionele architectuur zonder implementatie. Dit functionele model is de basis voor verschillende activiteiten bij de introductie van big data projecten en een big data platform:
- Selectie van relevante functionaliteiten en hun onderlinge relaties voor het platform en de individuele projecten
- Plotten van implementaties door software stacks van verschillende software leveranciers
- Inzet bij functionele aanbestedingen
In de bovenstaande afbeelding wordt het raamwerk op een hoog abstractieniveau uitgewerkt. Echter ook de details van de afgebeelde functionaliteiten kunnen worden gemodelleerd door de architect. Hiermee ontstaat er een gedetailleerde beschrijving van de gewenste of aanwezige functionaliteiten ten behoeve van de verschillende big data initiatieven in de organisatie.
Op basis van deze detailuitwerkingen ontstaat er een combinatie van functionele catalogi en grondplaten. De eerst wordt gebruikt als een register van aanwezige functionaliteiten en de ander voor het in kaart brengen van de verbanden tussen de verschillende functionaliteiten. Beiden zullen een belangrijk hulpmiddel blijken binnen een just in time big data architectuur.
Bouwblokken
In nauwe samenhang met de patronen zijn de uitwerkingen en grondplaten van de daadwerkelijke implementatie ten behoeve van een project. De functionele grondplaat geldt als startpunt en voor ieder project wordt hierbij in kaart gebracht welke functionaliteiten noodzakelijk zijn voor de implementatie.
Vervolgens wordt er een afbeelding gemaakt met welke daadwerkelijke tools en componenten de functionaliteit ingericht wordt. Onderstaande afbeelding laat dit zien. Je ziet hierbij het abstracte raamwerk met daarbinnen, waar relevant, de detailfunctionaliteiten weergegeven. Vervolgens worden deze detailfunctionaliteiten toegewezen aan één of meer componenten.
Door deze werkwijze voor ieder project toe te passen ontstaat geleidelijk enerzijds een grondplaat van de inrichting van het platform. Anderzijds ontstaat een register van herbruikbare functionaliteiten en componenten waarmee op natuurlijke wijze een inrichting onder architectuur ontstaat. Dat laatste natuurlijk alleen in de situatie waar de architect in staat is om just in time de projecten te ondersteunen en niet achteraf te moeten constateren dat er een “geëvolueerd big data landschap” is ontstaan.
Aggregators
Tijdens de start van big data initiatieven zie je vaak een tendens dat men alles binnen een project zelf wil doen. Dus alle databronnen zelf ontsluiten, zelf transformeren en zelf analyseren en visualiseren. Dat kan tijdens de vroege fasen van introductie interessant zijn. Echter in latere fasen waarin de oplossingen meer volwassen en daarmee meer complex worden zal de inzet van aggregators een effectiever pad zijn.
Aggregators zijn dienstverlenende organisaties die op een specifiek vakgebied specialistische kennis hebben ten behoeve van het ontsluiten van big data bronnen en deze data om te zetten naar waardevolle en eenvoudig analyseerbare cq toepasbare data ten behoeve van de toepassing.
Denk hierbij aan organisaties die sentimentanalyse diensten aanbieden of organisaties die specialistische klimaatdata aanbieden en transformeren naar een direct analyseerbare vorm. Andere opkomende dienstverleners bieden geaggregeerde data aan op basis van verschillende vormen van sensordata en/of IoT toepassingen.
Onderstaande afbeelding toont hoe een aggregator zorgdraagt voor data dat direct toepasbaar is in een big data toepassing. De architect dient in dit soort situaties kennis te hebben van relevante aggregatoren in het eigen werkveld en weten wanneer een aggregator toepassing toegevoegde waarde heeft ten opzichte van zelf ontwikkelen van oplossingen.
Lees alle blogs in deze serie over Big Data architectuur
Big data architectuur, welke rol speel je als architect?
Deze blog is geschreven door IT-professionals Bert Dingemans en Han van Roosmalen. Wil je meer informatie over dit onderwerp? Neem eens een kijkje op de site van Bert Dingemans en Han van Roosmalen.