CORBA/IIOP - the "new" link for RIAs? It should take off in the next years ...again.
CORBA / IIOP is somehow negatively associated. This is caused probably by too many ambitious and mostly inefficient "enterprise" projects several years ago. CORBA was no only used as a protocol, but was extended to specific domains (domain facilities) and components (CORBA Component Model). Because of the mistakes in the past, many developers associate CORBA with inefficiency. The effect: IIOP almost completely disappeared from the enterprise space (it was even "forgotten" in the EJB 3.0 spec) and re-appeared in ...embedded projects. CORBA is really popular in the embedded area because of its efficiency (:-)) and interoperability.
In my last three projects, we relied on CORBA, as a co-accident:
- We had to optimize SOAP and got rid of it :-). We used .net-iiop instead (a great opensource framework). We could increase the performance significantly.
- We used IIOP as a lightweight and portable (appserver-independent) callback mechanism. In this case we replaced JMS with CORBA.
- XA-transactions mostly rely on OTS (object transaction service), and so CORBA...
- EJB 2 used RMI-IIOP as default communication-mechanism. It worked really well - they were no problems, at least not in the communication layer :-)
IIOP can be really efficient and easy to develop and to use. The IDL definition is somehow tedious, but it could be easily replaced with annotated interfaces (this is actually a great idea for an open source project :-)). Then we could introduce a new acronym: POCO - it would stand for Plain Old Corba Object :-)
IIOP would be (actually is) a great extension for the "Consumer JRE" and so for desktop applications.
You're right. However the only thing I would want to see here is a strong IDE tooling for CORBA on par with, say, the kind of tooling offered to build web services. So far I always have found getting a distributed system using CORBA up and running a bunch more difficult than, say, setting up a glassfish/tomcat based SOAP / web-services environment...
Posted by kawazu on April 08, 2008 at 10:32 AM CEST #
thanks for your comment!
This is the advent of POCOs :-)...
Running CORBA is really not that complicated, perhaps I should post some code...
Posted by Adam Bien on April 08, 2008 at 11:14 AM CEST #
> Running CORBA is really not that complicated,
> perhaps I should post some code...
You definitely should. I am just at the beginning of a mobile app development (Java ME) and need to communicate with a JBoss app server. This might provide some insight, because I would never have thought of CORBA here.
Posted by Daniel Schneller on April 08, 2008 at 02:45 PM CEST #
Well, it always irritated my how CORBA was left and forgotten in favor of SOAP. SOAP got the hype and reinvented the whole wheel what CORBA was offering ten years ago. In the middle of this reinvention SOAP got fat and clumsy. The standardization of it is still not complete. I'm thinking of JAX-WS, JAX-RPC arrays, security, etc.
I could not imagine where we could be now with enterprise technology if we didn't spend a decade on SOAP technology...
Posted by Laszlo Kishalmi on April 08, 2008 at 03:11 PM CEST #
"OMG IDL to Java Language Mapping" needs at last an update for Java 5 (generics and co.)
 see http://www.omg.org/technology/documents/formal/omg_idl_to_java_language_mapping.htm
Posted by Bernd Dutkowski on April 17, 2008 at 06:18 PM CEST #
absolutely - but it should be possible to achieve. It works with EJB 3 as well :-).
Thanks for your comment,
Posted by Adam Bien on April 17, 2008 at 11:14 PM CEST #
"IDL to Java 5 Mapping"
Posted by Bernd Dutkowski on January 13, 2009 at 05:11 PM CET #