Title:

Client-/Server-Architektur und Internet

Description:  Client Server-Architektur des Internet. Client-Server Programmierung für das Web.
Author:Sacha Berger
deutsch
  
ISBN: 0132826453   ISBN: 0132826453   ISBN: 0132826453   ISBN: 0132826453 
 
|<< First     < Previous     Index     Next >     Last >>|
  Wir empfehlen:       
 


Client-/Server-Konzept

client/server model: A common way to describe the paradigm of many network protocols. Examples include the name-server/name-resolver relationship in DNS and the file-server/file-client relationship in NFS. See also: client, server, Domain Name System, Network File System. aus RFC1983(Internet users Glossary)

Das Client/Server Modell beschreibt das wohl geläufigste Paradigma zur Modellierung und Realisierung von verteilten Anwendungen: Ein Dienst wird von einem Server Gerät oder Prozess zur verfügung gestellt, um auf Anfragen eines Clients (ebenfalls Gerät oder Prozess) eine Antwort zu liefern. Die Kommunikation läuft dabei einem Protokoll entsprechend ab.

Server

Als Anbieter eines Dienstes ist es die Aufgabe eines Servers auf Anfragen Berechnungen durchzuführen und die Ergebnisse als Protokollkonforme Antworten zu formulieren. Ein Server als Anbieter eines Dienstes kann sich dabei auf dem selben Gerät auf dem der Client läuft befinden, oder auf einem anderen über Netzwerk (oder über einen anderen Kommunikationskanal) erreichbaren Gerät befinden. Die Entscheidung, einen Dienst als Server aus einer Anwendung auszugliedern kann verschiedene Gründe haben:
  • Performance/Rechenleistung : Unter Umständen handelt es sich bei den Clients um leistungsschwache Geräte, welche schnittstellen zu leistungshungrigen Anwendungen darstellen. In diesem Fall wird die Berechnung auf einem leistungsstärkeren Server ausgeführt. Da heutzutage Rechenleistung sehr billig geworden ist, sind Client meist mit genügend Rechenleistung versehen. Dieser Ansatz wird also nur noch selten (beispielsweise in der Filmindustrie zur Animation von VR-Szenen) eingesetzt. Die Tendenz hat sich sogar umgekehrt und man versucht möglichst viel Berechnungsaufwand auf die Clientseite zu verschieben, um eine bessere Skalierbarkeit von Client/Server Systemen zu erreichen.
  • Zentrale Datenhaltung : Dieser Aspekt des Client/Server Modells hat heutzutage wohl die größte Bedeutung. Auf einem Server sind Daten gespeichert, welche von vielen verschiedenen Clients Verwendet oder manipuliert werden. Durch die Zentralisierung der Datenhaltung minimiert man den Aufwand zur Synchronisation von parallelen Anfragen/Modifikationen. Dies ist nötig um eine Konsistente Datenhaltung zu gewährleisten. Die Minimierung des Aufwands hängt ncht zuletzt mit einer Minimierung der Redundanz von Daten zusammen. Erkauft wird diese Eigenschaft mit dem Nachteil, daß die Datenhaltung nun einen sog. "Single Point of Failture" darstellt: wenn der zentrale Datenhaltungsserver ausfällt, sind sämtliche Clients davon betroffen.
Typische Beispiele für Serverdienste sind
  • Fileserver : Ein Server (hier meist ein Gerät) versorgt mehrere Clients (ebenfalls einzelne Geräte) mit einem Dateisystem. Aufgaben des Servers sind Zugangskontrolle und Transaktionssicherung (nur ein Client darf zu einem Zeitpunkt schreibend auf ein Datum zugreifen)
  • Druckserver : Ein Server (Gerät oder Prozess) versorgt mehrere Clients (Anwendungen, und damit Prozesse) mit dem Dienst einen (oder auch mehrere) Drucker zu verwenden. Typische aufgaben sind hierbei das Einordnen von Druckaufträgen in Warteschlangen, die Zugangskontrolle und Abrechnung der Druckkosten und u.U. die Wahl des am besten geeigneten (qualitativ oder räumlich) Druckers für den Auftrag.
  • Webserver : Der Webserver (Prozess auf einem Gerät - oder auch verteilt über mehrere Geräte) versorgt sehr viele Clients (Webbrowser auf verschiedenen Geräten) mit Informationen. Diese können sich entweder statisch auf dem Webserver befinden (das verhalten ist dann ein wenig mit einem Fileserver vergleichbar) oder aber auch dynamisch von weiteren Dienstprogrammen erzeugt werden.

 

  
An Introduction to Design Patterns in C++ with Qt (Prentice Hall Open Source Software Development)
Siehe auch:
C++ GUI Programming with Qt4 (Prentice Hall Open …
Advanced Qt Programming: Creating Great Software …
Foundations of Qt Development (Expert's …
C++11 programmieren: 60 Techniken für guten …
C++11 aktuell zum neuen Standard C++Ox: Der …
C++ Coding Standards: 101 Rules, Guidelines and …
 
   
 
     
|<< First     < Previous     Index     Next >     Last >>| 

This web site is a part of the project StudyPaper.com.
We are grateful to Sacha Berger for contributing this article.

Back to the topic site:
StudyPaper.com/Startseite/Computer/Informatik

External Links to this site are permitted without prior consent.
   
  deutsch  |  Set bookmark  |  Send a friend a link  |  Copyright ©  |  Impressum