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

William R. Otte wotte at dre.vanderbilt.edu
Mon Aug 27 16:49:18 CDT 2007


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



More information about the Ace-users mailing list