Event-Driven Architecture
Event-driven architecture is een manier van software bouwen waarbij systemen reageren op gebeurtenissen, zoals een prijswijziging of nieuwe order, in plaats van steeds om data te vragen.
Wat is Event-Driven Architecture?
Event-driven architecture (EDA) is een manier van software bouwen waarbij systemen reageren op gebeurtenissen (events), zoals een prijswijziging, een nieuw product of een geplaatste order. Ze vragen elkaar dus niet op vaste tijden om nieuwe data. Eén systeem publiceert het event en andere systemen handelen erop. Events lopen meestal via een event broker of message queue, zoals Kafka of RabbitMQ, of als webhook rechtstreeks naar een ander systeem. Het verschil met een gewone API zit in de richting: bij een REST-call vraagt de ontvanger zelf om data, bij EDA meldt de zender de wijziging en gaat verder. Voor productdata betekent dit dat een voorraad- of prijswijziging je webshop en marktplaats bereikt zonder dat je op een nachtelijke export wacht. Lees hoe platformsynchronisatie productwijzigingen vanuit een PIM naar gekoppelde winkels stuurt.
Waarom Event-Driven Architecture belangrijk is voor e-commerce
Een webshop draait op data die de hele dag verandert: voorraad, prijzen, productcontent en orders. Met geplande batchjobs toont een kanaal soms een uitverkocht product of een oude prijs tot de volgende run. Een event-driven opzet stuurt elke wijziging door zodra die gebeurt, zodat de vertraging alleen nog afhangt van hoe snel het ontvangende systeem werkt. Ook raken systemen minder van elkaar afhankelijk. Je ERP, PIM, webshop en magazijnsoftware hoeven elkaar niet direct aan te roepen, en een wachtrij bewaart events als een systeem even offline is. De prijs is meer techniek: je hebt monitoring nodig, regels voor nieuwe pogingen en een plan voor events die dubbel of in de verkeerde volgorde binnenkomen.
Voorbeelden van Event-Driven Architecture
- 1Event: Voorraad van een SKU zakt naar 0, Zender: Magazijnsysteem, Ontvangers: Webshop en marktplaatslistings zetten het artikel op uitverkocht.
- 2Event: Order geplaatst, Zender: Webshop, Ontvangers: ERP boekt de verkoop, de verzendtool maakt een label, het CRM werkt de klant bij.
- 3Event: Prijs gewijzigd, Zender: ERP, Ontvangers: PIM slaat de nieuwe prijs op en de feed voor vergelijkingssites wordt opnieuw gemaakt.
- 4Event: Nieuw product aangemaakt, Zender: PIM, Ontvangers: Er start een vertaaltaak en een taak die de afbeeldingen schaalt.
Hoe WISEPIM helpt
- Opt-in auto-sync: na het opslaan stuurt WISEPIM een product ongeveer 30 seconden later door naar gekoppelde winkels in Magento 2, Shopify, WooCommerce, Lightspeed eCom, Ecwid, CCV Shop, Kaufland, PrestaShop, ShopWired en Google Merchant Center.
- Geplande automations: laat imports en exports elk uur, elke dag, week of maand draaien als een kanaal niet elke wijziging meteen nodig heeft.
- Eén productrecord: elk kanaal leest uit dezelfde productdata, dus een event bevat overal dezelfde waarden.
- Operation history: op betaalde plannen maak je een bulkwijziging ongedaan voordat die verder gaat.
Veelgemaakte fouten met Event-Driven Architecture
- Een event broker inzetten voor een simpele koppeling tussen twee systemen, terwijl één directe API-call genoeg is.
- De volgorde van events negeren, waardoor een oudere prijsupdate een nieuwere overschrijft.
- Geen monitoring inrichten, zodat niemand merkt dat berichten zich opstapelen of mislukken.
- Geen dead-letter queue gebruiken, waardoor events die na een paar pogingen mislukken verdwijnen.
Tips voor Event-Driven Architecture
- Maak ontvangers idempotent, zodat hetzelfde event twee keer verwerken hetzelfde resultaat geeft.
- Geef elk event een tijdstempel of versienummer, zodat ontvangers verouderde updates kunnen negeren.
- Begin met één waardevolle stroom, zoals voorraadupdates, voordat je andere data omzet.
- Log per event een correlatie-ID, zodat je één wijziging door alle systemen kunt volgen.
Trends rondom Event-Driven Architecture
- Beheerde eventdiensten zoals AWS EventBridge, Azure Event Grid en Google Cloud Pub/Sub in plaats van een eigen broker.
- Serverless functies die alleen draaien als er een event binnenkomt.
- Webhooks als standaardmanier waarop commerceplatforms order- en productwijzigingen melden.
- Eventstreams die naast de operationele systemen ook analytics en AI-agents voeden.
Tools voor Event-Driven Architecture
- Apache Kafka
- RabbitMQ
- AWS EventBridge
- Azure Event Grid
- Google Cloud Pub/Sub