[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


> 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  

> 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  


More information about the Ace-users mailing list