Der er to modeller for it-systemers opbygning, nemlig client-server-arkitekturen og trelagsarkitekturen.
Client-server arkitekturen er en model for en it-arkitektur, som er fundamentet for Internettet, hvor en maskine kan fungere som client og en anden som server. Klienten er aktiv og kan efterspørge data (fx via en browser). Fx kan klienten bede om at få vist en side på nettet og serveren kan levere data tilbage.
Serveren (der typisk er en stor, kraftig maskine), er passiv, indtil den bliver spurgt, men kommer der tusindvis af forespørgsler (requests), så sættes disse i kø og behandles i rækkefølge.
Det er svært at forestille sig en verden uden klient/server. Hvis en telefon fx ikke kan være klient, så kan den ikke efterspørge data. Hvis der ikke er server-software på en maskine, så kan man ikke få leveret noget data fra denne maskine.
I virksomheden er klienten den computer, medarbejderen bruger til sit arbejde fx at skrive en mail til leverandøren. Mailprogrammet ligger på virksomhedens server, derfor sender medarbejderen via klienten (præsentationslaget) en forespørgsel til serveren (datalaget).
Serveren er typisk en væsentligt kraftigere maskine, og en virksomhed kan godt have flere servere til hver sin opgave fx en mailserver, en webserver osv. Dette er ofte tilfældet i store virksomheder, fordi der vil være mange forespørgsler fra klienterne på én gang.
Klienten er normalt i kontakt med en bruger. Servere betjenes derimod sjældent direkte af mennesker, derfor er der som regel hverken skærm, tastatur eller mus tilkoblet. I klient-server-situationer vil vi ofte referere til "brugeren", underforstået at der sidder en bruger fx en medarbejder og styrer klientens forespørgsler.
Det er en videreudvikling at klient-server-arkitekturen og består af tre lag:
Præsentationslaget, datalaget og logiklaget.
Præsentationslaget svarer til klient-delen i klient-server-arkitekturen, mens datalaget og logiklaget er en videreopdeling af server-delen i klient-server-arkitekturen. De tre lag har forskellige opgaver:
Præsentationslaget
Input fra brugeren (tastatur, museklik, berøring o.l.)
Præsentation af grafik, tekst, billeder o.l. til brugeren
Sende information mellem præsentationslaget og logiklaget
Logiklaget
Foretage logiske beregninger
Hente informationer fra præsentationslaget og på baggrund af disse hente data fra datalaget
Lave beregninger og andre manipulationer på data fra datalaget
Datalaget
Opbevare data
Søge i data
Sende information til logiklaget
Arbejder pølsemanden efter client-server-arkitekturen eller trelagsarkitekturen?
Fordel rollerne fra trelagsarkitekturen.
Hvem er præsentationslag, hvem er logiklag og hvem er datalag?
Hvilke fordele er der ved at bruge trelagsarkitekturen i en burgerbar?