Definimos el interface para el objeto remoto usando el "Lenguaje de Definición de Interfaces" del OMG. Utilizamos IDL en lugar del lenguaje Java porque el compilador idltojava mapea automáticamente desde IDL, generando todos los ficheros fuentes del lenguaje Java y el esqueleto, junto con el código de infraestructura para concectar con el ORB. Usando IDL, también hacemos posible que los desarrolladores implementen clientes y servidores en cuqlquier otro lenguaje compatible con CORBA.Note that if you're implementing a client for an existing CORBA service, or a server for an existing client, you would get the IDL interfaces from the implementer--such as a service provider or vendor. You would then run the idltojava compiler over those interfaces and follow the steps for creating the client or server described in this trail.
Cuando ejecutamos el compilador idltojava sobre nuestro fichero de definición de interface, genera la versión Java del interface, así como los ficheros class para las clases y el esqueleto que permiten a las aplicaciones comunicarse con el ORB.
Una vez que hemos ejecutado el compilador idltojava, podemos usar los esqueletos que genera para juntarlos con nuestra aplicación servidor. Además de implementar los métodos del interface remoto, nuestro código servidor incluye un mecanismo para arrancar el ORB y esperar las invocaciones de los clientes remotos.
De forma similar, usamos el código generado por el compilador idltojava como la base para nuestra aplicación cliente. El código del cliente se construye para arrancar su ORB, buscar el servidor usando el nombre de servicio proporcionado con Java IDL, obtener una referencia a un objeto remoto y llamar a sus métodos.
Una vez que hemos implementado un servidor y un cliente, podemos arrancar el servidor d enombres, luego el servidor y por último el cliente.Veremos más detalles de cada uno de estos pasos en El Ejemplo Cliente-Servidor Hello.