Client-Server: Unterschied zwischen den Versionen

Aus Foxwiki
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:
'''topic''' - Kurzbeschreibung
'''Client-Server-Modell''' - Aufteilung von Aufgaben und Dienstleistungen in einem [[Rechnernetz|Netzwerkes]]
== Beschreibung ==
 
<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]]


==== Sicherheit ====
==== Dokumentation ====
===== RFC =====
===== Man-Pages =====
===== Info-Pages =====
==== Links ====
===== Projekt =====
===== Weblinks =====
</noinclude>


= TMP =
== 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.&nbsp;B.&nbsp; ein [[Betriebsmittel (Informatik)|Betriebsmittel]]).  
* Der Client kann auf Wunsch einen Dienst vom Server anfordern (z.&nbsp;B.&nbsp;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 ==
; [[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.  
{| 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]] (''deutsch:'' Kunde, Dienstnutzer)
[[Client]] || Kunde, Dienstnutzer || Ein Client kann einen Dienst bei dem Server anfordern, der diesen Dienst bereitstellt.
: Ein Client kann einen Dienst bei dem Server anfordern, der diesen Dienst bereitstellt.
* '''Client''' - Soft- oder Hardware, die Anfragen an Server stellt
 
|-
; Service (''deutsch:'' Dienst)
|  Service || Dienst || [[Netzwerkprotokoll|Protokoll]] einer festgelegten Aufgabe, die der Server anbietet und der Client nutzen kann.
: [[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.
; Request (''deutsch:'' Anforderung, Anfrage)
|-
: Anforderung eines Clients an den Server, dessen Dienst er benötigt.
Response || Antwort || Antwort eines Servers auf eine Anforderung eines Clients.
 
|}
; Response (''deutsch:'' 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
== 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

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 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.
  • 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 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 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