Kennisbank

Middleware: de onzichtbare tussenlaag die systemen laat samenwerken

Bijgewerkt: 4 oktober 2026 · 6 min leestijd

Stel je een internationale luchthaven voor. Passagiers spreken verschillende talen, vliegtuigen komen van tientallen verschillende maatschappijen en de bagage moet van het ene systeem naar het andere. Zonder tolken, douane en bagagebanden zou alles vastlopen. Middleware is precies die tussenlaag, maar dan in software: het is de verzameling programma's die ervoor zorgt dat andere programma's, apparaten of systemen met elkaar kunnen "praten", ook als ze niet voor elkaar zijn gebouwd.

In de context van toekomsttechnologie duikt het woord vaak op zodra er sprake is van zelfrijdende auto's, slimme steden, robots of grote clouddiensten. Een zelfrijdende auto heeft bijvoorbeeld tientallen sensoren, camera's en rekeneenheden die razendsnel data moeten uitwisselen. De software die al die onderdelen verbindt, vertaalt en op tijd laat communiceren, is middleware. Je ziet het zelf nooit; je merkt alleen dat het systeem als één geheel werkt in plaats van een stapel losse onderdelen.

Wat is het precies?

Technisch gezien is middleware software die tussen twee lagen in zit: onderaan de besturingssystemen, netwerken en hardware, en bovenaan de applicaties die gebruikers of andere computers daadwerkelijk gebruiken. Middleware zorgt dat die bovenlaag niet zelf hoeft te weten hoe het netwerk, de database of een ander apparaat precies in elkaar steekt.

Dat werkt in de praktijk op een paar manieren. Bij berichten-gebaseerde middleware stuurt een programma een boodschap naar een soort digitale postbus (een "message broker"), en andere programma's lezen die boodschap er op hun eigen moment weer uit. Niemand hoeft te wachten op de ander; dat heet asynchrone communicatie. Apache Kafka, oorspronkelijk gebouwd bij LinkedIn en in 2011 open source gemaakt, werkt op deze manier en verwerkt bij veel bedrijven miljoenen berichten per seconde.

Bij een tweede vorm, de API-gateway of enterprise service bus (ESB), fungeert de middleware als een soort verkeersregelaar: binnenkomende verzoeken worden vertaald naar het juiste formaat en doorgestuurd naar de juiste dienst. Dit was in de jaren 2000 populair om oude bedrijfssystemen aan nieuwe webapplicaties te koppelen.

Een derde, modernere vorm is de service mesh. In cloud-omgevingen draaien tegenwoordig honderden kleine programmaonderdelen (microservices) die voortdurend met elkaar moeten communiceren. Een service mesh zoals Istio regelt die verkeersstromen, bewaakt de veiligheid van het verkeer en meet welke onderdelen traag of onbereikbaar zijn, zonder dat de microservices daar zelf iets voor moeten programmeren.

Voor robotica en IoT (internet of things, apparaten met sensoren die data versturen) bestaat weer een ander type: lichte berichtenprotocollen. MQTT, ontwikkeld door IBM eind jaren negentig, is hiervan het bekendste voorbeeld en wordt gebruikt om data van kleine, stroomzuinige sensoren naar een centraal systeem te sturen.

Wat wil men ermee bereiken?

Het kernprobleem dat middleware oplost is versplintering. Grote organisaties en complexe technische systemen bestaan vrijwel nooit uit software van één leverancier. Er zijn oude systemen die decennia geleden zijn gebouwd, nieuwe clouddiensten, apparaten van verschillende fabrikanten en applicaties die in totaal verschillende programmeertalen zijn geschreven. Zonder een verbindende laag zou elk onderdeel apart met elk ander onderdeel moeten worden gekoppeld, wat exponentieel ingewikkeld en foutgevoelig wordt.

Een tweede doelstelling is betrouwbaarheid. Als een onderdeel van een systeem uitvalt of traag reageert, mag het liefst niet meteen het hele systeem platliggen. Middleware kan berichten tijdelijk opslaan, opnieuw proberen te versturen of verkeer omleiden, zodat kleine storingen niet meteen escaleren.

Ten derde gaat het om schaalbaarheid: naarmate een dienst groeit van duizend naar miljoenen gebruikers, moet het aantal servers en onderdelen kunnen meegroeien zonder dat de onderlinge verbindingen opnieuw gebouwd moeten worden. Middleware maakt het mogelijk om onderdelen toe te voegen of te vervangen zonder de rest van het systeem aan te raken.

Voor toekomsttechnologie specifiek is er nog een belofte: interoperabiliteit tussen innovaties die niet door dezelfde partij zijn ontworpen. Een zelfrijdende auto van fabrikant A moet kunnen communiceren met verkeerslichten van gemeente B en een cloudplatform van leverancier C. Middleware moet die losse puzzelstukjes laten passen.

