3-lagen model
Het 3-lagen model
Bij een ICT-systeem is er vaak sprake van een opbouw in lagen, waarbij deze lagen gescheiden worden door interfaces. In het bijzonder kunnen we de volgende lagen onderscheiden (van "top" naar "bottom"):
- toepassingen-laag (application layer)
- logische laag (logical layer), ook wel systeemsoftware
- fysieke laag (physical layer): hardware
Elementen van de toepassingen-laag zijn bijvoorbeeld:
- tekstverwerkers (Word, Google Doc, LaTeX);
- spreadsheet-programma's
- games
- apps
- browser
Elementen van de logische laag zijn bijvoorbeeld:
- operating system (Windows, Linux, OS X, iOS, Android)
- file systeem, resources, beveiliging, gebruikers, gebruikersinterface
- programmeertalen, compilers, en libraries
- database management systemen
- netwerksoftware (lokaal netwerk, internet, web)
Elementen van de fysieke laag zijn bijvoorbeeld:
- computer-hardware
- netwerk-hardware
- randapparaten (beeldscherm, toetsenbord, USB-stick, printer)
Logische laag en fysieke laag zijn universeel
De interface tussen de logische laag en de toepassingen zorgt ervoor dat de logische laag universeel is - en daarmee ook de fysieke laag.
Fysieke laag
Informatie heeft een fysieke representatie nodig; informatie-processen hebben fysieke resources nodig. Door deze in een aparte laag onder te brengen, kun je in de software abstraheren van veel eigenschappen van deze fysieke laag.
Je kunt niet van alle aspecten van de fysieke laag abstraheren. Zo moet je bijvoorbeeld rekening houden met:
- de beperkte snelheid van het datatransport - uitgedrukt in latency en throughput.
- de beperkte snelheid van rekenen van een enkele processor.
- de beperkte snelheid van data-opslag: wegschrijven en teruglezen
- geheugen-hiërarchie
- de energie die nodig is voor rekenen, opslag, en transport van data.
Evolutie en variatie
De interface tussen de fysieke laag en de logische laag zorgt ervoor dat de evolutie en variatie aan de kant de van de hardware onafhankelijk is van de evolutie en variatie aan de kant van de software. Dit betekent bijvoorbeeld dat de
Browser als platform voor toepassingen
De grens tussen de logische laag en de toepassingen verschuift regelmatig. Onderdelen die in veel toepassingen gebruikt worden, verschuiven naar het Operating System. Voor bestaande toepassingen is dit geen probleem, omdat het een uitbreiding van een interface betreft.
Een speciaal voorbeeld is de browser. Oorspronkelijk is dit een toepassing, waarmee je als gebruiker toegang krijgt tot de documenten in het web. Maar de browser wordt steeds meer het platform voor toepassingen in het web (web-applications). Hiermee wordt de browser onderdeel van de logische laag van web-toepassingen.
- Javascript is de "machinetaal" van het web: andere programmeertalen worden vertaald naar Javascript, zodat je deze talen kunt gebruiken in web-toepassingen.