19.2.4 | RMI und CORBA |
Beim Erzeugen der Proxy-Objekte mit dem RMI-Compiler kann man definieren, welches Transportprotokoll für die Kommunikation zwischen Client und Server eingesetzt werden soll. Per Voreinstellung wird das RMI-native Wire Protocol verwendet. Durch Angabe der Option -iiop werden jedoch Proxy-Objekte erzeugt, die IIOP zur Kommunikation einsetzen. Bei der Generierung ist allerdings zu beachten, dass rmic nicht den vollqualifizierten Namen der Server-Implementierung erwartet, sondern den Namen der Server-Schnittstelle. Im Folgenden wird ein gültiger Aufruf am Beispiel der Hello-World-Anwendung gezeigt:rmic -iiop de.dpunkt.rmi.hello.HelloServerMit derart generierten Proxy-Objekten ist prinzipiell Portabilität und Integrierbarkeit zu herkömmlichen CORBA-Anwendungen gegeben.
Durch Angabe
der Option -idl kann man sich die Server-Schnittstelle in IDL generieren lassen. Die
IDL-Schnittstelle kann als Schnittstelle für die Integration in andere Sprachen
benutzt werden. Dies entspricht somit einer Übersetzung der RMI-Server-Schnittstelle
in die Schnittstellen-Sprache von CORBA. Folgende Zeilen zeigen
die mit der Option -idl generierte IDL der einfachen »Hello World«-Anwendung:
module de {
module dpunkt {
module rmi {
module hello {
interface HelloServer {
::CORBA::WStringValue sayHello( );
};
};
};
};
};
Auch hier wird bei der Generierung der Name der Schnittstelle und nicht
der implementierenden Klasse als Parameter übergeben.