Client-Server-Modell

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Client-Server)
Wechseln zu: Navigation, Suche
Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Die fraglichen Angaben werden daher möglicherweise demnächst entfernt. Bitte hilf der Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst. Näheres ist eventuell auf der Diskussionsseite oder in der Versionsgeschichte angegeben. Bitte entferne zuletzt diese Warnmarkierung.
Server-basiertes Netzwerk

Das Client-Server-Modell (auch Client-Server-Konzept, -Architektur, -System oder -Prinzip genannt) 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 einen Dienst vom Server anfordern (z. B. ein Betriebsmittel). Der Server, der sich auf dem gleichen oder einem beliebigen anderen Rechner im Netzwerk befindet, beantwortet die Anforderung (d. h. er stellt im Beispiel das Betriebsmittel bereit).

Definitionen[Bearbeiten]

Server (deutsch: Bediener, Anbieter, Dienstleister, englisch: to serve)
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. Hierbei muss abgrenzend beachtet werden, dass es sich bei "Server" um eine Rolle handelt, nicht um einen Computer an sich. Ein Computer kann nämlich ein Server und Client zugleich sein, siehe: Peer-to-Peer.
Client (deutsch: Kunde, Dienstnutzer)
Ein Client kann einen Dienst bei dem Server anfordern, welcher diesen Dienst bereitstellt.
Dienst (englisch: Service)
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 eines Servers auf eine Anforderung eines Clients.

Client-Server-Modell[Bearbeiten]

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 für den jeweiligen Dienst spezifisches Protokoll festgelegt.

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[Bearbeiten]

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[Bearbeiten]

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 SQL-Befehl sendet der Client als Anforderung an den Server um diesen ausführen zu lassen. Das Ergebnis (Daten oder Fehlermeldung) liefert der Server als Antwort an den Client zurück.

Umsetzungen[Bearbeiten]

Art Beschreibung
Application-Server Ein Applications-Server stellt Anwendungen zentral bereit. Ein Client startet somit das gewünschte Programm nicht von der lokalen Festplatte sondern von diesem Server aus. Ein Vorteil eines solchen Server ist z.B. das Einspielen von Programm-Updates, diese Aktualisierungen müssen nur auf dem Server eingespielt werden, welche dann dieser an die Clients verteilt. Häufig ist noch ein kleiner lokaler Installationsteil notwendig bevor ein Programm zum Einsatz am Client kommen kann. Werden Programme direkt auf dem Server ausgeführt, spricht man von einem Terminal-Server.
CD-ROM-Server Ein Rechner, der mit optischen Laufwerken (wie beispielsweise CD-ROM-Laufwerken) ausgestattet ist; dieser Rechner stellt dann die Inhalte der optischen Datenspeicher allen am Netz angeschlossenen Rechner und Benutzer zur Verfügung.
Datenbank-Server Dieser Server arbeitet mit einem geeigneten Datenbankmanagementsystem (kurz DBMS), mit dem er große Datenbestände zentral zur Verfügung stellen kann, sodass mehrere Clients gleichzeitig mit diesen Daten arbeiten können.
File-Server Ein Server der zum Speichern aller Daten, die von Benutzern erstellt wurden, existiert. Der Rechner, auf dem der File-Server läuft, ist meistens mit einer oder mehreren schnellen und großen Festplatten ausgestattet.
Mail-Server Ein Server, auf dem für jeden Benutzer ein Postfach angelegt wird, sodass mit Hilfe dieses Servers über (elektronische) Briefe (oder E-Mails) kommuniziert werden kann.
Print-Server Dieser Server stellt zentral Drucker zur Verfügung und koordiniert eingehende Druckaufträge. Der Rechner, auf dem dieser Server läuft, ist meistens mit mehreren Anschlussstellen für mehrere Drucker ausgerüstet.
Proxy-Server Dieser Server bietet für alle Benutzer einen zentralen Zugang zum Internet an und verwaltet diesen.

Literatur[Bearbeiten]

  •  Roland Bauch, Thomas Beer: Netzwerke - Grundlagen. 7 Auflage. HERDT-Verlag für Bildungsmedien, 2004, ISBN 978-3-8237-1140-7 (Seite 9).

Siehe auch[Bearbeiten]