[Ace-users] Re: [ciao-users] Corba 2.x --> Corba 3.x interoperability ?

Douglas C. Schmidt schmidt at dre.vanderbilt.edu
Tue Aug 28 09:55:38 CDT 2007


Hi Alessio,

   I don't think we have any experience using Orbit2, so you may need to either
contact those folks for help or switch to TAO.

thanks,

Doug

> I tried to do what suggested, but either I haven't yet found the way out of the maze, or something does not work as
> expected.
> 
> I've used Orbit2 as Corba 2.4 implementation, and I would like just to generate client stubs for a CCM Hello component.
> 
> Assuming this is the Hello component equivalent interface:
> 
> // -------------------------------------------------------------
> // Hello.idl
> interface Hello : Components::CCMObject {
>     void sayHello();
> };
> // --------------------------------------------------------------
> 
> assuming I have to add the directive #include <Components.idl> (CIAO's Components.idl file) at the top of the equivalent
> generated file, and assuming my Hello.idl file is (for simplicity)
> in the same directory of Components.idl, running the Orbit2 IDL compiler I have errors 
> (increasing the debugging level there is no helpful output).
> 
> I tried the same example with no success also positioning my Hello.idl file in Mico CCM distrubution, replacing the #
> include <Components.idl> with #include <CCM.idl>  (because it's called like that in Mico CCM).
> 
> Any suggestions? Sorry if my question seems obvious.
> 
> Regards,
> Alessio Pace.
> 
> On 8/27/07, William R. Otte <wotte at dre.vanderbilt.edu> wrote:
> 
>     Hi Alessio -
>    
>     On Aug 27, 2007, at 3:41 PM, Alessio Pace wrote:
>     >
>     > I'm pretty new to Corba and I would like to know if/how I can write a
>     > Corba 2.x client (so, component *unaware*) which calls a dumb
>     > interface method of a Corba 3.x component.
>     >
>    
>     Yes, this is possible, I have done it before, using the non-CCM aware
>     OmiOrb Python to communicate with CIAO components.
>    
>     > Theoretically, one having the equivalent IDL 2.x, could pass them to
>     > the client, and let it generate stubs/skeletons and write user code
>     > which would get a registered
>     >
>    
>     Exactly.
>    
>     > But, my questions are the following:
>     > 1) how am I supposed to, from a non CCM capable Corba implementation,
>     > generate stubs/skeletons for interfaces whose parent types are
>     > Components::CCMObject??
>    
>     You will need to generate stubs for Components.idl in your non-ccm
>     aware CORBA implementation.  This file just has vanilla CORBA 2.x
>     interfaces, so your not ccm aware ORB should have no trouble
>     generating code.
>    
>     >
>     > 2) what about all the "local" interface for component<-->container
>     > calls??
>    
>     You shouldn't have to worry about these on the non-ccm aware side,
>     they are for the interaction between the component executor and the
>     component servant.  You, as a client, call the external interface
>     (actually implemented in the servant), and the servant turns around
>     in invokes the executor (implementation, derived from the local
>     interface). I suggest you use a tool such as tao_idl3_to_idl2 (found
>     in CIAO_ROOT/tools/IDL3_to_IDL2) to generate these equivalent
>     interfaces, as it won't also generate the executor IDL (the local
>     interfaces).
>    
>     >
>     > 3) component homes: what about them also??
>     >
>    
>     I am not quite sure I understand your question..... component homes
>     have their own IDL3->IDL2 mapping..... do you have a more specific
>     question?
>    
>     hth,
>     /-Will
>    
>     _______________________________________________
>     ciao-users mailing list
>     ciao-users at mail.cse.wustl.edu
>     http://mail.cse.wustl.edu/mailman/listinfo/ciao-users
> 
> --
> Alessio Pace.
> 
> _______________________________________________
> ciao-users mailing list
> ciao-users at mail.cse.wustl.edu
> http://mail.cse.wustl.edu/mailman/listinfo/ciao-users



More information about the Ace-users mailing list