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

Google stopft schwerwiegende Sicherheitslöcher in Chrome 124

Zwei Use-after-free-Bugs stecken in Picture In Picture und der WebGPU-Implementierung Dawn. Betroffen sind Chrome für…

1 Tag ago

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

1 Tag ago

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

1 Tag ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

2 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

2 Tagen ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

3 Tagen ago