2 - Java Remote Method Invocation [ID:30691]
50 von 184 angezeigt

Hallo zusammen, in diesem Video werfen wir einen genaueren Blick auf den Aufbau und die

Verwendung von Java RMI.

Das Kürzel RMI steht dabei für Remote Method Invocation und verrät bereits, worum es geht.

Und zwar darum, Methoden in der Ferne aufzurufen.

Also beispielsweise die Methode eines Objekts, das auf einem anderen Rechner existiert.

Ähnlich wie bei einem regulären Methodenaufruf, bei dem man eine Referenz auf ein Objekt

benötigt, um dort Methoden aufzurufen, gibt es mit der Remote-Referenz ein verteiltes

Gegenstück.

Die Remote-Referenz lässt sich dabei weitestgehend transparent wie ein lokales Objekt verwenden,

zeigt aber tatsächlich auf ein Objekt auf einem anderen Rechner.

Als erstes schauen wir uns genauer an, aus welchen Bestandteilen Java RMI besteht.

Dazu beginnen wir mit der untersten Schicht, der Transportschicht.

Diese dient dazu, Daten bzw. Objekte zwischen einzelnen Rechnern zu übertragen.

Standardmäßig wird dazu eine TCP-Verbindung genutzt.

Grundsätzlich wären aber auch andere Transportmechanismen wie HTTP oder UDP mit oder ohne Verschließung

möglich.

Die Schicht oben drüber, die Referenzschicht, ist zuständig für die Verwaltung der Remote-Referenzen.

Für einen Methodenaufruf bestimmt die Referenzschicht auf kleinen Seiten, zu welchem Server ein

Aufruf muss und gibt diese am Server zum richtigen Objekt weiter.

Dabei verwaltet die Referenzschicht die Information, welche Objekte existieren und ob diese noch

genutzt werden.

Bei einem viel geschlagenen Aufruf wird zudem die Strategie zur Fehlerbehandlung bestimmt,

also beispielsweise ob Aufrufe erneut gesendet werden oder direkt ein Fehler zurückgegeben

wird.

Darauf kommen wir in einer späteren Übungsaufgabe nochmal zurück.

Der Stub dient auf kleinen Seiten als Platzhalter für das entfernte Objekt, sodass man das

darüber ganz normal verwenden kann.

Der Skeleton führt dann auf Serverseite den eigentlichen Aufruf am Objekt durch.

Etwas genauer betrachtet passiert Folgendes.

Bei einem Methodenaufruf holt sich der Stub von der Referenzschicht einen Objektausgabestrom

und schreibt die Parameter des Methodenaufrufs in diesen.

Anschließend weist der Stub die Referenzschicht an, die Methode aufzurufen.

Auf Serverseite erhält der Skeleton daraufhin einen Objektausgabestrom von der Referenzschicht

und liest die Parameter des Methodenaufrufs aus dem Strom.

Anschließend ruft der Skeleton die Methode am echten Objekt auf.

Für den Rückgabewert des Methodenaufrufs nutzt der Skeleton wieder einen Ausgabestrom

der Referenzschicht, um das Ergebnis zurück zum Stub zu schicken.

Letzterer holt ein Objektausgabestrom von der Referenzschicht, liest das Rückgabeobjekt

und gibt es an den Aufrufer zurück.

Damit ein Objekt aus der Ferne genutzt werden kann, muss es zuerst exportiert und dadurch

in ein Remote-Objekt umgewandelt werden.

Erst danach ist es aus einem anderen Java-Prozess heraus erreichbar.

Das hat den großen Vorteil, dass der Zugriff auf Objekte über das Netzwerk erst dann

möglich ist, nachdem sie exportiert wurden.

Die tatsächlich exportierten Methoden eines Remote-Objekts in Java-RMI sind durch dessen

Remote-Schnittstelle vorgegeben.

Diese bestimmt, welche Methoden des Remote-Objekts per Fernaufruf nutzbar sind und welche dann

auch vom Stub angeboten werden.

Damit Java weiß, dass es sich bei einer Schnittstelle um eine Remote-Schnittstelle handelt, muss

diese von der Schnittstelle Java-RMI Remote erben.

Teil einer Videoserie :
Teil eines Kapitels:
Java RMI

Presenters

Michael Eischer Michael Eischer

Zugänglich über

Offener Zugang

Dauer

00:12:39 Min

Aufnahmedatum

2021-04-09

Hochgeladen am

2021-04-19 14:40:15

Sprache

de-DE

Erläuterung des Aufbaus und der Verwendung von Java Remote Method Invocation (RMI)

Einbetten
Wordpress FAU Plugin
iFrame
Teilen