Corba

Solo disponible en BuenasTareas
  • Páginas : 5 (1137 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de noviembre de 2010
Leer documento completo
Vista previa del texto
CORBA con Java IDL
© Francisco Charte Ojeda

Sumario
! "

Introducción
! ! # $ % ! % + $ " ' ( % % ! + ' ( " " ' ( / # ! " ' ( " ! % ! ! + $ $ ! % ! $ $ ! ! ! ) ! # # . ! % # ' ( ! ! & ) ! ,' $ " $ ' ( % # * " ,'

' ( !

El compilador idltojava
# ) & ) $ ! ' ( % " idltojava + " # ' ( % # 0 0 ) , ! " # ' ( 7 8 $ 2 ' ( ! :7 0 0 # # % 3/, ! $ $ 4 ' idltojava ( 5 % # 6 –fno-cpp idltojava$ 9 1 2 CPP "CPPARGS " ) " $ # # % 1 ) ! 2 % 2 ! . ' ( ! " % * . % " +

# )

+

0 " 0 # ) $ ' (

6

# ! ! # ) # "

"

idltojava -fno-cpp Consulta.idl ! %

#

#

module SvrConsultas { interface IConsulta { string Consulta(in string Parametros); }; };

' ( SvrConsultas # * 6 # ) # $

+ ! SvrConsulas + " %

!

:! " % . 8 % 6

La interfaz del servidor
& # : ! 6 % #
/** File: * From: * Date: * By: 16:25:34 */

' ( 6 ! SvrConsultas

6 + 6 %

# ) idltojava IConsulta.Java # #

#

./SVRCONSULTAS/ICONSULTA.JAVA CONSULTA.IDL Wed Feb 24 19:07:42 1999 C:\ARCHIV~1\IDLTOJ~1\IDLTOJ~1.EXE Java IDL 1.2 Aug 18 1998

package SvrConsultas; public interface IConsulta extends org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { String Consulta(String Parametros); }

IConsulta.Java +

idltojava SvrConsultas * " . ! ) 6 IConsulta * * # ' ( IConsulta # " ' " ( # $

' SvrConsultas % ( ! 6 IConsulta $ * # ' ! % ( string % String ! ! ! 6 6 $ 5 % "! ! % ) 7 org.omg.CORBA.Object 6! " ) 6 % $ 6 ! org.omg.CORBA.portable.IDLEntity * 6 ) ! # /

' (

$

El esqueleto de servidor
! * ) " % _IConsultaImplBase.Java _IConsultaImplBaseorg.omg.CORBA.DynamicImplementation SvrConsultas.IConsulta 7 6 $ # * '( % # ( % ! ! 6 ! $ ;

/* * File: ./SVRCONSULTAS/_ICONSULTAIMPLBASE.JAVA * From: CONSULTA.IDL * Date: Wed Feb 24 19:07:42 1999 * By: C:\ARCHIV~1\IDLTOJ~1\IDLTOJ~1.EXE Java IDL 1.2 Aug 18 1998 16:25:34 */ package SvrConsultas; public abstract class _IConsultaImplBase extends org.omg.CORBA.DynamicImplementation implements SvrConsultas.IConsulta { //Constructor public _IConsultaImplBase() { super(); } // Type strings for this class and its superclases private static final String _type_ids[] = { "IDL:SvrConsultas/IConsulta:1.0" }; public String[] _ids() { return (String[]) _type_ids.clone(); } private static java.util.Dictionary _methods = new java.util.Hashtable(); static { _methods.put("Consulta", new java.lang.Integer(0)); } // DSI Dispatchcall public void invoke(org.omg.CORBA.ServerRequest r) { switch (((java.lang.Integer) _methods.get( r.op_name())).intValue()) { case 0: // SvrConsultas.IConsulta.Consulta { org.omg.CORBA.NVList _list = _orb().create_list(0); org.omg.CORBA.Any _Parametros = _orb().create_any(); _Parametros.type(org.omg.CORBA.ORB.init ().get_primitive_tc(org.omg.CORBA.TCKind.tk_string));_list.add_value("Parametros", _Parametros, org.omg.CORBA.ARG_IN.value); r.params(_list); String Parametros; Parametros = _Parametros.extract_string(); String ___result; ___result = this.Consulta(Parametros); org.omg.CORBA.Any __result = _orb().create_any(); __result.insert_string(___result); r.result(__result); } break; default: throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); } } }Listado 3. Archivo _IConsultaImplBase.Java generado por idltojava

+

! !

! * * 6 $ _IConsultaImplBase ) ! $ ) $ + " # * ( % . _IConsultaImplBase 5 * ! % % * ! % + + * " * " Consulta() $ ! ! 6 * . 6 * 6IConsulta ! * _ids() 6IConsulta

_IConsultaImplBase ) ! $ # "

&

! 6 $

* invoke() IConsulta ! $ ! # ;+

% _IConsultaImplBase ! $

El stub para el cliente
& ' ) ! !_IConsultaStub * + # 6' IConsulta ( < ! )
= >

! $ # # # # * 6 IConsulta $ * $ " ) * ) 2

) $ ! ! % # ! )

!

$ !

! $ 6 idltojava _IConsultaStub.Java

7 !

" Consulta() ! % " ! # ! + ! % $ ) Consulta() $ (

6

# * 6 org.omg.CORBA.Request " ! * ) " 2 * # ?# : $

< # Consulta()

invoke()

! ! % ) " $

! ! $ *

%

6 $ )

"

/* * File: ./SVRCONSULTAS/_ICONSULTASTUB.JAVA *...
tracking img