Ga naar inhoud. | Ga naar navigatie

Persoonlijke hulpmiddelen

Navigation

U bent hier: Home / Achtergronden / Van Applicatie Integratie naar Microservices

Van Applicatie Integratie naar Microservices

Integratie van computer systemen is een probleemgebied dat al bestaat sinds de mensheid over computers beschikt. De manier waarop dat gebeurt is wel erg onderhevig aan verandering.

Waren het eerst computers die op hardware-niveau aan elkaar werden geknoopt, met de komst van computernetwerken werd het mogelijk om applicaties aan elkaar te koppelen. In eerste instantie vaak door het uitwisselen van gegevensbestanden - de zogeheten batch-georiënteerde benadering - daarna vanaf de jaren '70 gevolgd door het realtime koppelen van systemen met allerhande protocollen. In de jaren '80 deden client-server architectuur en component based development (CBD) zijn intrede, waardoor applicaties konden worden opgedeeld in verschillende min of meer onafhankelijke onderdelen. Vanaf de jaren '90 raakte het integreren van applicaties via message brokers in zwang: feitelijk een antwoord op het probleem dat met het toenemen van het aantal applicaties binnen een organisatie de overlap in functionaliteit steeds groter werd waardoor de behoefte aan synchronisatie van deze gegevens tussen systemen toenam.

Vanaf dat moment werd Enterprise Application Integration een beproefd concept voor het bewerkstelligen van allerhande koppelingen met als doel: gegevens (denk aan klantgegevens) te synchroniseren tussen systemen, een eenduidige interface voor het gebruiken van bestaande in systemen besloten functionaliteit aan te bieden of het risico van leveranciersafhankelijkheid in te perken. De opgedane expertise leidde vervolgens weer tot ontwikkeling van bedrijfsbrede gegevensmodellen (CDM) en integratie op het nivo van bedrijfsprocessen, de zogeheten Business Integration. En dat gebeurde niet alleen intern maar ook extern: B2B (ofwel Business To Business integration) werd eind jaren '90 immens populair.

Maar zoals met veel dingen werden de hypes van toen snel business as usual en leidde het een tot het ander. Het abstraheren en globaliseren van functionaliteit werd Service Oriented Architecture genoemd, een logisch vervolg op EAI waarbij verschillende ideeën en concepten werden gecombineerd. Services zijn echter een ontwerp-idee: hoewel SOA zorgde voor goed gedefinieerde interfaces zei het niets over het run-time aspect van een systeem dat volgens SOA-principes was ontworpen en gebouwd. Dit leidde vaak tot performance en afhankelijkheidsproblemen wanneer systemen moesten worden geschaald.

De Micro Services Architecture (MSA) van de jaren '10 is een antwoord op deze en andere kwesties: microservices kunnen eenvoudig zowel op design-time als run-time niveau worden vervangen door andere componenten of nieuwere versies van hetzelfde component, wat deze aanpak uitermate geschikt maakt voor gebruik in hoog-volume (Big Data) omgevingen. Waar SOA zich richt op het beschikbaar stellen van bestaande functionaliteit worden microservices met name gebruikt bij nieuwbouw van applicaties. Want microservices zijn wel complex en stelt eisen aan ontwikkelaars, beheerders en infrastructuur. Dit maakt dat MSA veel minder breed toepasbaar is dan EAI of SOA, maar op dit moment wel een van de beste oplossingen is voor het bouwen van extreem schaalbare toepassingen.
De conclusie die hieruit kan worden getrokken is dat niet iedere hype hoeft te leiden tot directe acceptatie door alle specialisten in het veld. EAI is nog steeds een beproeft concept wat prima samen met SOA, B2B, MSA of wat voor integratie architectuur dan ook te gebruiken is. MSA is - hoewel veelbelovend - minder breed inzetbaar.