I'm on a project using CORBA to read the data of objects that could be implemented in C++ or Java but conform to the same IDL. The pros are the idlj compiler and all the necessary code came free with Java. The con seems to be that I hear quite a bit that CORBA is old and not the latest and greatest. But I haven't heard names for anything that is better. Is there?
There's loads of ways to do inter-process communication. Off the top of my head here's a few.
However, before you switch you need to ask yourself
Removing CORBA (or any protocol/stack/library) because you heard that there was something better, shinier, cooler out there isn't a good idea.
Removing them because they're causing you specific problems, or because the new thing allows you to do something specific that can't be done with the existing tech is a good reason to switch.