Java and C++ interoperability
1 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   Anonymous
Posted On:   Wednesday, June 29, 2005 10:09 AM

I recently started a project that will include my first experience with CORBA. In familiarizing myself with the standard, I reached a small stumbling block regarding CORBA's general architecture. Can two applications of differing development languages interoperate on the same orb? For example, can a C++ application communicate with a Java app on the same orb using only IDL interfaces? Or, on the other hand, do you have to have a C++ orb for all C++ apps and a Java orb for all Java apps? Then allowing these remote apps to communicate between orbs using IIOP? Any help would be GREATLY appreciated! Matt    More>>

I recently started a project that will include my first experience with CORBA.



In familiarizing myself with the standard, I reached a small stumbling block regarding CORBA's general architecture.



Can two applications of differing development languages interoperate on the same orb?
For example, can a C++ application communicate with a Java app on the same orb using only IDL interfaces?



Or, on the other hand, do you have to have a C++ orb for all C++ apps and a Java orb for all Java apps?
Then allowing these remote apps to communicate between orbs using IIOP?



Any help would be GREATLY appreciated!



Matt

   <<Less

Re: Java and C++ interoperability

Posted By:   Anonymous  
Posted On:   Friday, July 1, 2005 11:27 AM

Can two applications of differing development languages interoperate on the same orb?
For example, can a C++ application communicate with a Java app on the same orb using only IDL interfaces?


Good question. I seem to recall reading on comp.object.corba that it is possible, but not recommended. It's certainly possible for C++ to C++, see the echo colocated client and servant example from the omniORB doc, and since omniORBpy (Python implementation of CORBA) works with the C++ version, there might be a way since you can generate the client side definitions in Python and server side skeletons in C++.


In fact, with CORBA, you could even avoid using IDL (see page 32), but you'd need a good reason. I think this highlights the flexibility of CORBA.


Anyway, your latter idea is usually best way to go. See the java docs has a good diagram.

Doug Schmidt has much more detail, see Fig 10 on page 11 in that document. So in the previous figures, when you see "ORB core" this is what they mean.

For general questions like this, comp.object.corba is a great resource, with many gurus (Steve Vinoski, Douglas Schmidt, Michi Henning, Ciaran McHale, etc):

About | Sitemap | Contact