Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Corba Java
Corba Java
Indice
1. Introduccion
1
2. Primeros pasos
2.1. Fichero IDL . .
2.2. Cliente . . . . .
2.3. Implementacion
2.4. El servidor . .
. .
. .
del
. .
. . . . .
. . . . .
servant
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3. Ejecucion
1.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
2
3
5
6
Introduccion
Este documento explica los primeros pasos para usar CORBA desde Java. Primero se
describe un ejemplo sencillo y luego se ofrece un cliente Java para el servidor visto en
C++. Con cualquier JDK se pueden realizar los ejemplos propuestos.
2.
Primeros pasos
2.1.
Fichero IDL
module prueba
{
interf ac e Calcul ador a
{
doubl e add ( in doubl e x , in doubl e y) ;
doubl e sub strac t ( in double x , in double y ) ;
doubl e multiply ( in doubl e x , in doubl e y) ;
};
11
};
Las funciones son las normales de una calculadora, como se puede ver.
Para generar los stubs y skeletons, hay que ejecutar el compilador de IDL. Lo ejecutamos con la opcion -fall , para que genere tanto los stubs como los skeletons:
$ idlj -fall Calculadora.idl
Esto genera los ficheros de stub y skeleton dentro del subdirectorio prueba :
$ ls prueba -C1
CalculadoraHelper.java
CalculadoraHolder.java
Calculadora.java
CalculadoraOperations.java
CalculadoraPOA.java
_CalculadoraStub.java
2.2.
Cliente
10
12
14
16
18
20
22
24
28
} catch ( E xceptio n e ) {
e . p ri nt S t ac kTra c e () ;
}
30
32
}
}
34
2.3.
Para implementar un objeto CORBA, esto es, para ofrecer sus servicios al mundo, se
tienen que implementar dos cosas:
El servant que contiene la implementacion de los metodos del interfaz que se
ofrece al exterior,
y un servidor, que quedara esperando conexiones en un puerto IP.
El servant es simplemente un objeto del lenguaje de programacion (en este caso
Java) que implementa la funcionalidad de los metodos del objeto CORBA. Este
servant es llamado por el skeleton cuando un cliente llama a un metodo del objeto
CORBA imple- mentado por ese servant. El codigo del servant es el que se muestra a
continuacion. Se ha implementado las funciones de la calculadora en el fichero
CalculadoraImpl.java:
package pru eb a ;
2
public Ca lc u la d or a Imp l ()
{
memory _ = 0;
10
12
14
16
18
20
22
24
26
28
try {
30
result = x / y ;
} catch ( E xceptio n e )
{
}
32
34
return resul t ;
36
38
40
42
44
46
48
2.4.
El servidor
En cualquier aplicacion CORBA debe existir un servidor que quede esperando las
peticiones sobre los objetos CORBA implementados por el (servants). El servidor es un
programa Java normal que dejara activado un servant para el objeto CORBA.
1
package pru eb a ;
import org . omg . CORBA .*;
impor t org . omg . Po rta b le S e rv e r .*;
11
13
15
// Inicia r el ORB
org . omg . CORBA . ORB orb = org . omg . CORBA . ORB . init ( args , null );
// Objeto auxil i a r
org . omg . CORBA . Object o ;
17
19
21
23
25
29
31
33
35
37
39
41
43
} catch ( E xceptio n e )
{
e . p ri nt S t ac kTra c e () ;
45
47
}
49
3.
Ejecucion
Una tpica ejecucion del programa podra ser la siguiente:
$ java prueba.Cliente
5.0