VS_05_RMI

  1. 3 Merkmale entfernte Objektverweise
    • Entfernte Methodenaufrufe mit Parametern
    • Bezeichner für entfernte Objektinstanz
    • Nachricht muss eindeutigen Verweis auf Objektinstanzangeben, die Methode aufrufen soll
  2. 3 Einschränkungen entfernter Objekte
    • Kapselung erzwungen: Zugriff auf Zustand nur über Methoden
    • Factory-Klassen mit Factory-Methoden erforderlich: Keine Verwendung des Konstruktors in entfernten Objektschnittstellen möglich
    • Zusätzlicher Fehlertypus: RemoteException
  3. 4 Merkmale von Java RMI
    • Integraler Bestandteil der Java Plattformen
    • Client und Serverobjekte immer in Java
    • Client benötigt Objektreferenz von Serverobjekt
    • Verwendet Sicherheitsmodell der Java Plattform
  4. 3 Merkmale der Serialisierung bei Java RMI
    • Abflachung eines oder mehrerer verknüpfter Objekte zueinem seriellen Format zur Übertragung oder Speicherung
    • Serialisierbare Klassen implementieren das Interface Serializable
    • Voraussetzung: deserialisierender Prozess benötigt kein Vorwissen über Typen der Objekte in serialisiertem Format
  5. 4 Schritte der Funktionsweise der statischen Klasse Naming
    • Stellt dem Server statische Hilfsmethoden zur Verfügung
    • Unter anderem Methoden zum Anmelden von Serverobjekte am Namensdienst, der RMI Registry
    • Zur Anmeldung wird eine eindeutige Objektreferenz des Serverobjekts im Namensdienst bekanntgegeben
    • Die Objektreferenz enthält die genaue Adresse des Objekts
  6. 3 Merkmale Java RMI Client
    • Verschafft sich über die statische Methode lookup() der Klasse Naming bei der RMI-Registry die Objektreferenz vom Namensdienst zur Kontaktierung des Serverobjekts
    • Die Referenz ist Grundlage für die Generierung eines Proxy-Objekts (RMI Proxy Pattern)
    • Über den Proxy können alle Methoden des Serverobjekts angesprochen werden
  7. 5 Merkmale Java RMI Registry
    • Aufgabe der RMI-Registry ist die Bereitstellung von Referenzen auf Serviceobjekte
    • Die RMI Umgebung generiert bei der Anmeldung eines Serviceobjekts an der RMI-Registry eine Objektreferenz mit Ortsbeschreibung zur Lokalisierung des Serviceobjekts
    • Objektreferenzen werden unter einem kennzeichnenden Namen an der Registry angemeldet
    • Client holt über den Namen die Objektreferenz von der Registry und kann damit auf das Serviceobjekt zugreifen
    • Registry läuft als Hintergrundprozess
  8. 6 Merkmale von Java RMI Callbacks
    • Client erzeugt entferntes (Callback-)Objekt, dass Schnittstelle mit Methode zum Aufruf durch den Server implementiert
    • Server stellt Operation bereit, die interessierten Clients erlaubt, Objektreferenzen der Callback-Objekte zu informieren
    • Server speichert Liste der Objektreferenzen
    • Bei Ereigniseintritt ruft der Server alle interessierten Clients auf
    • Server performanceintensiv
    • Standardmäßig nicht echtzeitfähig
  9. 4 Merkmale Java RMI Objektaktivierung
    • In großen Systemen mit Tausenden von Objekten ist es unrealistisch, immer alle Objekte im Speicher aktiv zu haben
    • Mit Hilfe des Java-Aktivierungsmechanismus können Objekte persistent gemacht und erst bei Bedarf wieder instanziiert werden
    • Dieses Objektmanagement wird durch den Dämon rmid realisiert
    • Jini basiert sehr weitgehend auf diesem Aktivierungsmechanismus
  10. 5 Merkmale des persistenten Objektspeichers bei Java RMI
    • Persistente Objekte existieren zwischen Prozessaktivierungen garantiert weiter
    • Menge verwandter persistenter Objekte erreichbar über gemeinsame Wurzel
    • Verwaltung der Wurzeln und Garbage Collection über nicht mehr von einer Wurzel erreichbare Objekte
    • Klassen für Persistenz mit Unterstützung für Transaktionen zum Speichern und für Wiederherstellung
    • Caching möglich, aber nur unter Verwendung eines Cache-Konsistenz-Protokolls
  11. 6 Merkmale Java RMI Sicherheitsmodell
    • Das Sicherheitsmodell der Java Plattform wird auch Sandbox Modell genannt
    • Nicht vertrauenswürdiger Code (Untrusted Code) darf nur ingeschützten Speicherbereichen ablaufen und erhält lediglich Zugriff auf lokale Ressourcen
    • Findet die Laufzeitumgebung eine Klassendefinition nicht lokal vor, wird sie über das Netz nachgeladen
    • Heruntergeladene Klassen werden als untrusted Code betrachtet
    • Entfernte Aufrufe werden ebenfalls als nicht vertrauenswürdig betrachtet
    • Installation eines Security Managers auf Client und Serverseite
  12. 5 Punkte der Basisimplementierung von Java RMI
    • Seit Java 1.2: Verwendung von Reflection
    • Nutzung der Java-Klasse Method
    • Eine Instanz der Klasse Method pro aufrufbarer Methode einer von Remote erbenden Klasse
    • Aufrufbar mit der Methode invoke()
    • Transparente Anlage des Dispatchers
Author
Anonymous
ID
77224
Card Set
VS_05_RMI
Description
Skript 5 Verteilte Systeme: RMI
Updated