Definitie
Middleware is een verzamelterm voor software die tussen andere systemen zit en de communicatie of vertaling tussen die systemen verzorgt. Het zit “in het midden” en speelt een verbindende rol. Voorbeelden: message brokers (zoals RabbitMQ), API-gateways, integratieplatformen (zoals Mulesoft of Boomi), en applicatieservers.
Middleware verbergt de complexiteit van koppelingen. In plaats van dat 10 systemen elk 9 koppelingen onderhouden met de andere systemen (90 koppelingen), praten alle systemen met de middleware (10 koppelingen). Onderhoud en wijzigingen worden beheersbaarder.
Waarom het ertoe doet voor MKB
Voor MKB met meerdere systemen die met elkaar moeten praten (CRM, ERP, webshop, marketing-tool, boekhouding) is middleware een doordachte manier om koppelingen te beheren. Zonder middleware ontstaat spaghetti: directe koppelingen tussen elk paar systemen, met groeiende complexiteit.
Voor jouw bedrijf is middleware niet de eerste stap; pas overwegen als je 5 of meer systemen onderling koppelt. Daaronder zijn directe koppelingen meestal eenvoudiger en goedkoper. Boven die schaal wordt middleware een verstandige investering.
Concreet voorbeeld
Een groothandel met 80 medewerkers had 11 verschillende systemen (ERP, CRM, webshop, kassa, e-mailmarketing, klantenservice, voorraad, boekhouding, planning, productinformatie, BI). Tussen die systemen liepen 24 koppelingen, allemaal direct en allemaal met eigen onderhoud. Bij elke wijziging in één systeem brak vaak iets in een ander.
Een middleware-laag werd opgezet (een betaalbaar integratieplatform). Alle systemen praten nu met de middleware, niet meer rechtstreeks met elkaar. Bij vervanging van een systeem hoeven alleen de middleware-koppelingen aangepast, niet alle anderen. Een wijziging die voorheen 5 systemen tegelijk aanpasste, wordt nu één wijziging in de middleware-laag.
Misverstanden en valkuilen
- “Middleware lost alle koppelingsproblemen op.” Het maakt koppelingen beheersbaarder, maar fundamentele data-modelproblemen worden er niet door opgelost.
- “Eén middleware is genoeg.” Soms is een gespecialiseerde middleware nodig per type integratie (real-time vs batch, intern vs extern). Eén tool voor alles is niet altijd ideaal.
- “Middleware vervangt API’s.” Onjuist. Middleware gebruikt vaak juist API’s. Het is een aanvullende laag, geen vervanging.
- “Het is overdreven voor MKB.” Soms wel, soms niet. Onder 5 systemen vaak overkill, boven 5 systemen vaak juist nuttig.
Wanneer moet je hier wakker liggen, wanneer niet
Wakker liggen: als je 6 of meer systemen rechtstreeks met elkaar gekoppeld hebt en elke wijziging een cascade-effect veroorzaakt. Of als je niet meer weet welke koppelingen bestaan. Middleware brengt orde.
Niet wakker liggen: bij een handvol systemen met heldere directe koppelingen. Niet meegaan in middleware-verkopers als je situatie het niet vraagt.
Gerelateerde termen
- API: middleware werkt vaak via API’s.
- Microservices: middleware speelt een rol in microservices-architectuur.
- Webhook: een eenvoudige vorm van middleware-achtige koppeling.
- ETL: een speciaal type middleware voor data.