Remote Method Invocation (RMI)
Einführung in RMI
Einführung in RMI
Set of flashcards Details
Flashcards | 8 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 15.11.2016 / 15.11.2016 |
Licencing | Not defined |
Weblink |
https://card2brain.ch/box/remote_method_invocation_rmi
|
Embed |
<iframe src="https://card2brain.ch/box/remote_method_invocation_rmi/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Was passiert grob bei RMI?
Aufruf einer Methode eines entfernten Java-Objekts, realisiert die Java-eigene Art des Remote Procedure Call
Objekt kann sich in einer anderen Java Virtual Machine befinden, die ihrerseits auf einem entfernten Rechner oder auf dem lokalen Rechner laufen kann
Was sind Stub und Skeleton?
Stub: (client-seitiger) Stellvertreter für das entfernte Objekt beim RMI-Server
Skeleton: (server-seitiger) Stellvertreter für das aufrufende Objekt
Was ist RMI Registry?
- Namensdienst auf dem Server
- Adresse des Servers und Bezeichner (RMI-URL) werden bei erster Verbindungsaufnahme benötigt --> RMI liefert für Bezeichner eine Referenz auf das entfernte Objekt zurück; entferntes Objekt im Server muss zuvor unter diesem Namen beim Namensdienst registriert sein
Wie heißen die drei wichtigsten Komponenten beim RMI?
- Remote Interface
- Remote Object
- Remote Reference
Was ist Remote Interface?
beschreibt Funktionen, die auf dem Server zur Verfügung stehen
definiert das Verhalten des entfernten Objekts (ohne dieses zu implementieren)
Was ist Remote Object?
stellt das entfernte Objekt dar
liegt auf dem Server
implementiert das Remote Interface und das Verhalten der für die Clients zur Verfügung stehenden entfernten Methoden
vom Server können eine oder mehrere Instanzen des Remote-Objekts erstellt werden
muss von UnicastRemoteObject abgeleitet sein und einen parameterlosen Konstruktor haben, denn dieser ruft nur den Konstruktor von UncicastRemoteObject auf und könnte sonst eine Remote Exception auslösen
jede Methode muss eine RemoteException deklarieren, auch der parametrelose Konstruktor
Was ist Remote Reference?
Referenz auf Remote Objects
Clients bekommen Remote Reference von der RMI Registry
Wie ist der Ablauf bei RMI?
Server registriert Remote Object bei der RMI-Registry unter einem eindeutigen Namen
Client sieht bei der RMI-Registry unter diesem Namen nach und bekommt eine Objektreferenz, die seinem Remote Interface entsprechen muss
Client ruft Methode aus der Objektreferenz auf; dabei kann ein Objekt der Klasse X übergeben werden, die der JVM des Servers bisher nicht bekannt ist Server-JVM lädt Klasse X dynamisch nach (z.B. Webserver des Client)
die Server-JVM führt Methode auf dem Remote Object aus, wobei evtl. dynamisch geladener Fremdcode benutzt wird (z.B. Methoden von X), der im Allgemeinen Sicherheitsrestriktionen unterliegt; Client werden die Rückgabewerte dieses Aufrufs gesendet oder er bekommt eine Fehlermeldung (z.B. bei einem Verbindungsabbruch)