Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Corba - Java - Investigacion
Corba - Java - Investigacion
CORBA EN JAVA
Integrantes:
Arancibia Zurita Angela Nataly
Barrientos Salazar Abel
Camacho Dorado Francisco Javier
Choque Polo Alexander
Diaz Valda Edward
Construcción de una aplicación CORBA
Descripción de la aplicación
// ClienteRemoto.idl
module ClienteRemoto{
interface ClienteRem
{
string Saludar(in string nombre);
};
};
Compilación de la interfaz
ClienteRemoto.idl
_ClienteRemStub
ClienteRemPOA
ClienteRemHolder ClienteRem
ClienteRemHelper ClienteRemOperations
Código generado por el compilador IDL:
ClienteRem.java y ClienteRemOperations.java
package ClienteRemoto;
package ClienteRemoto;
{
public String Saludar (String nombre) {
// ..
} // Saludar
// Type-specific CORBA::Object operations
private static String[] __ids = {
"IDL:ClienteRemoto/ClienteRem:1.0«
};
Código generado por el compilador IDL:
_ClienteRemStub.java (2)
public String[] _ids () {
return (String[])__ids.clone ();
}
El Cliente puede ser una clase Java con método main() o un applet.
En general un Cliente realiza las siguientes funciones:
1) Inicializar el ORB
2) Obtener la referencia a un objeto CORBA que implemente la
interfaz deseada (en este ejemplo, ClienteRem)
Usando el método string_to_object()
import org.omg.CORBA.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
public class Cliente {
public static void main(String args[]) {
try{
ORB orb = ORB.init(args,null);
// obtener una referencia a NameService
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
// las siguientes lineas nos permiten obtener una ref a un objeto remoto
NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
Cliente.java (2)
Para compilar el cliente el CLASSPATH tiene que indicar dónde encontrar las
clases del ORB y las generadas por el compilador de IDL
> javac Cliente.java
Implementación del servidor