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.