Corba Con Java E IDL Programación

Páginas: 9 (2076 palabras) Publicado: 12 de octubre de 2015
5/10/2015

Corba con Java e IDL – Programación

(http://www.programacion.com.py)
Inicio (http://www.programacion.com.py) » Escritorio (http://www.programacion.com.py/categoria/escritorio) »
Java (http://www.programacion.com.py/categoria/escritorio/java-escritorio) » Corba con Java e IDL

Corba con Java e IDL
Rodrigo Paszniuk (http://www.programacion.com.py/author/raps) | 2014-05-25 | No haycomentarios »
(http://www.programacion.com.py/escritorio/java-escritorio/corba-con-java-e-idl#respond)

0
Common Object Request Broker Architecture (CORBA) es un estándar definido por Object Management
Group (OMG) que permite que diversos componentes de software escritos en múltiples lenguajes de
programación y que corren en diferentes computadoras, puedan trabajar juntos; es decir, facilita eldesarrollo de
aplicaciones distribuidas en entornos heterogéneos.
IDL es un lenguaje de definición de interfaces que utiliza CORBA, el cual le permitirá definir las interfaces para los
servicios que ofrecerá, de estas interfaces parten las implementaciones de la parte servidor y cliente en cualquiera
de los diversos lenguajes que implementan CORBA (Ada, C, C++, Smalltalk, Java, Python, Perl). Comenzamos con la implementación (El ejemplo es para realizar una suma): 
PASO 1: Preparar la aplicación 
Crear una carpeta donde prefieran para trabajar las clases dentro de ella.
PASO 2: Definir la interfaz IDL 

http://www.programacion.com.py/escritorio/java­escritorio/corba­con­java­e­idl

1/11

5/10/2015

Corba con Java e IDL – Programación

ya dentro de la carpeta crearemos un archivo llamadoSuma.idl con cualquier editor de texto:
 module sumaApp{
 interface suma{ 
 long sumar(in long primernumero, in long segundonumero);
 oneway void shutdown();
 }; 
 };

Esta definición es parecida a la definición que se hace con RPC (con xdr), lo que se hace es definir los métodos que
se van a utilizan.
PASO 3: Generar las clases CORBA 
Para generar las clases corba utilizaremos el compilador deinterfaces que viene con el sdk de java se llama idlj, al
ejecutar esta aplicación en conjunto con la definición suma.idl creara para nosotros todas las clases necesarias para
poder utilizarla. El procedimiento es como sigue: 

idlj -fall suma.idl (ejecutar dentro de la carpeta de la aplicación)
Esto generara la carpeta sumaApp y dentro de ella las clases _SumaStub.java, Suma.java, SumaHelper.java,SumaHolder.java, SumaOperations.java, SumaPOA.java

* Si no les reconoce el idlj tendrán que agregar el sdk de java al path del sistema operativo que tengan.
Solo queda escribir la clase cliente y la clase servidor dentro de carpeta de la aplicación
PASO 4: La clase servidor: SumaServer.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

import sumaApp.*;import org.omg.CosNaming.*;
import org.omg.CORBA.*;
import org.omg.PortableServer.*;
import org.omg.PortableServer.POA;
 
 class SumaImpl extends sumaPOA{
 private ORB orb;
 public void setORB(ORB orb_val){
 orb=orb_val;
 }
 
 public int sumar(int primernumero, int segundonumero){
 return primernumero+segundonumero;
 }
 
 public void shutdown(){
 orb.shutdown(false);
 }
 }
 
 public class SumaServer {
  public static void main(String args[]){
 try{
 ORB orb= ORB.init(args,null);

27

 POA rootpoa=POAHelper.narrow(orb.resolve_initial_references("RootPOA"));

http://www.programacion.com.py/escritorio/java­escritorio/corba­con­java­e­idl

2/11

5/10/2015

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

Corba con Java e IDL – Programación POA rootpoa=POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
 rootpoa.the_POAManager().activate();
 
 SumaImpl sumaImpl=new SumaImpl();
 sumaImpl.setORB(orb);
 
 org.omg.CORBA.Object ref=rootpoa.servant_to_reference(sumaImpl);
 suma href=sumaHelper.narrow(ref);
 org.omg.CORBA.Object objRef=orb.resolve_initial_references("NameService");
 NamingContextExt ncRef=NamingContextExtHelper.narrow(objRef);
 
 String name="Suma";...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Declaración de interfaces en corba usando idl
  • Programacion Java
  • Programacion java
  • programacion java
  • Programacion Java
  • Programacion en java
  • programacion java
  • programacion en java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS