Wat betekent drielaagse architectuur?
Een drielaagse architectuur (three-tier architecture) is een client-serverarchitectuur waarin de functionele proceslogica, gegevenstoegang, computergegevensopslag en gebruikersinterface als onafhankelijke modules op aparte platformen worden ontwikkeld en onderhouden.
Dit type architectuur vormt een softwareontwerp en een gevestigde softwarearchitectuur.
Techopedia legt drielaagse architectuur uit
Bij een drielaagse architectuur kun je elke van de drie lagen onafhankelijk upgraden of vervangen.
Je implementeert de gebruikersinterface op diverse platforms, zoals een desktop-pc, smartphone of tablet, in de vorm van een native applicatie, webapp, mobiele app, voice-interface, enzovoort. Hierbij wordt gebruikgemaakt van een standaard grafische gebruikersinterface met verschillende modules die op de applicatieserver draaien.
Het relationele database management systeem (DMS) op de databaseserver bevat de logica voor het opslaan van computergegevens. De middelste lagen zijn doorgaans meerlagig. Aangezien de drie lagen niet fysiek maar logisch van aard zijn, kunnen ze op verschillende servers draaien, zowel in on-premise-oplossingen als in software-as-a-service (SaaS).
Wat is het belangrijkste voordeel van een drielaagse architectuur?
Het biedt ontwikkelteams aanzienlijke vrijheid doordat zij zelfstandig specifieke onderdelen van de applicatie kunnen updaten of vervangen zonder de algehele functionaliteit te beïnvloeden.
De applicatie kan eenvoudig worden op- en afgeschaald door de front-end los te koppelen van de databases, die worden geselecteerd op basis van de individuele behoeften van de klant.
Ook nieuwe hardware, zoals servers, kan op een later tijdstip worden toegevoegd om grote hoeveelheden gegevens of zeer veeleisende services aan te kunnen.
Een drielaagse architectuur biedt tevens een hogere mate van flexibiliteit voor bedrijven die nieuwe technologie willen implementeren zodra deze beschikbaar is.
Kritieke onderdelen van de applicatie kunnen behouden blijven en worden ingekapseld terwijl het hele systeem organisch blijft evolueren. Ontwikkelcycli of upgrades worden aanzienlijk verkort, waardoor de ervaring van de klant minimaal wordt verstoord.
Verschillende teams kunnen aan verschillende delen van de applicatie werken in plaats van aan de volledige stack op basis van hun expertisegebieden, wat de efficiëntie en snelheid verbetert.
De drie lagen in een drielaagse architectuur
Presentatie
Bezet het hoogste niveau en presenteert informatie over diensten die doorgaans beschikbaar zijn op een webbrowser of webgebaseerde toepassing in de vorm van een grafische gebruikersinterface (GUI).
Dit vormt de front-end laag van de applicatie en is de interface waarmee eindgebruikers direct interactie hebben. Deze laag wordt doorgaans opgebouwd met behulp van webontwikkelingsframeworks, zoals CSS of JavaScript, en communiceert met andere lagen door resultaten naar de browser te sturen en via API-oproepen met andere lagen in het netwerk te communiceren.
Toepassingslaag
Deze laag, ook bekend als middle tier, logic tier, business logic of logic tier, wordt losgekoppeld van de presentation tier. Het controleert de kernfunctionaliteit van de applicatie door gedetailleerde verwerking uit te voeren en is doorgaans geschreven in programmeertalen zoals Python, Java, C++, .NET, enzovoort.
Gegevenslaag
In de databaseservers van deze laag wordt informatie opgeslagen en opgehaald. Gegevens op deze laag blijven onafhankelijk van applicatieservers of bedrijfslogica en worden beheerd en opgevraagd met programma’s zoals MongoDB, Oracle, MySQL en Microsoft SQL Server.