Titel:

Client-/Server-Architektur und Internet

Startseite
english
  
ISBN: 3631306768   ISBN: 3631306768   ISBN: 3631306768   ISBN: 3631306768 
 
|<< Anfang     < Zurück     Index     Weiter >     Ende >>|
  Wir empfehlen:       
 

 

Client

Als Client bezeichnet man ein Gerät oder einen Prozess, welcher den Dienst eines oder mehrerer Server in Anspruch nimmt. Da Clients oft die Schnittstelle der Serverdaten zum Menschen darstellen, sind Clients meist auf Benutzereingaben und Visualisierung von Daten ausgelegt. Während in der Vergangenheit Clients nur sehr geringe Rechenleistung oder Funktionalität hatten, werden heute als Clientgeräte meist PCs oder andere recht performante Geräte verwendet. Frühere Clients hatten daher meist nur die Aufgabe die vom Server ausgeführte Anwendung darzustellen und Tastatureingaben der Benutzer an den Server weiterzuleiten. Sämtliche Berechnungen wurden daher Serverseitig erledigt, vom Seitenlayout bis zur konkreten Anwendungsfunktionalität. Solche Clientgeräte lassen sich heutzutage leicht in Software nachbilden und auf normalen PCs ausführen, wie beispielsweise das VT100 Terminal. In diesem fall spricht man von Thin-Clients. Dem gegenüber findet man den sog. Thick-Client, eine Client Anwendung welche die meisten Aufgaben selbst Berechnen kann und den Server nur noch zur Zentralen Datenhaltung verwendet. Beispiele für Clients (Anwendungen und Geräte):

  • VT100 Terminal : VT100 Terminals bestehen aus einer Tastatur, einem (meist monochromen) Monitor und einer Seriellen Schnittstelle zum Server. Vom Server wird das VT100 Terminal mit Textdaten und Positionierungsdaten (meist ASCII) versorgt, die es direkt auf dem Bildschirm darstellt. Vom Benutzer eingegebene Daten werden ebenfalls direkt und unverändert als Textdatum an den Server geschickt. Die aufgabe eines VT100 Terminals besteht ausschliesslich in der Kodierung von Tastenanschlägen in ASCII und der darstellung von ASCII Daten auf dem Bildschirm. Jegliche Anwendungsfunktionalität befindet sich auf dem Server.
  • XTerm : Das XTerm stellt eine unter unix-artigen System weit verbreitete Softwareemulation des VT100 Terminals dar. Fast alle nicht-graphischen Anwendungen auf einem Unix-System kommunizieren mit dem Benutzern (vorausgesetzt sie benutzen eine graphische Oberfläche) über XTerms oder ähnliche VT100 Terminalemulationen. Bei diesem Konzept befinden sich also Client (XTerm) und Server (nicht graphische Anwendung) auf demselben Rechner.
  • Kartenleser Türschloss : Als Beispiel für ein etwas ungewöhnliches Clientgerät möchte ich Kartenleser Türschlösser vorstellen. Üblicherweise Kommunizieren jene mit einem entfernten Authentifizierungsserver, welcher die gültigkeit der von der Magnetkarte gelesenen Daten überprüft. Nur wenn der Server als Antwort sein OK gibt, wird vom Kartenleser Türschloss der elektrische Schliessmechanismus frei gegeben.
  • Webbrowser : Webbrowser sind sehr unspezialisierte Clients, die meist sowohl für Thin- als auch für Thick-Client Anwendungen geeignet sind. Während der Webserver als Kommunikationspartner des Browsers in einer Thin-Client Lösung alle Aktionen bis auf das Layouten und Zeichnen der Daten übernimmt, lassen sich beliebig komplexe Funktionen über beispielsweise Java oder JavaScript auf Clientseite verlagern um so eine Thick-Client Anwendung zu erhalten.

Abgrenzung Client-/Server Konzept

