- Client/Server
-
Das Client-Server-Modell beschreibt eine Möglichkeit, Aufgaben und Dienstleistungen innerhalb eines Netzwerkes zu verteilen. Die Aufgaben werden von Programmen erledigt, die in Clients und Server unterteilt werden. Der Client kann auf Wunsch eine Aufgabe vom Server anfordern (z. B. ein Betriebsmittel). Der Server, der sich auf einem beliebigen anderen Rechner im Netzwerk befindet, beantwortet die Anforderung (d. h. er stellt im Beispiel das Betriebsmittel bereit).
Inhaltsverzeichnis
Definitionen
- Server (deutsch: Bediener, Anbieter, Dienstleister)
- Ein Server ist ein Programm (Prozess), das mit einem anderen Programm (Prozess), dem Client (deutsch: Kunde), kommuniziert, um ihm Zugang zu einem Dienst zu verschaffen.
- Client (deutsch: Kunde, Dienstnutzer)
- Ein Client kann auf Wunsch einen Dienst bei dem Server anfordern, der diesen Dienst bereitstellt.
- Dienst
- Vereinbarung einer festgelegten Aufgabe, die der Server anbietet und der Client nutzen kann.
- Request (deutsch: Anforderung, Anfrage)
- Anforderung eines Clients an den Server, dessen Dienst er benötigt.
- Response (deutsch: Antwort)
- Antwort des Servers auf eine Anforderung eines Clients.
Client-Server-Modell
- Synonyme
- Client-Server-Konzept, Client-Server-Architektur, Client-Server-Prinzip
- Antonyme
- Peer-to-Peer-Modell, Peer-to-Peer-Architektur, Peer-to-Peer-Prinzip
Das Client-Server-Modell ist das Standardkonzept für die Verteilung von Aufgaben innerhalb eines Netzwerks. Aufgaben werden mittels Server auf verschiedene Rechner verteilt und können bei Bedarf von mehreren Clients zur Lösung ihrer eigenen Aufgaben oder Teilen davon angefordert werden. Bei den Aufgaben kann es sich um Standardaufgaben (E-Mail-Versand, E-Mail-Empfang, Web-Zugriff, etc.) oder um spezifische Aufgaben einer Software oder eines Programms handeln. Eine Aufgabe wird im Client-Server-Modell als Dienst bezeichnet.
Ein Server ist ein Programm, das einen Dienst (Service) anbietet. Im Rahmen des Client-Server-Konzepts kann ein anderes Programm, der Client, diesen Dienst nutzen. Die Kommunikation zwischen Client und Server ist abhängig vom Dienst, d. h. der Dienst bestimmt, welche Daten zwischen beiden ausgetauscht werden. Der Server ist in Bereitschaft, um jederzeit auf die Kontaktaufnahme eines Clients reagieren zu können. Im Unterschied zum Client, der aktiv einen Dienst anfordert, verhält sich der Server passiv und wartet auf Anforderungen. Die Regeln der Kommunikation für einen Dienst (Format, Aufruf des Servers, und die Bedeutung der zwischen Server und Client ausgetauschten Daten), werden durch ein Protokoll festgelegt, und das Protokoll ist spezifisch für den jeweiligen Dienst.
Clients und Server können als Programme auf verschiedenen Rechnern oder auf demselben Rechner ablaufen. Allgemein kann das Konzept ausgebaut werden zu einer Gruppe von Servern (Software), die eine Gruppe von Diensten anbietet. Beispiele: Mail-Server, (erweiterter) Web-Server, Anwendungsserver, Datenbank-Server.
Da in der Praxis diese Server meist gesammelt auf bestimmten Rechnern laufen, hat es sich eingebürgert, diese Rechner selber als Server zu bezeichnen. Die gleichen Beispiele: Mail-Server, Web-Server, Anwendungsserver, Datenbank-Server.
Unterschiede zu Peer-To-Peer
Im Unterschied zum Peer-to-Peer-Modell, bei dem ein beteiligtes Programm innerhalb des Netzwerkes gleichzeitig Client und Server darstellt, sind beim Client-Server-Modell die Komponenten Client und Server getrennt und auf verschiedene Programme verteilt.
Client-Server-System
Ein Client-Server-System ist eine Software (Anwendungssystem), welche für ihre Aufgaben und Funktionen vom Client-Server-Modell Gebrauch macht. Anders ausgedrückt wurde die Software so entwickelt, dass sie das Client-Server-Modell nutzen kann. Das System besteht daher mindestens aus zwei Teilen, einer Server- und einer Client-Komponente, die in der Regel auf verschiedenen Rechnern ablaufen.
Beispiel eines Client-Server-Systems mit zentralem Datenbankserver
- Das Client-Server-System bildet eine Netzwerkstruktur, bestehend aus dem zentralen Datenbankserver als Server-Komponente und mehreren Benutzer-Clients als Client-Komponente. Den Client bildet das Anwendungsprogramm, über dessen Benutzerschnittstelle der Benutzer über das Netzwerk auf Ressourcen des Datenbankservers zugreift. Er liest und pflegt die Daten in der Datenbank durch „Abschicken“ von SQL-Befehlen. Jeden abgeschickten SQL-Befehl sendet der Client als Anforderung an den Server diesen auszuführen. Das Ergebnis (Daten oder Fehlermeldung) liefert der Server als Antwort an den Client zurück.
Siehe auch
- Peer-to-Peer
- Host-Terminal-System
- Verteilte Systeme
- IT-Architektur
- Schichtenarchitektur
- Server (Begriffsklärung)
- Server (Software) (im Client-Server-Modell)
Wikimedia Foundation.