Verteilte Services mit dem Java RMI-Framework


Das Java RMI-Framework (Remote Method Invocation) ermöglicht die virtuelle Erstellung transparenter verteilter Services und Anwendungen. RMI-basierte Anwendungen bestehen aus Java-Objekten, die gegenseitig ihre Methoden aufrufen, egal wo sie sich befinden. Dies ermöglicht einem Java-Objekt den Aufruf von Methoden eines anderen Java-Objekts, das sich auf einer anderen virtuellen Maschine befindet, in derselben Weise, wie Methoden eines Java-Objekts aufgerufen werden, das sich auf derselben virtuellen Maschine befindet.

Schnittstellen

Jedes entfernte Objekt muss exportiert werden, so dass es für eingehende entfernte Methodenaufrufe zur Verfügung steht. Entfernte Objekte können manuell exportiert werden, indem man die Methode java.rmi.server.UnicastRemoteObject.exportObject oder die Methode java.rmi.activation.Activatable.exportObject vom entfernten Objekt aus aufruft. Entfernte Objekte werden automatisch bei der Erzeugung exportiert, wenn sie entweder java.rmi.server.UnicastRemoteObject oder java.rmi.activation.Activatable erweitern.

Für jedes entfernte Objekt muss ein Konstruktor definiert werden, der eine java.rmi.RemoteException auslöst, da der Exportvorgang schließlich auch fehlschlagen kann. Listing A zeigt eine gültige Implementierung für die Schnittstelle des entfernten Objekts TimeKeeper.

Die RMI-Registry

RMI definiert ein Repository des entfernten Objekts, auch als RMI-Registry bekannt. Eine RMI-Registry ist ein einfacher Nameserver, der Referenzen zu entfernten Objekten verwaltet und diese anderen RMI-Servern zur Verfügung stellt.

Auf UNIX-basierten Systemen dient der folgende Befehl zum Starten der RMI-Registry:

Auf Windows-Systemen kann man für das Starten der RMI-Registry einen der beiden folgenden Befehle verwenden:

Standardmäßig läuft die RMI-Registry auf Port 1099. Man kann einen anderen Port zuweisen, indem man die Port-Nummer beim Starten der Registry angibt. So startet z. B. der folgende Befehl die Registry auf einem Windows-System auf Port 3000:

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Microsoft nennt weitere Details zu kostenpflichtigen Patches für Windows 10

Erstmals liegen Preise für Verbraucher vor. Sie zahlen weniger als Geschäftskunden. Dafür beschränkt Microsoft den…

8 Stunden ago

Microsoft verschiebt erneut Copilot Recall

Die Entwickler arbeiten noch an weiteren „Verfeinerungen“. Windows Insider erhalten nun wohl eine erste Vorschau…

1 Tag ago

GenKI im Job: Mitarbeitende schaffen Tatsachen

Laut Bitkom-Umfrage werden in jedem dritten Unternehmen in Deutschland private KI-Zugänge genutzt. Tendenz steigend.

1 Tag ago

97 Prozent der Großunternehmen melden Cyber-Vorfälle

2023 erlitten neun von zehn Unternehmen in der DACH-Region Umsatzverluste und Kurseinbrüche in Folge von…

1 Tag ago

„Pacific Rim“-Report: riesiges, gegnerisches Angriffs-Ökosystem

Der Report „Pacific Rim“ von Sophos beschreibt Katz-und-Maus-Spiel aus Angriffs- und Verteidigungsoperationen mit staatlich unterstützten…

1 Tag ago

DeepL setzt erstmals auf NVIDIA DGX SuperPOD mit DGX GB200-Systemen

NVIDIA DGX SuperPOD soll voraussichtlich Mitte 2025 in Betrieb genommen und für Forschungsberechnungen genutzt werden.

1 Tag ago