Definitie: Middleware is software die tussen applicaties, databases en andere systemen in zit en ervoor zorgt dat die met elkaar kunnen communiceren en gegevens kunnen uitwisselen. Het wordt ook wel de lijm of vertaallaag van een IT-omgeving genoemd.
In het kort
- Middleware verbindt systemen die zelf niet rechtstreeks met elkaar kunnen praten, bijvoorbeeld een webshop, een boekhoudpakket en een magazijnsysteem.
- Bekende soorten zijn database-middleware, berichtgeoriënteerde middleware, API-gateways, RPC-middleware en integratieplatforms.
- In webontwikkeling betekent middleware ook iets kleiners: een laag code die elk verzoek controleert voordat het de applicatie bereikt, bijvoorbeeld om te kijken of iemand is ingelogd.
- Middleware zelf is meestal onzichtbaar voor gebruikers, maar bepaalt wel of gegevens op tijd, compleet en veilig aankomen.
Wat is middleware?
Middleware is software in het midden. Volgens Okta was middleware oorspronkelijk een tussenpartij tussen de voorkant, de gebruiker, en achterliggende bronnen zoals een database of mainframe. Tegenwoordig gebruiken we de term breder: alles wat tussen systemen in zit en ervoor zorgt dat ze samenwerken.
AppMaster omschrijft middleware als een verborgen vertaallaag. Systemen die in verschillende talen zijn gebouwd, andere gegevensformaten gebruiken of op verschillende plekken draaien, kunnen via middleware toch gegevens uitwisselen. Middleware gebruikt daarvoor afspraken en formaten zoals REST, SOAP en JSON.
Een eenvoudig beeld: een webshop krijgt een bestelling binnen. Die bestelling moet naar het magazijn voor verzending, naar de boekhouding voor de factuur en naar het CRM voor de klanthistorie. Zonder middleware zou elk systeem met elk ander systeem een eigen verbinding nodig hebben. Met middleware gaat de bestelling naar één centrale laag, die hem vertaalt en doorstuurt naar de juiste systemen.
Middleware: twee betekenissen
Wie over middleware leest, komt twee betekenissen tegen. Ze lijken op elkaar, maar gaan over een andere schaal.
| Middleware als integratielaag | Middleware in een webframework | |
|---|---|---|
| Schaal | Tussen systemen in een organisatie | Binnen één applicatie |
| Doel | Systemen laten communiceren en gegevens uitwisselen | Elk binnenkomend verzoek controleren of bewerken |
| Voorbeelden | Berichtenwachtrij, API-gateway, integratieplatform | Controle op inloggen, rechten, taal of beveiliging |
| Wie werkt ermee | IT-architecten en integratiespecialisten | Ontwikkelaars van de applicatie |
De bronnen over middleware gaan vrijwel alleen over de eerste betekenis. Toch kom je de tweede vaak tegen als je een webapplicatie laat bouwen, bijvoorbeeld in Laravel, Express of een vergelijkbaar framework.
Welke soorten middleware zijn er?
Microsoft Azure en Okta noemen een reeks soorten. De belangrijkste:
| Soort | Wat het doet | Voorbeeld |
|---|---|---|
| Database-middleware | Verbindt applicaties met databases en vereenvoudigt het opvragen van gegevens | Rapportages die gegevens uit een database halen |
| Berichtgeoriënteerde middleware (MOM) | Stuurt berichten via wachtrijen, zodat systemen niet op elkaar hoeven te wachten | Online bestellingen die achter elkaar worden verwerkt |
| RPC-middleware | Laat een applicatie een functie op een ander systeem uitvoeren alsof die lokaal is | Services die onderling taken aanroepen |
| Transactiemiddleware | Bewaakt transacties en draait stappen terug als er iets misgaat | Een vliegticketreservering die volledig of helemaal niet doorgaat |
| API-gateway en web-middleware | Beheert API-aanroepen, inclusief verificatie, sessies en routering | Een mobiele app die via één ingang met meerdere achterliggende diensten praat |
| Cloud-middleware | Verbindt systemen op eigen servers met cloudomgevingen | Een oud ERP-systeem dat gegevens uitwisselt met een SaaS-pakket |
| Applicatieservers en runtimes | Bieden de omgeving waarin applicaties draaien | Volgens OVHcloud bijvoorbeeld de Java Virtual Machine, de .NET-runtime en Node.js |
Okta noemt daarnaast onder meer portal-middleware, middleware voor apparaten en sensoren, en middleware voor het streamen van gegevens.
Hoe werkt middleware?
Middleware werkt grofweg in vier stappen:
- Ontvangen. Een systeem stuurt een verzoek of bericht, bijvoorbeeld een nieuwe bestelling.
- Controleren. De middleware controleert of de afzender bevoegd is en of het bericht compleet en geldig is.
- Vertalen. De gegevens worden omgezet naar het formaat dat het ontvangende systeem verwacht. Een veld dat in het ene systeem “klantnummer” heet, kan in het andere “debiteur” heten.
- Doorsturen. Het bericht gaat naar het juiste systeem of naar meerdere systemen tegelijk. Lukt dat niet, dan wordt het bewaard en later opnieuw geprobeerd.
Berichtgeoriënteerde middleware werkt vaak asynchroon. Het verzendende systeem zet een bericht in een wachtrij en gaat verder met zijn werk. Het ontvangende systeem pakt het bericht op zodra het kan. Dat voorkomt dat een trage of tijdelijk onbereikbare dienst het hele proces stillegt.
Middleware in een webapplicatie
In een moderne webapplicatie is middleware een stukje code dat tussen het binnenkomende verzoek en de eigenlijke logica in zit. Elk verzoek gaat er eerst doorheen. Typische taken:
- Inloggen controleren. Is de gebruiker ingelogd? Zo niet, dan gaat hij naar het inlogscherm.
- Rechten controleren. Mag deze gebruiker deze pagina zien of deze actie uitvoeren?
- Beveiliging. Controle op vervalste formulieren, het beperken van het aantal verzoeken per minuut en het toevoegen van beveiligingsinstellingen.
- Taal en instellingen. De juiste taal of klantomgeving kiezen op basis van de gebruiker of het adres.
- Logging. Vastleggen welk verzoek wanneer binnenkwam.
Het voordeel is dat deze controles op één plek staan. Een ontwikkelaar hoeft niet op elke pagina opnieuw te controleren of iemand mag kijken; de middleware doet dat voor alle pagina’s die eronder vallen. Dat maakt de applicatie overzichtelijker en veiliger.
Middleware, API-koppeling of integratieplatform?
| Directe API-koppeling | Middleware of integratielaag | Integratieplatform (iPaaS) | |
|---|---|---|---|
| Wat het is | Twee systemen praten rechtstreeks met elkaar | Een tussenlaag die meerdere systemen verbindt | Een online dienst voor het bouwen van koppelingen |
| Geschikt voor | Eén of twee koppelingen | Veel systemen en complexe gegevensstromen | Standaardkoppelingen zonder eigen servers |
| Voorbeelden | Webshop naar boekhoudpakket | Berichtenwachtrij, API-gateway, eigen integratieservice | Zapier, Make, n8n |
| Beheer | Per koppeling | Centraal | Bij de aanbieder, met eigen limieten |
Voor een klein bedrijf met twee of drie systemen is een directe koppeling of een tool als Zapier of n8n vaak genoeg. Middleware wordt interessant als het aantal systemen groeit, als gegevens betrouwbaar en in de juiste volgorde moeten aankomen, of als een fout in één systeem de rest niet mag stilleggen.
Waar let je op bij middleware?
- Foutafhandeling. Leg vast wat er gebeurt als een bericht niet aankomt: wordt het opnieuw geprobeerd, en wie krijgt een melding?
- Volgorde. Sommige gegevens moeten in een vaste volgorde worden verwerkt, zoals eerst een klant en dan pas zijn order.
- Dubbele verwerking. Een bericht dat twee keer aankomt, mag geen dubbele factuur of zending opleveren.
- Monitoring. Zorg dat zichtbaar is welke berichten zijn verwerkt, welke wachten en welke zijn mislukt.
- Documentatie. Beschrijf welke velden waarheen gaan, zodat een opvolger de koppelingen kan begrijpen.
Voordelen en nadelen van middleware
Voordelen
- Minder losse verbindingen. Systemen koppelen aan één laag in plaats van aan elkaar.
- Overzicht. Je ziet op één plek welke gegevens waarheen gaan.
- Betrouwbaarheid. Wachtrijen en herhaalpogingen voorkomen dat gegevens verloren gaan.
- Vervangbaarheid. Een systeem vervangen raakt alleen de koppeling met de middleware, niet alle andere systemen.
Nadelen
- Extra laag om te beheren. Middleware moet worden ingericht, bewaakt en bijgehouden.
- Complexiteit. Bij een klein aantal systemen kan middleware meer opleveren aan werk dan aan gemak.
- Afhankelijkheid. Valt de middleware uit, dan stokken alle gegevensstromen tegelijk.
- Kosten. Commerciële middleware en integratieplatforms hebben vaak licentiekosten, en ook eigen middleware kost ontwikkeltijd.
Wat betekent dit voor jouw project?
Bij een nieuw idee onderzoek ik eerst of een bestaand pakket, een koppeling of maatwerk het beste past. Bij het verbinden van systemen geldt dat ook. Vaak volstaat een eenvoudige koppeling tussen twee pakketten. Pas als er meer systemen meedoen of gegevens zorgvuldig moeten worden vertaald en bewaakt, komt een tussenlaag in beeld.
Ik kijk daarbij naar het proces: wat komt binnen, wie moet ermee verder en welke informatie heeft die persoon nodig? Het antwoord bepaalt welke gegevens tussen systemen moeten bewegen, en wat er moet gebeuren als een stap mislukt.
Lopen je systemen langs elkaar heen? Stuur me welke pakketten je gebruikt, welke gegevens nu met de hand worden overgezet en wie daarmee werkt. Dan kijken we in ongeveer twintig minuten waar een logische eerste stap ligt.
Veelgestelde vragen over middleware
Wat is middleware?
Middleware is software die tussen applicaties, databases en andere systemen in zit en ervoor zorgt dat die met elkaar kunnen communiceren en gegevens kunnen uitwisselen. Het werkt als een vertaallaag tussen systemen die zelf niet rechtstreeks met elkaar kunnen praten.
Wat is een voorbeeld van middleware?
Een veelgebruikt voorbeeld is een API-gateway die het verkeer tussen een mobiele app en meerdere achterliggende diensten regelt. Andere voorbeelden zijn berichtenwachtrijen, database-middleware en de controle op inloggen in een webframework.
Wat is het verschil tussen middleware en een API?
Een API is een afgesproken manier waarop een systeem gegevens of functies beschikbaar stelt. Middleware is de software die tussen systemen in zit en onder meer API’s gebruikt om gegevens te vertalen, te controleren en door te sturen.
Verwante termen
API-koppeling · Workflow-automatisering · n8n · Laravel · Backoffice-systeem · Datamigratie
← Terug naar de kennisbank