Of the existing answers, this becomes an almost religious topic. You can look at CORBA in the same way as semi-empty / semi-filled glass: on the one hand, CORBA dates from an inherited circle, and on the other hand, it is relatively stable with several available implementations and “damn you know”.
In my work, I see that CORBA is deployed in embedded systems, real-time systems (CORBA has RT extensions) and the like. There are not many AFAIK alternatives.
Another “advantage” of CORBA is the availability of several high-quality open source implementations, such as TAO, MICO, JacORB, etc., with various licensing and support models. Commercial editions are also available.
As for the “majority” of CORBA applications deployed in Java, this is not the case in my experience. Although language mapping for CORBA in Java is one of the most enjoyable (which may not be much), Java already has a very good distributed computing model that offers richness outside of CORBA, and all Java applications use it more than CORBA. The vast majority of CORBA developments I've seen are in C ++ (which is also the worst language mapping).
Finally, CORBA offers standard asynchronous client-side calls in the form of AMI, but has never offered asynchronous server-side processing. TAO offers a custom server implementation called AMH.
Chris Cleeland Aug 05 '09 at 15:52 2009-08-05 15:52
source share