Ebenen von verteilten Systemen:

Ziel für verteilte Anwendungen ist es, für den Benutzer eine möglichst hohe und vielseitige Transparenz zu erreichen. Der Benutzer
soll denken, er arbeitet mit einem "normalen", zentralen Dateisystem. Hierbei spielen besonders die Ortstransparenz, d.h. der Ort,
an dem sich ein Objekt befindet, ob im Netz oder lokal, ist für den Benutzer uninteressant, die Zugriffstransparenz, d.h. auf alle Objekte wird
in gleicher Weise zugegriffen, und die Nebenläufigkeitstransparenz, d.h. mehrere Benutzer oder Anwendungsprogramme können
gleichzeitig auf gemeinsame Objekte (z.B. Daten) zugreifen ohne sich gegenseitig zu beeinflussen, eine Rolle.
Teilkomponenten der verteilten Anwendung kommunizieren über eine gemeinsame, integrierte Informationsverwaltung, z.B. ein gemeinsames
Dateisystem. Die Informationen können über mehrere Rechner verteilt und repliziert sein. Es sollte keine direkte Kommunikation zwischen
den Teilkomponenten geben, sondern nur über gemeinsame Daten. Das erfordert ein gemeinsames Datenmodell und ein gemeinsames
Verständnis über die Semantik der gespeicherten Informationen. Konkurrierende Zugriffe müssen mittels Synchronisationsmechanismen
koordiniert werden, z.B. Verwendung von Transaktionen (siehe Datenbanken).
Aufbau einer verteilten Anwendung
Integration von Software, welche die Kommunikation zwischen den entfernten Teilkomponenten regelt
=>Verwendung von Stellvertretern für die entfernten Teilkomponenten

- Aufgaben des Client Stub:
-
- Spezifikation der aufgerufenen Prozedur, Zuordnung des Aufrufes zu Zielrechner, Darstellung der Parameter im Übertragungsformat
- dekodieren der Ergebnisse und Übergabe an den Client
- Blockierung des Client aufheben
- Aufgaben der Server Stubs:
-
- dekodieren des Aufrufs und der Parameter, Bestimmung der Aufrufadresse der Prozedur (z.B. mittels einer Tabelle)
- Aufruf der Prozedur
- kodieren der Ergebnisse und Aufrufkennung
Fehler in verteilten Anwendungen
- - Fehler in lokaler Anwendung:
- Behandlung auftretender Fehler
- Ausnahmebehandlung
- keine Behandlung
- - Fehler in verteilter Anwendung:
- Fehler können verursacht werden durch
- Kommunikationsverbindung
- Ausfälle von Maschinen
- fehlerhafte RPC-Schnittstelle
- fehlerhafte Realisierung der Teilkomponenten selbst
- Beispiele:
- Client stürzt ab =>
- Server wartet auf RPC Anforderungen von nicht existentem Client; Server gibt belegte Betriebsmittel nicht frei
- Server stürzt ab =>
- Client kann keine Verbindung zu Server herstellen
© Copyright 1998 André Möller, Oliver Mentz & Magnus Wiencke