Computernetzwerke: Peer-to-Peer-Netze und Client-Server-Prinzip. Das 10-Schichten-Anwendungsmodell mit verteilter/entfernter Präsentation und Datenhaltung.
Computernetzwerke haben verschiedene Strukturen. Das Local Area Network (LAN) verbindet PCs und andere gemeinsam genutzten Ressourcen über einen Server miteinander. Abbildung 2 zeigt dies schematisch.
Peer-to-Peer-Netze
Vor allem in kleinen Netzen wurden früher Arbeitsplatzrechner miteinander in Peer-To-Peer-Netzen verbunden, um gleichberechtigt gegenseitig auf ihre Ressourcen, z.B. den Drucker, zuzugreifen. Allerdings ist ein solches Netzwerk schwierig zu verwalten. Mehrere individuell konfigurierte Windows-PCs am Laufen zu halten, heißt für den Administrator eines Firmennetzes „einen Sack Flöhe hüten“. Im Zuge von Napster, Filesharing & Co. ist inzwischen jedoch wieder eine Diskussion um die Vorteile von Peer-to-Peer-Netzen entbrannt, denn das Peer-to-Peer-Prinzip garantiert auch im größten Computer-Netzwerk, dem Internet, die unkomplizierte Nutzung gemeinsamer Ressourcen.
Client/Server-Systeme
Die Idee hinter der eigentlichen Client/Server-Technologie (C/S) ist relativ einfach: Als Client („Kunde“) wird der Rechner (auch: Workstation/Arbeitsstation) bezeichnet, der Daten aus einem Netzwerk, zum Beispiel dem Firmennetzwerk oder dem Internet, anfordert. Das Gegenstück zum Client ist der Server („Bediener“), der die Daten bereitstellt. Als Clients (oder Frontends) nehmen weniger leistungsfähige Computer die Dienste von spezialisierten Rechnern (Servern oder Backends) in Anspruch.
Ausfallsicherheit und Zuverlässigkeit bezeichnen die wichtigsten Unterscheidungsmerkmale zwischen einem Server und einer normalen Arbeitsstation im Netz. Die schiere Rechenleistung muss nicht einmal groß differieren. Bei einem Servereinsatz müssen Prozessorgeschwindigkeit, Bussystem und Festplattencontroller mit dem Speichermedium optimal zusammenwirken. Ist ein Server non-dedicated, so bedeutet das, dass der Server auch als Arbeitsstation eingesetzt werden kann (zum Beispiel ist dies bei Windows NT oder UNIX möglich). Ein Arbeitsplatzrechner benötigt nicht unbedingt eine eigene Festplatte, weil durch eine BootROM auf der Netzwerkkarte die Möglichkeit besteht, direkt von der Serverfestplatte zu booten (Beispiel: X-Terminals).
5-Schichten-Anwendungsmodelle
Die typische Form der Verteilung in C/S-Netzen ist heutzutage zweischichtig („two tier architecture“). Der Server ist häufig ein Datenbankmanagement-System (DBMS). Jedoch sind Architekturen auch über mehrere Ebenen möglich. Die Definition der C/S-Architektur sagt zunächst nichts darüber aus, welchen Anteil der Applikation der Client beziehungsweise der Server übernimmt. Ein gängiges Anwendungsmodell besteht aus fünf aufeinander aufbauenden Schichten:
- Präsentation
- Steuerung
- Anwendungslogik
- Datenverwaltung
- Datenhaltung
Abbildung 1 zeigt, dass – bevor das Client/Server-Prinzip seinen Siegeszug antrat – ein Computer sämtliche Teile einer Applikation bearbeitete.
Die Steuerung lenkt dabei den Dialog mit dem Benutzer und reagiert auf seine Eingaben. Eine typische Funktion der Steuerungsebene ist zum Beispiel „Angebot erstellen“. Die Anwendungslogik erfasst fachliche Aufgaben der Applikation, also beispielsweise das Kalkulieren des Angebots. Allgemeine geschäftliche Regeln, die für die der Anwendung zugrundeliegende Datenstrukturen gelten („Business Rules“), überwacht die Datenverwaltungsebene. Sie prüft also beispielsweise, ob zu den Artikelnummern, die der Benutzer bei der Angebotserfassung angibt, überhaupt Artikel im Datenbestand vorhanden sind. Ein Datenbankmanagement-System realisiert typischerweise die Datenhaltungsschicht.
Verteilte und entfernte Präsentation
Zwischen jeder dieser Schichten – zum Teil auch innerhalb dieser – bieten sich Ansatzpunkte, um eine Anwendung zur C/S-Applikation zu machen: Die verteilte Präsentation realisiert zum Beispiel ausschließlich Darstellungsfunktionen auf dem Client. Dabei verhält sich dieser so „dumm“ wie ein Großrechner-Terminal: Sämtliche Eingaben übergibt er via Netz zum Server. Dieser verarbeitet sie dann und schickt die entsprechenden Ausgaben zurück. Das X-Window-System aus der Unix-Welt ist ein Beispiel für diese Form der Verteilung. Auch wird sie häufig als erster Schritt eingesetzt, um PCs an Großrechner anzubinden. Als Nachteil ergibt sich hierbei in der Praxis, dass die (meist älteren) Mainframes die Möglichkeiten einer grafischen Benutzeroberfläche (Graphical User Interface, GUI) noch nicht unterstützen.
Neben der Präsentation erledigt der Client bei der entfernten Präsentation auch Dialogsteuerungs- sowie Prüfaufgaben. Der Client kann hierbei auf die volle Funktionalität des GUI zurückgreifen. Dieser Software-Aufbau schließt sich häufig bei der Host-Anbindung als zweiter Schritt nach der verteilten Präsentation an.
Verteilte und entfernte Datenbank
Die entfernte Datenbank ist momentan die Standardtechnik in lokalen Netzen: Ein spezieller Server-Rechner beherbergt die Datenbank. Dieses Modell ist derart populär, dass viele, die von Client/Server sprechen, ausschließlich diese Technik meinen. Im Gegensatz zur entfernten sind bei der verteilten Datenbank auf mehreren Rechnern Datenbankmanagementsysteme installiert, welche untereinander die Datenverteilung synchronisieren.
Betrachtet man die Entwicklung vom Mainframe zum LAN, so besteht heute die IT-Infrastruktur eines Unternehmens oft aus einem heterogenen Netz, einem Gemisch von Rechensystemen bezüglich Größe, Aufbau, Arbeitsweise und so weiter.
Zusammenfassung Client/Server-System
Weniger leistungsfähige Computer (Clients oder Frontends) nehmen die Dienste von auf ihre Funktionen spezialisierten Rechnern (Servern oder Backends) in Anspruch.
- Anforderungen an den Server: ausfallsicher, zuverlässig; Prozessorgeschwindigkeit, Bussystem und Festplattencontroller sollten mit Speichermedium optimal zusammenwirken.
- Client: kann durchaus so leistungsfähig wie Server sein. Muss keine eigene Festplatte haben.
- 5-Schichten-Anwendungsmodell
- Präsentation
- Steuerung
- Anwendungslogik
- Datenverwaltung
- Datenhaltung
- Präsentation:
- verteilte Präsentation: ausschließlich Darstellungsfunktionen auf dem Client.
- entfernte Präsentation: Client übenimmt Dialogsteuerung/Prüfung. Kann auf die volle Funktionalität des GUI zurückgreifen.
- Datenverwaltung/haltung:
- entfernte Datenbank: ein spezieller Server beherbergt Datenbank.
- verteilte Datenbank: Datenbankmanagementsysteme auf mehreren Rechnern installiert, die untereinander Datenverteilung synchronisieren.