Remote-Methodenaufruf (RMI) ist ein Mechanismus, der es einem Clientobjekt in einem Prozess ermöglicht, Methoden auf einem Serverobjekt in einem anderen Prozess im gesamten Netzwerk aufzurufen. Die Client- und Serverobjekte kommunizieren über ein Protokoll namens
Java Remote Method Protocol (JRMP) .
So funktioniert RMI in verteilten Systemen:
1. Stub-Generierung: Der RMI-Compiler generiert auf der Clientseite eine Stub-Klasse, die als Proxy für das Remote-Objekt fungiert. Die Stub-Klasse enthält dieselben Methoden wie die Remote-Schnittstelle.
2. Remote-Objektregistrierung: Das Serverobjekt registriert sich selbst bei einer Registrierung, einem Dienst, der eine Zuordnung von Objektnamen zu Objektreferenzen verwaltet.
3. Client-Aufruf: Wenn das Client-Objekt eine Methode auf der Remote-Schnittstelle aufruft, wird der Aufruf vom Stub abgefangen. Der Stub sendet dann eine Anfrage an die Registrierung und fragt nach der Referenz des Remote-Objekts.
4. Aufruf der Servermethode: Sobald die Registrierung die Referenz bereitstellt, verwendet der Stub diese, um den Methodenaufruf an den Server zu senden. Der Server empfängt den Aufruf und führt die Methode auf dem tatsächlichen Remote-Objekt aus.
5. Antwortverarbeitung: Der Server sendet das Ergebnis des Methodenaufrufs zurück an den Stub, der das Ergebnis dann an das Client-Objekt zurückgibt.
RMI ist ein weit verbreiteter Mechanismus zum Erstellen verteilter Anwendungen in Java. Es bietet eine plattformunabhängige und sprachneutrale Möglichkeit, Methoden für Objekte aufzurufen, die sich möglicherweise auf verschiedenen Computern oder in verschiedenen Prozessen befinden.