Premium Partner

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?

  1. Server registriert Remote Object bei der RMI-Registry unter einem eindeutigen Namen

  2. Client sieht bei der RMI-Registry unter diesem Namen nach und bekommt eine Objektreferenz, die seinem Remote Interface entsprechen muss

  3. 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)

  4. 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)