IMPLEMENTACION DE IDL.pdf

download IMPLEMENTACION DE IDL.pdf

of 3

Transcript of IMPLEMENTACION DE IDL.pdf

  • 7/22/2019 IMPLEMENTACION DE IDL.pdf

    1/3

    IMPLEMENTACION DE IDL.

    Interfaz IDL:

    El primer paso al crear una aplicacin CORBA es especificar todos tusobjetos y tus interfaces usando el la interfaz IDL de OMG.

    IDL tiene sintaxis similar a C++ y puede ser usada al definir modulos,

    interfaces, estructuras de datos y ms.El siguiente cdigo esta escrito en IDL, y descibr un objeto CORBA que

    dice hola (sayHello()), esta operacin regresa una cadena

    y un mtodo que apaga el ORB (shutdown()).

    Hell o.idlmodule HelloApp

    {

    interface Hello

    {string sayHello();

    oneway void shutdown();

    };

    };

    NOTA:Cuando escribimos la interfaz no usamos el mismo nombre delmodulo. Esto puede llevar a obtener resultados inconsistentes

    cuando compilamos con herramientas de diferentes proveedores.

    Programa

    servidor:

    EL ejemplo del servidor consiste de dos clases, el sirviente (servant) y el

    servidor (server). El sirviente, HelloImpl, es la implementacinde la interfaz IDL "hello"; cada instancia Hello e implementada por una

    instancia HelloImpl. El sirviente es una subclase de HelloPOA, que es

    generado por el compilador idlj del ejemplo IDL. El sirviente contiene unmtodo para cada operacin IDL, en este ejemplo, los mtodos

    sayHello()

    y shutdown(). Los mtodos del sirviente son como mtodos ordinarios de

    java.

    La clase HelloServer, en su mtodo main():

    Crea e inicializa una instancia ORB Obtiene una referencia a la raz POA y activa el POAManager Crea una instancia del sirviente y llama al ORB a travs de l Obtiene un objeto CORBA de referencia para llamado contexto

    en que registra el nuevo objeto CORBA

  • 7/22/2019 IMPLEMENTACION DE IDL.pdf

    2/3

    Obtiene la raz del llamado contexo Registra el nuevo objeto en el llamado contexto bajo el nombre

    "Hello"

    Espera para la invoacin del nuevo objeto de el cliente.

    bloPaso 1: Declarar el Mdulo CORBA IDL.

    Un mdulo CORBA es un nombre que acta como contenedor para interfaces y declaraciones

    relacionados. Corresponde casi con un paquete java. Cada sentencia mdulo en un fichero IDL se

    mapea en una sentencia de paquete Java.

    Arrancamos nuestro editor de texto favorito y creamos un fichero llamado Hello.idl. En nuestro fichero, introducimos la sentencia mdulo. module HelloApp { // Add subsequent lines of code here. }; Grabamos el fichero. Cuando ejecutemos idltojavasobre el IDL, esta sentencia generar

    una sentencia de paquete en cdigo Java.

    Paso 2: Declarar el Interface

    Al igual que los interfaces Java, los interfaces CORBA declaran el contrato API que un objeto tiene

    con otros objetos. Cada sentencia interface en el IDL se mapea a una sentencia de interface Java.

    En nuestro fichero Hello.idl, introduce la sentencia de interface.

    module HelloApp {

    interface Hello // Add

    { // these

    // four

    }; // lines.

    };

    Cuando compilamoe el IDL, esta sentencia generar una sentencia interface en cdigo Java.

    Nuestras clases cliente y servidor implemetarn el interface Hello de formas diferente

  • 7/22/2019 IMPLEMENTACION DE IDL.pdf

    3/3

    Paso 3: Declarar las Operaciones

    Las operaciones CORBA son el comportamiento que el servidor promete realizar sobre losclientes que lo invocan. Cada sentencia operacin en el IDL genera su corresponiente

    sentencia mtodo el interface Java generado.

    En nuestro fichero Hello.idl, introducimos la sentencia de operacin. module HelloApp { interface Hello { string sayHello(); // Add this line. }; }; Cmo nuestra peque aplicacin Hello World slo tiene una operacin, Hello.idlya est

    completo.

    Mapear Hello.idl desde IDL a Java

    La herramienta idltojavalee los ficheros OMG IDL y crea los ficheros Java necesarios. Laconfiguracin por defecto de idltojavanecesita un fichero cliente y servidor (como

    hicimos para nuestro programa Hello World), simplemente introducimos el nombre de la

    herramienta y el nombre de nuestro fichero IDL.

    Ir al prompt de la lnea de comandos. Cambiar al directorio donde est nuestro fichero Hello.idl. Introducimos el comando de compilador. idltojava Hello.idl