Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Tutoriales > Plataformas > Linux > Curso práctico de Corba en GNU/Linux
-Tutoriales

Curso práctico de Corba en GNU/Linux


Un ejemplo

Tras cubrir aspectos teóricos de CORBA vamos a afrontar el desarrollo de una aplicación sencilla utilizando CORBA.

Una vez cubierto este primer ejemplo y mostrados los detalles fundamentales del desarrollo con CORBA, inicialmente utilizando el lenguaje Java en cliente y servidor, pasaremos a enfrentarnos a la aplicación que ha sido analizada en anteriores capítulos y que básicamente consiste en implementar un sistema de comunicación para la intranet de una empresa.

. Herramientas necesarias

En esta entrega es necesario que el lector tenga instalado el JDK (Java Development Kit) en su versión 1.1, a ser posible la versión 1.1.7, y debe de tener la implementación de CORBA para Java JavaORB, ya que fundamentalmente lo que vamos a realizar es tomar un ejemplo de esta herramienta y analizarlo con detenimiento.

El JDK 1.1.7 para GNU/Linux el lector lo puede obtener de http://www.blackdown.org, el grupo que mantiene Java en la plataforma GNU/Linux y que ya ha logrado portar la versión JDK 1.2 a GNU/Linux.

La implementación de CORBA 2.2 JavaORB se puede obtener de http://www.multimania.com/dogweb. Tuvimos algunos problemas para bajar esta herramienta de este web así que recomendamos al lector paciencia para obtenerla.

La instalación de JDK 1.1.x a partir del tar.gz obtenida de "blackdown" es muy sencilla, consistiendo básicamente en poner en el PATH el directorio de los binarios de JDK.

La instalación de JavaORB también es muy rápida. Basta con descomprimir el ".zip" mediante la orden unzip <fichero>.zip se creará un directorio donde estará todo el "JavaORB". Con añadir a la variable de entorno "CLASSPATH" el fichero "JavaORBv1_2.jar y al "PATH" el directorio "bin" de JavaORB todo debería de funcionar correctamente. Se puede utilizar JavaORB con JDK 1.2 pero requiere ciertas modificaciones que complican la instalación. El lector interesado puede encontrar dicha documentación dentro del propio "JavaORB" en el fichero "README".

Recordamos al lector que en la anterior entrega se describía con detalle la instalación de estos dos paquetes.

. La IDL del ejemplo

Como ya hemos ido repitiendo a lo largo del curso, el primer paso en todo desarrollo CORBA es llegar a la definición de las interfaces IDL de todos los componentes del sistema.

En nuestro ejemplo el sistema es muy sencillo. Vamos a tener un servidor CORBA que va a actuar como una calculadora. A este servidor accederán los clientes y le pedirán que ejecute operaciones, en concreto las operaciones de "suma" y "division".

El ejemplo se ve complementado con la demostración del uso de excepciones dentro de un sistema CORBA, y de un servicio CORBA fundamental: el servicio de nombres.

A continuación pasamos a mostrar la IDL que vamos a seguir:

// ============================================================
// = Ejemplo de CORBA de JavaORB
// = -------------------------------------------------------- =
// = Una calculadora sencilla                     =
// ============================================================

//
// Descripcion de una excepcion
//
exception DivisionPorCero
{
  float op1;
  float op2;
};

//
// Descripcion de la Interfaz de la calculadora
//
interface Calculator
{
  // operacion de Suma
  float add ( in float nb1, in float nb2 );

  // operacion de Division
  float div ( in float nb1, in float nb2 )
  raises ( DivisionPorCero );
};

Después de la anterior entrega esperamos que el lector no tenga ningún problema en seguir está descripción IDL. En ella hay un sólo interfaz, el Calculator con dos operacion muy sencillas de suma y division.

Quizás la parte más "original" sea el uso de la excepción DivisionPorCero que lanzará el servidor en el caso de que el cliente intente realizar un división por cero. Esta excepción del servidor se propagará hasta el cliente a través de CORBA.

Lo mejor para continuar con el ejemplo es que nos creemos un directorio donde ir guardando los diferentes ficheros. A partir de ahora suponemos que dicho directorio es Ejemplo.

Guardamos dentro de este directorio la interfaz IDL con el nombre Calculator.idl.

Ya contamos en la anterior entrega como se pasaba esta interfaz IDL a los "cabos" y "esqueletos" Java. Esto se lograba gracias al compilador de JavaORB idl2java que se encuentra dentro del directorio bin de JavaORB y que el lector debería de tener ya en el PATH de su entorno.

La orden a ejecutar dentro del directorio Ejemplo es:

idl2java Calculator.idl

Tras ello se nos creará un directorio corba_pkg donde se van a almacenar todas las clases Java que constuyen los "cabos y esqueletos" de CORBA, necesarios para que tanto cliente como servidor se "enchufen" al ORB.

 
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network