|
|
Zeile 24: |
Zeile 24: |
| ===== Weblinks ===== | | ===== Weblinks ===== |
| </noinclude> | | </noinclude> |
|
| |
| = TMP =
| |
| == Beschreibung ==
| |
| [[Datei:Server-based-network.svg|mini|200px|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 [[Rechnernetz|Netzwerkes]] zu verteilen.
| |
| * Die Aufgaben werden von [[Computerprogramm|Programmen]] erledigt, die in [[Client]]s und [[Server (Software)|Server]] unterteilt werden.
| |
| * Der Client kann auf Wunsch einen Dienst vom Server anfordern (z. B. ein [[Betriebsmittel (Informatik)|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.
| |
|
| |
| == Definitionen ==
| |
| ; [[Server (Software)|Server]] (''deutsch:'' Bediener, Anbieter, Dienstleister, Bereitsteller, ''englisch:'' to serve)
| |
| : 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 ==
| |
| ; Standardkonzept für die Verteilung von Aufgaben innerhalb eines Netzwerkes
| |
| * 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.
| |
| * 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 selbst als Server zu bezeichnen.
| |
| * Die gleichen Beispiele: Mail-Server, Web-Server, Anwendungsserver, Datenbank-Server.
| |
|
| |
| ; Peer-to-Peer
| |
| 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:Netzwerk/Architektur]] | | [[Kategorie:Netzwerk/Architektur]] |
| [[Kategorie:Software/Architektur]] | | [[Kategorie:Software/Architektur]] |