Es gibt viele Diskussionen und noch mehr unterschiedliche Auffassungen darüber was genau als Client-/Server Architektur anzusehen ist. Gemein haben alle, daß einem Protokoll gehorchende Kommunikation zwischen verschiedenen Kommunikationspartnern statt findet. Folgende Abgrenzungskriterien werden immer wieder diskutiert:
  • Zeit : Hierbei geht es um die zur Abarbeitung einer Anfrage nötigen Dauer. Wenn die benötigte Zeit länger wird spricht man eher von einem Batchsystem, bei welchem ein Batchprozess zur Abarbeitung abgesetzt wird. Oft scheint das (subjektive) Abgrenzungskriterium zu sein, ob es sich "lohnt" auf die Abarbeitung zu warten, oder ob man das Ergebnis zu einem (subjektiv) späteren Zeitpunkt erwarten kann.
  • Entfernung : Ein weiterer Argumentationspunkt ist, ob eine Anwendung lokal oder entfernt (über Netz) kommuniziert
  • Wertigkeit der Kommunikationsrelation Klassisch gesehen handelt es sich bei der Client-/Server Kommunikation um eine 1 zu 1 Relation, welche vom Client initiiert wird. Dem ist beispielsweise ein Broadcast gegenüber zu stellen, bei dem es sich um eine 1 zu n Relation handelt, welche ungefragt vom Server "gesendet" wird und von Clients bei Bedarf "empfangen" werden kann.
  • Dienstgüte : In manchen Argumentationen wird eine mindeste Dienstgüte verlangt, wobei beispielsweise Terminaldienste nicht mehr als Client-/Server Anwendungen betrachtet werden. Es wird argumentiert, daß ansich die Komplette Anwendung auf dem Server abläuft und daher eine "Aufgabentrennung" nicht mehr gegeben ist.

Protokoll

Die Regeln und formalen Beschreibungen der Client-/Server Kommunikation nennt man Protokolle. Es ist unabdingbare Voraussetzung für Kommunikation zwischen Client und Server, daß beide Seiten dasselbe Protokoll verwenden. Protokolle spezifizieren üblicherweise die Kommunikationskanäle und die Grammatiken mit denen Anmeldung, Informationsaustausch, Anfrage, Antwort und Abmeldung erfolgen. Nicht all diese Schritte müssen immer explizit angegeben werden, wenn sie für den Anwendungszweck nicht von Belang sind.

Protokolle werden oft auf unterschiedlichsten Abstraktionsebenen spezifiziert und bauen üblicherweise dann auch aufeinander auf. Man spricht dann von einem Schichtenmodell (das bekannteste ist wohl das OSI-Schichtenmodell). Während die untersten Schichten die Kommunikation von Hardware und Geräten regeln - es werden elektrische Signale, Kabel oder Funkfrequenzen und deren Eigenschaften spezifiziert, beschäftigen sich mittlere Schichten mit dem Aufbau von Netzwerktopologien (Addressstrukturen und deren Auflösung, Routing und Fehlerkorrektur sind hier Spezifiziert). Man trennt hier oft die Netzwerkschicht (z.B. IP - Internet Protocol) und die Transportschicht (z.B. TCP - Transfer Control Protocol, UDP - User Datagram Protocol). Die obersten Schichten bezeichnet man als Anwendungsschicht. Hier wird spezifiziert wie konkrete Client-/Server Anwendungen miteinander kommunizieren. HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol) und SMTP (Simple Mail Transfer Protocol) sind Beispiele für Protokolle der Anwendungsschicht.



  
Diskursive Anforderungsanalyse. Ein Beitrag zum Reduktionsproblem bei Systementwicklungen in der Informatik (Broschiert)
von Urs Andelfinger
Sonstige Artikel:
Wie erkenne ich? Die Kunst des Jugendstils (Broschiert)
von Karin Sagner-Düchting
Getting Things Done. The Art of Stress-Free Productivity (Taschenbuch)
von David Allen
Network-Marketing: Beruf und Berufung. Karrierechancen im Zukunftsmarkt Direktvertrieb (Gebundene Ausgabe)
von Michael M. Zacharias
 
    
     
|<< Anfang     < Zurück     Index     Weiter >     Ende >>| 

Zurück zur Themenseite:
StudyPaper.com/Startseite/Computer/Informatik

Das Setzen von Verweisen (Links) auf diese Seite ist gestattet und bedarf keine vorherige Absprache.
   
  Startseite  |  english  |  Bookmark setzen  |  Webseite weiterempfehlen  |  Copyright ©  |  Impressum