next up previous contents
Next: 6 Applets Up: 5 Netznutzung in Java Previous: 5.3 Datagramme

5.4 RMI

 

Eine abstraktere Art der Programmierung verteilter netzbasierter Anwendungen bietet die RMI-Schnittstelle von Java. RMI steht für Remote Method Invocation und bietet einen Mechanismus ähnlich dem in CORBA definierten RPC (Remote Procedure Call). RMI ermöglicht im wesentlichen die Programmierung von Java-Anwendungen bestehend aus im Netz verteilten Komponenten. Werden die im Package java.rmi definierten Schnittstellen (siehe Abb. 1) verwendet, können Methoden von Objekten, die auf einem entfernten Rechner im Netz existieren (Server) von einem anderen Rechner aus (Client) aufgerufen werden.

 
Abbildung 1:  Package java.rmi

Im Gegensatz zu den in Abschnitt 5.2 erläuterten Methoden ist bei Verwendung von RMI keine expizite Erzeugung von Sockets notwendig, ein entfernter Methodenaufruf ist einem normalen Methodenaufruf eines lokalen Objektes syntaktisch gleich. Die Kommunikation zwischen Client und Server geschieht dabei mittels Stubs und Skeletons (siehe Abbildung 2).

 
Abbildung 2:  RMI mittels Stubs und Skeletons

Diese können durch einen speziellen RMI-Compiler (rmic) erzeugt werden. Ein entfernter Methodenaufruf eines Client wird durch das Laufzeitsystem weitergereicht an das lokale Stub-Objekt. Dieses Stub-Objekt erzeugt mittels des Socket-Mechanismus eine Verbindung zum Server, auf dem dann die entsprechende Methode des Objektes aufgerufen wird. Mögliche Rückgabewerte gehen den entgegengesetzten Weg zurück zum Client.



Marc Lettrari
Tue Oct 13 11:31:49 MET DST 1998