Voorbeelden uit de praktijk

Apache Kafka (LinkedIn, 2011) werd intern ontwikkeld om de enorme stroom aan gebruikersactiviteit te verwerken en is inmiddels de standaard voor datastromen bij bedrijven als Netflix, Uber en talloze banken. De oorspronkelijke bouwers richtten in 2014 het bedrijf Confluent op om Kafka commercieel te ondersteunen.

ROS, Robot Operating System, ontstaan bij het Amerikaanse onderzoekslab Willow Garage halverwege de jaren 2000, is middleware specifiek voor robots: het verbindt sensoren, motoren en besturingssoftware van uiteenlopende robotmerken via één gemeenschappelijke taal. De opvolger ROS 2, uitgebracht in december 2017, is geschikt voor commerciële en industriële robots en wordt onder meer gebruikt in onderzoek naar magazijnrobots en autonome voertuigen.

Istio, in 2017 gepresenteerd door Google, IBM en het bedrijf Lyft, is een service mesh die inmiddels bij grote techbedrijven wordt ingezet om duizenden microservices in de cloud veilig met elkaar te laten praten.

MuleSoft, opgericht in 2006, bouwde een veelgebruikt platform om oude bedrijfssoftware te koppelen aan nieuwe clouddiensten en werd in 2018 door Salesforce overgenomen voor ongeveer 6,5 miljard dollar, wat laat zien hoe commercieel waardevol verbindende middleware kan zijn.

MQTT wordt wereldwijd gebruikt in slimme-stad-projecten: sensoren die luchtkwaliteit, verkeersdrukte of straatverlichting meten, sturen hun data via dit lichte protocol naar centrale systemen, bijvoorbeeld in diverse Europese smart-city-pilots van de afgelopen jaren.

Hoe ver is de techniek?

Middleware als concept is niet nieuw; al in de jaren negentig bestond CORBA (Common Object Request Broker Architecture), een standaard van de Object Management Group om objecten in verschillende programmeertalen met elkaar te laten communiceren. Die vroege generatie was vaak zwaar en moeilijk te onderhouden, en is grotendeels verdrongen door lichtere, flexibelere technieken.

De huidige generatie, gebouwd rond clouddiensten, containers en microservices, is volwassen en wordt op grote schaal in productie gebruikt: Kafka, Kubernetes (door Google in 2014 open source gemaakt en sindsdien de facto standaard voor het draaien van containers) en service meshes als Istio vormen inmiddels de ruggengraat van veel internetdiensten.

Voor opkomende toepassingen ligt dat genuanceerder. Middleware voor robotica en autonome voertuigen staat nog middenin ontwikkeling: ROS 2 wordt breed gebruikt in onderzoek en productontwikkeling, maar er is geen wereldwijde, universele standaard die alle robotmerken en zelfrijdende systemen dwingt dezelfde taal te spreken. Ook bij de koppeling van kunstmatige-intelligentiesystemen aan elkaar (bijvoorbeeld AI-agenten die taken aan elkaar doorgeven) wordt op dit moment hard gezocht naar nieuwe middleware-achtige standaarden; dit is een gebied in snelle, nog niet uitgekristalliseerde ontwikkeling.

Een terugkerend obstakel is dat meer middleware ook meer complexiteit en een grotere kwetsbaarheid voor storingen of beveiligingsproblemen kan betekenen: elke extra tussenlaag is ook een extra onderdeel dat kan uitvallen of aangevallen kan worden. Beveiligingsexperts wijzen er daarom op dat middleware zelf net zo goed beveiligd en bijgehouden moet worden als de systemen die het verbindt.

Wie werken eraan?

Op het gebied van cloud- en databestandsmiddleware zijn Google, Amazon (AWS), Microsoft en IBM/Red Hat de grootste partijen; zij leveren zowel open-sourceprojecten als commerciële producten. De Cloud Native Computing Foundation (CNCF), onderdeel van de grotere Linux Foundation, beheert veel van de belangrijkste open-sourceprojecten in dit veld, waaronder Kubernetes en Istio, en brengt bedrijven en onafhankelijke ontwikkelaars samen.

Apache Kafka wordt onderhouden door de Apache Software Foundation, met Confluent als belangrijkste commerciële partij erachter. Salesforce (via MuleSoft) en Oracle richten zich vooral op middleware voor grote bedrijven die oude en nieuwe systemen moeten combineren.

Voor robotica-middleware is Open Robotics (voorheen de Open Source Robotics Foundation) de belangrijkste beheerder van ROS, met bijdragen van universiteiten en techbedrijven wereldwijd, waaronder onderzoeksgroepen in de Verenigde Staten en Europa. In Nederland werken onder meer technische universiteiten aan robotica-onderzoek waarin ROS een rol speelt, al is dit kleinschaliger dan de grote Amerikaanse en Aziatische onderzoeksprogramma's.

Verder lezen