tags:

views:

1337

answers:

4

I have a client-server application written in Java using CORBA for the communication. The ORB used is orbd, the one provided by the Java6 platform. I have to replace the Java server implementation with another one written in C++. So the question is, of the free source implementations of CORBA libraries, which one better interoperates with this ORB? Should I replace the Java ORB and also use the ORB provided by the C++ library?

The objective is to have an easy and smooth transition when replacing an already functioning server with the new C++ implementation. Is there anything else that I should take into account?

+4  A: 

It's a long time I didn't use CORBA for Java and C++ interoperability, so maybe my answer will be a bit outdated.

What I found to work very well together was omniORB (C++) and JacORB (Java). You may search for those libraries on google and see if they are still supported.

I also remember I have had big problems with "native" Java CORBA (there are many bugs in Sun Bugs Parade, open for many years...) but that was at JDK1.4 time, hopefully things are a bit better now...

jfpoilpret
I agree with that pairing, at least it used to work for me too :)
Mike Houston
A: 

I have some Java clients that push/pull a lot of data into C++ servers that are written in Mico. Never have any issues with them.

We are using Visibroker as well for its load balancing features but will be getting rid of that soon.

Fortyrunner
A: 

C++

Have you looked at the ACE/TAO ORB.
http://www.cs.wustl.edu/~schmidt/TAO.html

ACE is basically an OS abstraction Layer.
And TAO is a CORBA ORB build on-top of this abstraction so it is cross platform.

Java

The Java version of TAO is ZEN:
http://www.zen.uci.edu/

Though technically your ORBs do not need to be the same. As long as the conform to the CORBA protocol/specification they should be interoperable. So though you can use ZEN it is just as easy to use JacORB.

Martin York
+1  A: 

TAO is definitely the most commercially used Open Source C++ ORB. It works very well with JacORB as a Java ORB, but you can use the JDK ORB, too. If the software currently works with the JDK ORB there is no reason why it would not work with TAO. If you encounter any Problems you can drop in replace the JDK ORB with JacORB.

Oh and about the previous post the ZEN Java ORB is dead and is no longer developed. For Java you should use JacORB if the JDK ORB is not good enough for what you do.

If you need commercial support it's available too. We use Remedy (http://www.theaceorb.nl/en/acetao.html) for our support needs (both TAO and JacORB).

lothar