Client-Server: Unterschied zwischen den Versionen
K Dirkwagner verschob die Seite Client-Server-Modell nach Client-Server und überschrieb dabei eine Weiterleitung |
|||
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
''' | '''Client-Server-Modell''' - Aufteilung von Aufgaben und Dienstleistungen in einem [[Rechnernetz|Netzwerkes]] | ||
== Beschreibung == | == Beschreibung == | ||
[[Datei:Server-based-network.svg|mini|200px|Server-basiertes Netzwerk]] | [[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. | 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. | * 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 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. | * 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 == | == Definitionen == | ||
{| class="wikitable sortable options" | |||
|- | |||
! Option !! deutsch || Beschreibung | |||
|- | |||
| [[Server (Software)|Server]] || 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. | * 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]]. | * Ein Computer kann nämlich ein Server und Client zugleich sein, siehe: [[Peer-to-Peer]]. | ||
|- | |||
| [[Client]] || Kunde, Dienstnutzer || Ein Client kann einen Dienst bei dem Server anfordern, der diesen Dienst bereitstellt. | |||
* '''Client''' - Soft- oder Hardware, die Anfragen an Server stellt | |||
|- | |||
| Service || Dienst || [[Netzwerkprotokoll|Protokoll]] einer festgelegten Aufgabe, die der Server anbietet und der Client nutzen kann. | |||
|- | |||
| Request || Anforderung, Anfrage || Anforderung eines Clients an den Server, dessen Dienst er benötigt. | |||
|- | |||
| Response || Antwort || Antwort eines Servers auf eine Anforderung eines Clients. | |||
|} | |||
== Client-Server-Modell == | == Client-Server-Modell == | ||
Zeile 57: | Zeile 35: | ||
* Eine Aufgabe wird im Client-Server-Modell als Dienst bezeichnet. | * Eine Aufgabe wird im Client-Server-Modell als Dienst bezeichnet. | ||
; Ein [[Server (Software)|Server]] ist ein Programm, das einen [[Netzwerkdienst|Dienst (Service)]] anbietet | ; 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. | * 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. | * Die Kommunikation zwischen Client und Server ist abhängig vom Dienst, das heißt, der Dienst bestimmt, welche Daten zwischen beiden ausgetauscht werden. | ||
Zeile 64: | Zeile 42: | ||
* 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. | * 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 | ; 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. | * 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. | * Beispiele: Mail-Server, (erweiterter) Web-Server, [[Anwendungsserver]], Datenbank-Server. | ||
Zeile 71: | Zeile 49: | ||
* Die gleichen Beispiele: Mail-Server, Web-Server, Anwendungsserver, Datenbank-Server. | * 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. | 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 == | == Client-Server-System == | ||
Ein Client-Server-System ist eine Software (Anwendungssystem), welche für ihre Aufgaben und Funktionen vom Client-Server-Modell Gebrauch macht. | ; 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. | * 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. | * 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. | ; 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. | * 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. | * Der Client bildet das [[Anwendungsprogramm]], über dessen Benutzerschnittstelle der Benutzer über das Netzwerk auf [[Ressourcen]] des Datenbankservers zugreift. | ||
Zeile 85: | Zeile 63: | ||
* Jeden [[SQL]]-Befehl sendet der Client als Anforderung an den Server, um diesen dort ausführen zu lassen. | * 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. | * Das Ergebnis (Daten oder Fehlermeldung) liefert der Server als Antwort an den Client zurück. | ||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/Client-Server}} | |||
---- | |||
* [[Server (Software)]] (im Client-Server-Modell) | |||
* [[Verteiltes System]] | |||
* [[Hostrechner]] (Hardware) | |||
* [[Host-Terminal-System]] | |||
* [[IT-Architektur]] | |||
* [[Peer-to-Peer]] | |||
* [[Schichtenarchitektur]] | |||
[[Kategorie:Netzwerk/Architektur]] | [[Kategorie:Netzwerk/Architektur]] | ||
[[Kategorie:Software/Architektur]] | [[Kategorie:Software/Architektur]] | ||
</noinclude> |
Aktuelle Version vom 4. Februar 2024, 14:24 Uhr
Client-Server-Modell - Aufteilung von Aufgaben und Dienstleistungen in einem Netzwerkes
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.
- 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 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
Option | deutsch | Beschreibung |
---|---|---|
Server | Bediener, Anbieter, Dienstleister, Bereitsteller, 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.
|
Client | Kunde, Dienstnutzer | Ein Client kann einen Dienst bei dem Server anfordern, der diesen Dienst bereitstellt.
|
Service | Dienst | Protokoll einer festgelegten Aufgabe, die der Server anbietet und der Client nutzen kann. |
Request | Anforderung, Anfrage | Anforderung eines Clients an den Server, dessen Dienst er benötigt. |
Response | 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 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, 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 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.
Anhang
Siehe auch
- Server (Software) (im Client-Server-Modell)
- Verteiltes System
- Hostrechner (Hardware)
- Host-Terminal-System
- IT-Architektur
- Peer-to-Peer
- Schichtenarchitektur