I just returned home from my 4th OMG meeting in a row, this one in Orlando (combined with a Disney vacation with the family, all of us except for our 20 year old son who is currently following Phish around half the US on their final tour). I say "in a row" because prior to the first of these four -- in London last November -- I hadn't attended an OMG meeting since February 1998 in Salt Lake City.
Why am I attending these meetings all of a sudden? First, to try to get my CORBA reflection work standardized, and second, to try to get an OMG RFP issued for a CORBA binding for WSDL. At this just-completed Orlando OMG meeting, I gave presentations on what should be the final drafts of each of these works. Both presentations went well, and the OMG MARS task force seems ready to vote their approval. At the next meeting in Montreal in August, I hope to present the final version of each work to the MARS task force, and also to the OMG Architecture Board to obtain their approval as well.
I believe CORBA reflection/introspection is important because it allows CORBA applications to play well with others, especially web service applications. Unfortunately most CORBA applications are devoid of runtime metadata discovery capabilities, since CORBA historically has limited such capabilities to the Interface Repository (IFR) service, and few real-world applications use the IFR. Ironically, every CORBA object possesses complete knowledge of its interface(s), types, operations, etc., and yet the information is completely invisible to users of the object. CORBA reflection, which is based on an ordinary IDL interface and can be completely code-generated by an IDL compiler, allows a CORBA object to answer queries about its interface at runtime. It's quite simple, really.
CORBA bindings for WSDL are important for allowing existing deployed CORBA applications to continue to work, untouched and without bridges or gateways, in a web services world. They allow a CORBA object interface to be described in the logical part of the WSDL description, and allow the object's communication mechanisms to be described in a binding as part of the physical part of the WSDL description. Communications with the object therefore go over whatever protocols and transports the object's interoperable object reference (IOR) specifies (typically IIOP). Our experiences with our customers using this capability, already provided by our Artix product, show that while not all CORBA objects can be redefined in WSDL, many CORBA objects in practice are quite compatible with WSDL, and the redefinition effort for these is well worth it.

Comments (1)
Nice work, Steve! It is time more people began to appreciate and make use of all the good CORBA features that tend to be overlooked, because the media are always in pursuit of "the next big thing".
Ironically, Microsoft has its more efficient "twin" to Web services, in the shape of .NET Remoting. For several years, this was a mystery to the outside world, as nothing at all was written about it. Perhaps to avoid muddying the water, and confusing people who were being told that "XML Web Services" were all they needed?
By all means use SOAP where it is the best solution. But also, use CORBA where it has advantages.
Posted by Tom Welsh | June 28, 2004 7:06 AM
Posted on June 28, 2004 07:06