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

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

12 Stunden ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

14 Stunden ago

Hacker greifen Zero-Day-Lücke in Windows mit Banking-Trojaner QakBot an

Microsoft bietet seit Anfang der Woche einen Patch für die Lücke. Kaspersky-Forscher gehen davon aus,…

15 Stunden ago

Adobe schließt neun kritische Lücken in Reader und Acrobat

Das jüngste Update bringt insgesamt zwölf Fixes. Schadcode lässt sich unter Umständen ohne Interaktion mit…

22 Stunden ago

Fabrikautomatisierung: Siemens integriert SPS-Ebene

Eine softwarebasierte Workstation soll es Ingenieuren erlauben, sämtliche Steuerungen zentral zu verwalten. Pilotkunde ist Ford.

23 Stunden ago

Ebury-Botnet infiziert 400.000 Linux-Server weltweit

Kryptodiebstahl und finanzieller Gewinn sind laut ESET-Forschungsbericht die vorrangigen neuen Ziele.

1 Tag ago