# Multitierarchitectuur

Multitierarchitectuur is een softwarearchitectuur die een systeem verdeelt in meerdere lagen om het ontwerp, de ontwikkeling en het onderhoud van complexe applicaties te vereenvoudigen. Deze architectuur is ook bekend als gelaagde architectuur, of in het Engels: "multi-tier architecture".

## Concept

Het concept van multitierarchitectuur is gebaseerd op het idee dat verschillende lagen van een systeem verschillende verantwoordelijkheden en functionaliteiten hebben. Ze moeten ook als afzonderlijke eenheden worden ontworpen en ontwikkeld om het onderhoud en de schaalbaarheid te verbeteren.
Elke laag van de multitierarchitectuur heeft specifieke taken en verantwoordelijkheden. De drie meest voorkomende lagen in multitierarchitectuur zijn de presentatielaag, de applicatielaag en de gegevenslaag. Elke laag heeft een duidelijk omschreven rol en communiceert met de andere lagen via een duidelijk gedefinieerde interface.

### Presentatielaag

De presentatie laag is de laag waarmee gebruikers interacteren. Deze laag bevat de gebruikersinterface (UI) van de applicatie en is verantwoordelijk voor het overzichtelijk presenteren van gegevens en informatie aan de gebruikers. De presentatielaag heeft meestal geen directe toegang tot de gegevensbronnen en communiceert met de applicatielaag via API's of andere tussenliggende lagen. De werkplek van de gebruiker vormt altijd de presentatielaag. Ook een website kan tot de presentatielaag gerekend worden.

### Applicatielaag

De applicatie laag, ook wel de bedrijfslogica genoemd, bevat de kernlogica van de applicatie. De applicatie laag ontvangt verzoeken van de presentatie laag en verwerkt deze door de juiste acties uit te voeren en de gegevens te manipuleren. Deze laag is verantwoordelijk voor het implementeren van de bedrijfslogica en het coördineren van de communicatie tussen verschillende lagen van de applicatie. Deze laag wordt doorgaans voor rekening genomen door een applicatie-server.

### Gegevenslaag

De gegevenslaag is verantwoordelijk voor de opslag en het beheer van gegevens. Deze laag is verantwoordelijk voor het ophalen, opslaan en bewerken van gegevens van de applicatielaag. De gegevenslaag kan verschillende soorten gegevensbronnen bevatten, zoals databases en bestanden. Deze laag wordt gevormd door een database-server, eventueel in combinatie met een fileserver, maar ook bepaalde webdiensten kunnen de gegevenslaag vormen.

## Voordelen

Een belangrijk voordeel van multitierarchitectuur is dat het de modulaire ontwikkeling van complexe applicaties mogelijk maakt. Elke laag van de architectuur kan onafhankelijk worden ontworpen en ontwikkeld, waardoor de complexiteit van de ontwikkeling wordt verminderd en de ontwikkelingstijd wordt verkort. Het gebruik van multitierarchitectuur maakt ook het onderhoud en de uitbreiding van de applicatie gemakkelijker omdat elke laag afzonderlijk kan worden beheerd en bijgewerkt.
Een ander voordeel van multitierarchitectuur is de schaalbaarheid. Door de applicatie in lagen te verdelen, kan elke laag worden geschaald om aan de vraag te voldoen zonder de prestaties van andere lagen te beïnvloeden. Dit maakt het mogelijk om de applicaties trapsgewijs op te schalen.