: Ein Server ist ein [[Computerprogramm|Programm]] ([[Prozess (Informatik)|Prozess]]), das mit einem anderen Programm (Prozess), dem Client (''deutsch:'' Kunde), kommuniziert, um ihm Zugang zu einem [[Dienst (Informatik)|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, der diesen Dienst bereitstellt.
; Service (''deutsch:'' Dienst)
: [[Netzwerkprotokoll|Protokoll]] 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 ==
Das Client-Server-Modell ist das Standardkonzept für die Verteilung von Aufgaben innerhalb eines Netzwerks.
* Aufgaben werden mittels Server auf verschiedene [[Computer|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 (Software)|Server]] ist ein Programm, das einen [[Netzwerkdienst|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, das heißt, 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, Bedeutung der zwischen Server und Client ausgetauschten Daten), werden durch ein für den jeweiligen Dienst spezifisches [[Netzwerkprotokoll|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.
Da in der Praxis diese Server meist gesammelt auf bestimmten Rechnern laufen, hat es sich eingebürgert, diese Rechner selbst als Server zu bezeichnen.
* Die gleichen Beispiele: Mail-Server, Web-Server, Anwendungsserver, Datenbank-Server.
Im Unterschied zum [[Peer-to-Peer]]-Modell (dt.: "Gleiche zu Gleichen"), 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.
Beispielhaft wird ein Client-Server-System mit zentralem Datenbankserver betrachtet.
* Das Client-Server-System bildet eine Netzwerkstruktur, bestehend aus dem zentralen [[Datenbankserver]] als Server-Komponente und mehreren Benutzer-Clients als Client-Komponente.
* Der 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 dort ausführen zu lassen.
* Das Ergebnis (Daten oder Fehlermeldung) liefert der Server als Antwort an den Client zurück.
[[Kategorie:Netzwerke:Architektur]]
[[Kategorie:Netzwerke:Architektur]]
[[Kategorie:Software:Architektur]]
[[Kategorie:Software:Architektur]]
Version vom 2. Januar 2023, 14:34 Uhr
topic kurze Beschreibung
Beschreibung
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.
Der Client kann auf Wunsch einen Dienst vom Server anfordern (z. B. ein Betriebsmittel).
Der Server, der sich auf demselben oder einem anderen Rechner im Netzwerk befindet, beantwortet die Anforderung (das heißt, er stellt im Beispiel das Betriebsmittel bereit); üblicherweise kann ein Server gleichzeitig für mehrere Clients arbeiten.