1 / 9

Ejemplo CORBA: Java IDL

Ejemplo CORBA: Java IDL. Java IDL (I): introducción. Añade capacidades de CORBA a la plataforma Java. Se utiliza IDL (Interface Definition Language) para la definición las interfaces a los objetos CORBA. Características de los objetos CORBA: Pueden estar en cualquier sitio de la red.

jodie
Télécharger la présentation

Ejemplo CORBA: Java IDL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ejemplo CORBA: Java IDL

  2. Java IDL (I): introducción • Añade capacidades de CORBA a la plataforma Java. • Se utiliza IDL (Interface Definition Language) para la definición las interfaces a los objetos CORBA. • Características de los objetos CORBA: • Pueden estar en cualquier sitio de la red. • Pueden interoperar con objetos en otras plataformas. • Pueden escribirse en cualquier lenguaje de programación que tenga un mapeo de OMG IDL (Java, C++, C, Smalltalk, COBOL, Ada). Sistemas Distribuidos - Nebrija - Justo Hidalgo

  3. Java IDL (II): qué es JavaIDL • Es un Object Request Broker • CORBA/IIOP 2.0 Specification. • IDL-to-Java Language Mapping. • CORBAServices: Common Object Services Specification (naming service). • No interface repository. Sistemas Distribuidos - Nebrija - Justo Hidalgo

  4. Java IDL (III): más introducción • El cliente no conoce: • La localización del objeto. • Detalles de la implementación del objeto. • Qué ORB se utiliza para localizar el objeto. • IDL compiler: • Transforma el IDL en un lenguaje de programación concreto (Java en este caso). • Genera client stubs y server skeletons. Sistemas Distribuidos - Nebrija - Justo Hidalgo

  5. Java IDL (IV): IDL • Declara un conjunto de métodos públicos (operaciones), atributos y excepciones. Cada operación se identifica mediante una firma que contiene el nombre, parámetros, valor de retorno y excepciones que “levanta” (raises). • module HelloApp { • interface Hello { • string sayHello(); • }; • }; Sistemas Distribuidos - Nebrija - Justo Hidalgo

  6. Java IDL (V): ejemplo (i) • Definición de la interfaz (visto antes). • Compilación: • idlj -fall<fichero.idl> • Resultado: • Fich.java: versión Java del IDL. • FichImplBase.java: skeleton. • FichStub.java: stub. • FichHelper: funcionalidad auxiliar: p.e. narrow() • FichHolder: operaciones CORBA que no mapean bien a la semántica Java. Sistemas Distribuidos - Nebrija - Justo Hidalgo

  7. Java IDL (VI): ejemplo (ii) • Implementación del servidor • Servant: implementación de la interfaz IDL. Subclase de FichImplBase • Server: método main: • Crea la instancia ORB. • Crea un sirviente, y se lo dice al ORB. • Obtiene una CORBA Object Reference de un contexto de nombrado. • Registra el objeto CORBA en el s. De nombrado. • Espera invocaciones. Sistemas Distribuidos - Nebrija - Justo Hidalgo

  8. Java IDL (VII): ejemplo (iii) • Implementación del cliente • Crear un ORB. • Obtener una referencia al contexto de nombrado. • Buscar el objeto CORBA deseado en el contexto, recibiendo una referencia. • Invocar el objeto. Sistemas Distribuidos - Nebrija - Justo Hidalgo

  9. Java IDL (VIII): compilación y ejecución • Interfaz: idlj –fall Hello.idl • Compilar los ficheros Java: • javac *.java HelloApp\*.java • Arrancar el servidor de nombrado: • tnameserv –ORBInitialPort <port> • Arrancar el servidor: • java HelloServer –ORBInitialPort <port> • Arrancar el cliente: • Java HelloClient –ORBInitialPort <port> Sistemas Distribuidos - Nebrija - Justo Hidalgo

More Related