Client-Server-Architektur beschreibt ein Modell Aufgaben in einem Netzwerk zu verteilen
Dabei übernehmen Server die zentralen Aufgaben und stellen sie Clients zur Verfügung
Client-Server-Architektur: Zutaten
Server (Dienstleister)
Client (Nutzer)
Protokoll (erlaubt dem Client einen Request an den Serverdienst zu stellen und eine entsprechende Response auszuwerten)
Client-Server-Architektur: Serverbeispiele
Fileserver (NCP, SMB, NFS, …)
Printserver (LP, NCP, …)
Medienserver (CD-ROM, DVD, Streams)
Datenbankserver
Mailserver (smtp, pop, imap)
Webserver (http)
Applikationsserver
...
Client-Server-Architektur: Schichten
Um die Komplexität von Anwendungen zu reduzieren bzw. die Modularität zu erhöhen, wird auch bei Softwarearchitekturen ein Schichtenmodell eingesetzt, allerdings mit deutlich weniger Schichten, wie im ISO-Referenzmodell
Client-Server-Architektur: 2-Schicht-Architektur
"Two-Tier-Architecture"
Klassische Client-Server-Architektur
Clientschicht (oft auf Fat-Client, d.h. Client übernimmt auch Logikaufgaben)
Serverschicht (immer auf Fat-Server)
Client-Server-Architektur: 3-Schicht-Architektur
"Three-Tier-Architecture"
Aktuelle Realisierungen beruhen meist auf diesem Modell
Hier wird das 3-Schichten-Modell erweitert, indem einzelne Aufgaben aus einer der drei Schichten herausgelöst werden und in einer eigenen Schicht implementiert werden