0% encontró este documento útil (0 votos)
146 vistas4 páginas

Ejemplo de Suma en CORBA con Java

Este documento describe un ejemplo sencillo de CORBA que almacena 10 números en un vector y calcula la suma de los números pares y la suma de los números impares. Se crea un IDL, un cliente, y un servidor. El cliente introduce 10 números, y el servidor devuelve la suma de los pares y la suma de los impares almacenados en el vector.

Cargado por

Ezequiel Soto
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
146 vistas4 páginas

Ejemplo de Suma en CORBA con Java

Este documento describe un ejemplo sencillo de CORBA que almacena 10 números en un vector y calcula la suma de los números pares y la suma de los números impares. Se crea un IDL, un cliente, y un servidor. El cliente introduce 10 números, y el servidor devuelve la suma de los pares y la suma de los impares almacenados en el vector.

Cargado por

Ezequiel Soto
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Ejemplo Sencillo en Corba

Este es un ejemplo sencillo en CORBA, el cual almacena 10 valores en un vector y realiza la suma de los valores impares y la suma de los valores pares. Primeramente tenemos que crear un IDL, en un blog de notas colocamos el siguiente cdigo y lo guardamos como MiProg.idl. module MiProg { typedef sequence num; interface Tarea5 { longsumapar (in num nums); long sumaimp (in num nums); }; }; Lo compilamos de la siguiente manera en simbolo del sistema, nos vamos a la ruta donde guardamos el archivo y colocamos: idlj -fall MiProg.idl Generar una carpeta con el nombre MiProg y tendra varios archivos. El siguiente paso es crear el Cliente, colocamos el siguiente cdigo y lo guardamos de la siguiente manera: import MiProg.*; import org.omg.CosNaming.*; import org.omg.CORBA.*; import java.io.*; public class Cliente { public static void main(String args[]) throws IOException { try { ORB orb = ORB.init(args, null);

org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); NamingContext ncRef = NamingContextHelper.narrow(objRef); NameComponent nc = new NameComponent("Servidor", " "); NameComponent path[] = {nc}; Tarea5 sRef = Tarea5Helper.narrow(ncRef.resolve(path)); int num[] = new int[10]; BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in)); for (int i = 0; i<10; i++) { System.out.println("Teclea un numero"); num[i]= Integer.parseInt(entrada.readLine()); } System.out.println("La suma de los numeros pares: " + sRef.sumapar(num)); System.out.println("La suma de los numeros pares: " + sRef.sumaimp(num)); } catch(Exception e) { System.out.println("Error: " + e); e.printStackTrace(System.out); } } } Para compilarlo solo ponemos el siguiente cdigo: javac Cliente.java Ahora crearemos el servidor: y lo guardarremos como Servidor.java import MiProg.*; import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; import org.omg.PortableServer.*; import org.omg.PortableServer.POA; import java.util.Properties; public class Servidor { public static void main(String args[]) { try { ORB orb = ORB.init(args, null); POA rootpoa = (POA)orb.resolve_initial_references("RootPOA");

rootpoa.the_POAManager().activate(); Siervo svRef = new Siervo(); svRef.setORB(orb); org.omg.CORBA.Object ref = rootpoa.servant_to_reference(svRef); Tarea5 sRef = Tarea5Helper.narrow(ref); org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); NamingContext ncRef = NamingContextHelper.narrow(objRef); NameComponent nc = new NameComponent("Servidor", " "); NameComponent path[]={nc}; ncRef.rebind(path, sRef); System.out.println("Servidor preparado y esperando peticiones..."); orb.run(); } catch(Exception e) { System.err.println("Error: " + e); e.printStackTrace(System.out); } } } class Siervo extends Tarea5POA { private ORB orb; public void setORB(ORB orb_val) { orb = orb_val; } public int sumapar(int [] nums) { int sum = 0; for(int i = 0; i<10; i++) { if (nums[i]%2==0) sum = sum + nums[i]; } return sum; }

public int sumaimp(int [] nums) { int sum = 0; for(int i = 0; i<10; i++) { if (nums[i]%2!=0) sum = sum + nums[i]; } return sum; } } Lo compilamos como Servidor.java de la siguiente manera: javac Servidor.java Ahora para correrlo seguimos los siguientes codigos en simbolo del sistema: orbd -ORBInitialPort 1050 -ORBInitialHost localhosts En otra ventana: java Servidor -ORBInitialPort 1050 -ORBInitialHost localhosts En otra ventana: java Cliente -ORBInitialPort 1050 -ORBInitialHost localhosts

También podría gustarte