Event Driven Architecture (EDA) heeft de toekomst, maar waarom?

Event Driven Architecture (EDA)

De laatste tijd hoor je de term Event Driven Architecture (EDA) regelmatig voorbijkomen. Onderzoeksbureau Gartner heeft EDA niet voor niets in de top 10 van dé technologische trends van 2018 staan. EDA gaat volgens hen héél belangrijk worden in de businesswereld, maar wordt nog niet zo veel gebruikt. Maar hier komt verandering in, want met EDA valt ontzettend veel te winnen. Event Driven Architecture is volgens critici ‘a tiny slice of what’s out there’. En waarom dit zo is, leggen we je graag uit.

 

Een ‘message-driven architecture’

Aangezien Event Driven Architecture nogal een complex verschijnsel is, beginnen we bij de basis. Met ‘event’ wordt verwezen naar een business event: een gebeurtenis waarop een organisatie haast wel móét reageren, zoals kansen en bedreigingen. Een business event is een significante verandering in de toestand of staat van iets. Denk hierbij aan een auto waarvan de status veranderd van ‘te koop’ naar ‘verkocht’. Dit event wordt, binnen het onderliggende netwerk, gecommuniceerd naar allerlei andere applicaties van de autodealer. Alles wat is geproduceerd, gepubliceerd, verworpen, gekocht, et cetera, kunnen we dus definiëren als een event. Belangrijk om te onthouden is dat de communicatie tussen de verschillende devices bestaat uit de notificaties over het event. Events reizen namelijk niet van de ene naar de andere device, en notificaties (meldingen) doen dit wel. De terminologie ‘message-driven architecture’ zou eigenlijk beter voegen.

 

Inspelen op veranderingen

Er zijn talloze complexe systemen aanwezig op aarde, zoals sociale netwerken en financiële systemen. Als er een verandering plaatsvindt binnen dit netwerk of systeem, moet hierop ingespeeld worden. En je kunt je voorstellen dat er – in ons huidige tijdperk – behóórlijk wat veranderingen plaatsvinden op een dag. Bij elke verandering moet het systeem of netwerk weer op een ander niveau gemodelleerd worden en gaan functioneren. Door de vele veranderingen moet er – eigenlijk te vaak – aan systemen en netwerken worden gesleuteld. De Event Driven Architecture gaat dit veranderen. EDA is een designpatroon dat is gebouwd vóór verandering. Dit design kan als geen ander omgaan met productie van, detectie van en reactie op veranderingen. Event Driven Architecture is niet voor niets de techniek die schuilgaat achter het Internet of Things. Statistische, structurele en vastgevroren systemen worden dus langzaamaan verleden tijd.

 

De opbouw van een Event Driven Architecture (EDA)

Een Event Driven Architecture (EDA) bestaat in principe uit event creators, event managers en event consumers. Deze drie zijn componenten die op een bepaalde manier interactief met elkaar zijn binnen een netwerk of systeem. Dit betekenen de drie componenten:

1. Event creator. Dit is de bron van het event. De bron kent als enige component in het systeem of netwerk, de eigenschappen van het event. De event creator verzendt de bijbehorende notificatie naar een – voor een event creator – onbekende component.
2. Event manager. Dit is de tussenschakel van de componenten. De manager ontvangt een melding van de creator, en deze melding stuurt de manager vervolgens door naar de event consumer. Het kan zijn dat de manager de notificatie aanpast, aangezien de manager een laatste check doet.
3. Event consumer. Dit is de eindbestemming van de notificatie. De event consumer weet hier niet van welke component (de creator) de notificatie afkomstig is.

Het kan zo zijn dat deze structuur nogal vaag en ingewikkeld op je overkomt, maar je ziet dit vaker dan je denkt. Zo kunnen huisbezitters dienen als event creators, online websites als event managers en woonzoekenden als event consumers.

 

‘Zwevende’ componenten

We hebben al benadrukt dat de dynamische eigenschap van dit netwerk veel voordelen met zich mee kan brengen. Een ander voordeel is dat een EDA bestaat uit losgekoppelde componenten die niet in een strak keurslijf vastzitten. Deze componenten hebben geen vaste structuur en zijn autonoom. Bovendien kunnen deze componenten zich (los)koppelen van of aan diverse netwerken en weer (her)gebruikt worden door andere netwerken. De component die de notificatie verzendt, heeft geen idee welke component de notificatie ontvangt en vice versa. Dynamischer dan dit kan bijna niet.

 

Real-time analyseren

Een derde voordeel is dat EDA helemaal is ingespeeld op real-time analytics. Momenteel bestaan er veel meer mogelijkheden waarmee je patronen kunt vinden, analyseren en realiseren. Dit kan dus zelfs vóórdat events plaatsvinden. Traditioneel gezien zijn we vooral bezig met het bekijken van data over de afgelopen week of zelfs het afgelopen jaar. We kunnen de transfer naar real-time analytics gerust groots noemen. Waarom? Neem dit voorbeeld uit de praktijk. In plaats van wachten op het moment waarop je auto kapot gaat en je deze voor een paar dagen naar de garage kunt brengen, kun je nu de auto continu in de gaten houden. Bij elke ‘verdachte’ activiteit in de auto krijg je een melding, zodat je op tijd kunt ontdekken of er iets mis is met je auto.

 

De nadelen

Het klinkt als muziek in de oren, deze zogenaamde Event Driven Architecture. Maar dit designparadigma kent nadelen, net zoals zo’n beetje elke nieuwe techniek. Laten we beginnen met de losgekoppelde componenten. Het gaat hier om een losgekoppeld systeem met een heel hoge verdeling van componenten. We kunnen lang niet altijd weten om welke componenten het gaat, of ze überhaupt wel deel uitmaken van het systeem of netwerk en in welke mate ze (on)afhankelijk van elkaar zijn. Heel veel interactie kunnen we niet (goed) controleren, omdat er geen sprake is van een vast patroon of systeem. Het gevolg hiervan is dat systemen héél ingewikkeld kunnen worden, zeker als deze worden gecombineerd in een open en non-lineaire omgeving.

Posted on 22 augustus 2018

Share the Story

Back to Top