Client-Server-Architektur


Die C/S-Architektur bezeichnet ein Systemdesign, bei dem die Verarbeitung einer Anwendung in zwei separate Teile aufgespaltet wird. Ein Teil läuft auf dem Server (Backend-Komponente), der andere Teil auf einer Workstation (Client oder Front-End). Beide Teile werden über Netzwerke zu einem System zusammengefügt. Der Client gibt auf dem Server die Bearbeitung von Daten in Auftrag und nimmt die Leistungen des Servers in Anspruch. Im Gegensatz zu Host-basierten Architekturen sind die Server heute nicht mehr mit der gesamten Datenverarbeitung beschäftigt, sondern geben die Daten zur weiteren Aufbereitung an den Client zurück.

Während auch viele Kommunikationsprotokolle mit Client-Server-Prozeduren arbeiten, bezieht sich die Bezeichnung C/S-Architektur aber meist auf die Verteilung von Anwendungen.

Die Arbeitsteilung zwischen Client und Server kann auf sehr unterschiedlichen Ebenen einer Systemanwendung erfolgen. Um die Aufgabentrennung besser beschreiben zu können, wird oft versucht, verteilte Anwendungen in ein Schichtenmodell zu unterteilen. Im Gegensatz zum OSI-Modell gibt es aber noch kein standardisiertes Modell für verteilte Anwendungen. Solche Modelle unterteilen daher die Ebene 7 des OSI-Modells weiter. In /1/ ist ein Beispiel für ein solches Modell enthalten:

Es werden die Ebenen:
  • Präsentation,
  • Steuerung,
  • Anwendungslogik,
  • Datenverwaltung sowie
  • Datenhaltung
eingeführt.

Je nachdem, wo die Anwendung dann aufgetrennt wird, werden die Modelle:

  • verteilte Präsentation (C:Präsentation <-> S:Steuerung...),
  • entfernte Präsentation (C:...Steuerung <-> S:Anwendungslogik...),
  • kooperative Verarbeitung (C:...Anwendungslogik <-> S:Anwendungslogik...),
  • persistente Geschäftsregeln (C:...Anwendungslogik <-> S:Datenverwaltung...),
  • entfernte Datenbank (C:...Datenverwaltung <-> S:Datenhaltung),
  • verteilte Datenbank (C:...Datenhaltung <-> S:Datenhaltung) und
  • mehrstufige C/S-Architektur (in mehreren Stufen verteilt) unterschieden.

/1/ Klaus D. Niemann, Client/Server-Architektur, Organisation und Methodik der Anwendungsentwicklung, Vieweg, Braunschweig, 1995

0-9|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|alle

Suche im Lexikon nach im

 

Fachartikel

Anwenderbericht: Verteiltes Engineering mit virtuellen Desktops [25.08.2010]

Der Pumpenhersteller LEWA setzt im Entwicklungsbereich auf Desktop-Virtualisierung: Auf diese Weise stellt das mittelständische Unternehmen komplette CAD-Arbeitsplätze über das Rechenzentrum bereit und bindet so alle internationalen Standorte an eine zentrale Engineering-Datenbank an. Dies führt zu schnelleren Entwicklungsprozessen, während gleichzeitig sichergestellt ist, dass geschäftskritisches Know-how die Firma nicht verlässt. In diesem Beitrag setzen wir uns mit Aufbau und Verwaltung dieser Infrastruktur auseinander. [mehr]

Grundlagen

Server-based Computing [30.08.2010]

Server-based Computing (SBC) ermöglicht die zentrale Applikationsbereitstellung für Clients auf einem (oder mehreren) Servern. Jeder Client-PC bildet dabei eine Art Terminal, das lediglich der Eingabe von Daten (über Tastatur und Maus) dient und diese an einen Terminalserver schickt. Dieser führt die eigentliche Bearbeitung durch und sendet die sich daraus ergebenden Bildschirminhalte zurück an den Client. Auf den Arbeitsstationen selbst befindet sich – streng genommen – keinerlei Software, jegliche Programme und Updates werden auf den Servern installiert. Client-seitig lassen sich hierbei klassische "Fat Clients" nutzen, seine volle Effektivität in Sachen Zentralisierung der Administration und Kostenreduktion spielt SBC jedoch erst beim Einsatz von "Thin Clients" (beziehungsweise "Ultra Thin Clients") aus. [mehr]