Last modified: October 19, 2000
XML and CORBA
[October 20, 1999] The alignment between CORBA and XML has been featured in a number of recent articles. Reflecting this relationship, the Object Management Group (OMG) has created a document "CORBA & XML Resource Page" with links to OMG's XML activities and to articles on CORBA/XML. One of OMG's technology submissions is the Utility Data Access Facility Request for Proposal (August 2, 1999); this is a revised RFP which "defines a CORBA interface for querying data that is described in an XML schema language." A more recent initiative is reflected in the OMG XML/Value Request For Proposal (August 27, 1999), which "asks for a standard way to represent XML values (documents) using OMG IDL non-object (value) types." The new resource page also references survey articles, e.g., (1) "CORBA and XML: Conflict or Cooperation," by Andrew Watson and (2) "A Close Look at XML and CORBA Synergies,", by Mark Elenko and Mike Reinerstsen (reprinted from Application Development Trends ). For other description and references to OMG's XML activity (XMI, MOF), see "XML Metadata Interchange Format (XMI) - Object Management Group (OMG)" and "OMG Common Warehouse Metadata Interchange (CWMI) Specification."
[September 20, 2000] An announcement from the Object Management Group summarizes a recent OMG Technical Meeting in which the Platform Technology Committee (PTC) "initiated work on a standard that will integrate the new protocol SOAP with OMG's CORBA architecture. "SOAP (Simple Object Access Protocol) transmits business data expressed in the Extensible Markup Language (XML) over the widely-used web protocol HTTP. In order to take full advantage of this new protocol, enterprises need to integrate it with their existing computing infrastructure. When complete less than a year from now, the new standard will enable this integration by allowing SOAP clients to invoke CORBA servers, and CORBA clients and servers to interoperate using SOAP. Also in the infrastructure arena, the PTC initiated efforts to standardize methods to transmit CORBA network packets through firewalls, and to adapt Real-Time Object Request Brokers to emit alternative protocols needed for, e.g., telecommunications or other Real-Time applications. The PTC also initiated efforts to standardize a mapping from OMG IDL (Interface Definition Language) to WMLscript, a scripting language based on the Wireless Markup Language, and to standardize an activation framework for persistent CORBA servers." The new RFP is published as CORBA/SOAP Interworking Request For Proposal . Reference: OMG Document 'orbos/00-09-07'; submissions due February 5, 2001. "The RFP solicits proposals for (1) support of CORBA semantics over SOAP (2) enabling native SOAP clients to access CORBA services. Description and scope: "CORBA is a widely deployed distributed systems infrastructure that is currently used as an enabling technology for web integration (intranet, internet, and extranet). SOAP (Simple Object Access Protocol) is an evolving specification being developed under the auspices of the W3C. It is anticipated that SOAP will be widely deployed in the future for use in B2B interactions. It is important that there be a seamless integration between the CORBA and SOAP infrastructures which would enable CORBA invocations to be carried using SOAP. The scope of proposals shall be limited to defining a protocol (marshaling format and message exchange state machine) and the limited object model mappings implicit in the mandatory requirements. Mappings between object models, the definition of a 'service description language', and mappings between SOAP infrastructure services and CORBA services, such as Naming, are out of scope of this RFP. Proposals are expected to track and take into account ongoing work within the W3C, e.g., the proposed XML-PC Working Group. [Specifically:] proposals shall: (a) support the full set of IDL types defined in CORBA 2.4; (b) support the semantics of CORBA invocations, including service contexts; (c) use the SOAP extensibility framework (without changing the SOAP protocol) and track ongoing W3C work; (d) define an IOR profile for SOAP; (e) provide an interoperability solution that permits native SOAP clients to make invocations that are processed by CORBA servers; that is, present a SOAP view, (as defined in CORBA 2.4 section 17.2.3) of a CORBA service to a CORBA unaware SOAP client..." See also in connection with this new RFP: (1) the paper Proposed CORBA SOAP RFP , by Jeff Mischkinsky (Persistence Software), and (2) A Discussion Paper: Simple CORBA Object Access Protocol (SCOAP) (with slides). By BEA Systems, Inc., Financial Toolsmiths AB, Hewlett Packard Company, International Business Machines Corporation, Iona Technologies, Inc., Object Oriented Concepts, Inc., Persistence Software, Inc., Rogue Wave Software, Inc., and Sun Microsystems, Inc. Reference: OMG TC Document 'orbos/00-09-03'. 78 pages. Chapter 3, 'IDL-to-XMLSchema Mapping' describes the XML Schema that is used to describe IDL types; Chapter 8, 'Mapping XML Schema Types to IDL' describes how to.map certain XML Schema datatypes to IDL. "This work was undertaken as a 'proof of concept' (to ourselves and others) that there exists at least one reasonable and viable way to integrate CORBA and SOAP. In addition, its purpose is to spark discussions and debate about this and other approaches to the problem space..." See "Simple Object Access Protocol (SOAP)."
[August 28, 2000] A posting from Anders W. Tell (Financial Toolsmiths AB) describes ongoing effort toward adapting SOAP to work with Corba messaging and ObjectModel: "We are hard at work writing the specification, but not ready to release it yet; we should be able to release working documents within a couple of weeks, tops. Otherwise we plan to discuss SOAP 1.1 or XML-PC to OMG Corba integration in the following egroup list:  This group is intended to host development and usage discussions before and after OMG has started its standardization process through the issuing of an RFP and following submissions. The list also may hosts discussions relating to fortcomming W3C's XML-PC activities. I have also created the 'outline' for a FAQ document at . Another idea is to contribute code to Apache XML codebase in order to make it easier to use Corba encodingStyle."
[August 28, 2000] "Object Management Group Readies Standards Upgrades." By Tom Sullivan. In InfoWorld August 24, 2000. "The Object Management Group (OMG) is planning to meet next month to work on the evolution of standards such as CORBA and UML (Unified Modeling Language) standards. Andrew Watson, vice president and technical director of CORBA, said that the lineup of topics includes evaluating submissions for technologies such as a version 2.0 specification of UML. To boost UML, Needham, Mass.-based OMG will focus on language infrastructure, language superstructure, OCL (Object Constraint Language), and UML Diagram Interchange. Another goal of UML 2.0 is to embrace new technologies, such as Java and Jini, Watson said. Watson continued that OMG will start the technical process for enabling CORBA and SOAP (Simple Object Access Protocol) to work together, an effort that will be finished early next year. OMG members also will spend some time focusing on older technologies. Specifically, OMG will review a submission for a language mapping from PL1 to CORBA. . ."
[November 22, 1999] "XML and CORBA." By Dirk Hamstra (Iona Technologies Inc). In Dr. Dobb's Journal Volume 24, Number 11 (November 1999), pages 98-100. "The XML/IT toolkit from CareFlow allows you to automatically tag the results returned from calls to CORBA-based services, and then format them using XML. It also includes utilities that support the conversion of XML-tagged documents to Java structures, and vice versa. In addition to assuming the existence of CORBA-based back-end services, XML/IT assumes the use of interface definition language (IDL) to Java compilers to generate Java stubs and skeletons, and uses CORBA's Dynamic Invocation Interface (DII) standards specification. The main client program routine (DIICall) can be embedded inside other Java-based clients, CGI scripts or Java servlets." See also the code listings.
[September 20, 1999] The Object Management Group (OMG) announces its cross-membership with the Organization for Advancement of Structured Information Standards. The OMG and OASIS Exchange Memberships." - "In a move intended to unite the data representation flexibility of XML and the scalable, robust interoperability, transactional semantics, and enterprise-level security of CORBA, the Object Management Group (OMG) announces a membership exchange with the Organization for the Advancement of Structured Information Standards (OASIS). OASIS has joined the OMG as a Domain Member and the OMG is now a Sponsor Member of OASIS. 'The OMG is integrating XML into the CORBA technical infrastructure, so that new XML-based applications will plug and play with current applications including C, C++, Java, COBOL, Ada as well as future new technologies,' said Richard Soley, chairman of the OMG. 'This Membership exchange provides the OMG with additional access to events in the XML arena.' Laura Walker, executive director of OASIS noted, 'We have a lot in common and much to gain from our affiliation. Both OASIS and the OMG are committed to interoperability through vendor-neutral standards. As a Sponsor Member of OASIS, OMG will bring a valuable perspective to our XML interoperability work. In the same manner, we look forward to contributing our XML expertise to their standardized object software'." See also the announcement from OMG: "Momentum Increases Behind CORBA and XML Integration. The OMG and OASIS Exchange Memberships."
[March 13, 2000] Distributed Object Architectures with CORBA , by Henry Balen. From Cambridge University Press. See the chapter "CORBA and the Internet" - How CORBA fits in with the Internet, and how architectures can extend a CORBA-based system across the Internet, plus new standards of XML and how they apply. Price $39.95, ISBN: 0-521-65418-1.
[June 26, 2000] "Corba & XML - Hit or Myth? By Mark Elenko and David Clarke. In XML-Journal Date? (June 2000). ['Is XML a potential competitor to CORBA? Does it represent CORBA's nemesis? Or is it, on the contrary, too lightweight for use in distributed systems? Much heated debate has centered recently on the question of the possible combination of CORBA and XML.'] Since opinions on the topic diverge widely, in this article we're going to articulate and debunk some of the more common myths that we've encountered in our work as consultants and product developers. In the time-honored style of late-night talk show hosts and corporate executives, we've put together a Top 10 list of myths associated with the integration of CORBA and XML. It's worth noting that a lot of these observations also apply when considering the integration of XML with other distributed component systems, such as EJB.'] "XML Is a Comprehensive Middleware Infrastructure, Like CORBA - This is perhaps the single most prevalent - and insidious - myth about CORBA and XML. CORBA is a fully featured, stateful, quality-of-service-rich distributed runtime environment; XML is a means of describing document structure. XML is about structure; CORBA is about infrastructure. People talk about building their systems on CORBA in a way that's not meaningful for XML. If you have an XML document and want to transport it somewhere, it's necessary to appeal to other distributed techniques such as CORBA (for more detail on transport issues and misconceptions, see Myth #2). The part of CORBA that's most directly comparable with XML is its Interface Definition Language (IDL). This allows interfaces to servers to be specified in an implementation-neutral way. However, CORBA implementations then go further and use this information to provide a complete distributed messaging and runtime environment, complete with naming, security, transaction and persistence services. . ."
[October 20, 1999] "CORBA and XML: Conflict or Cooperation?" By Andrew Watson (Object Management Group). October, 1999. ['The author discusses why XML and middleware are complementary technologies.'] "Although IDL is the most visible aspect of middleware, there's much more to it than that; middleware solutions like CORBA also provide security to authenticate users and control access to resources, error handling to gracefully handle the failures that are inevitable in a distributed computing system, and a host of other support functions to keep computer networks running smoothly. In these sorts of distributed computing applications the data are transient, transferred between computers, often not permanently stored anywhere and probably never seen by human eyes. To use XML as the data encoding in such applications is less efficient that the compact, native machine representations used to marshal data in (for instance) the IIOP wire format used by CORBA implementations. Of course, if the requirement is to store data for the long term and extract human-readable summaries and reports then XML would be the more appropriate medium - but for the data exchanges that tie together the components of a distributed system , using XML would be expensive and pointless. . . XML and middleware are complimentary technologies. XML is intended for the storage and manipulation of text making up humane-readable documents like Web pages, while middleware solutions like CORBA tie together cooperating computer applications exchanging transient data that will probably never be directly read by anyone. Neither of these technologies will replace the other, but instead they will increasingly be used together - not least in the specifications published by OMG, the body responsible for the CORBA specification."
[October 20, 1999] "A Close Look at XML and CORBA Synergies." By Mark Elenko and Mike Reinerstsen (reprinted from Application Development Trends ). "CORBA is the more mature technology, backed by years of available experience and products that have gone through several generations of evolution. In contrast, the eXtensible Markup Language (XML), although derived from the rather venerable Standardized Generalized Markup Language (SGML), is a relative youngster. In fact, many members of the XML family of technologies are still in flux. Despite this, combining CORBA and XML is useful for a variety of reasons. There are a number of synergies between the two technologies for successful distributed object computing. In addition, there are many possible future uses of the two that merit watching by IT organizations. Systems architects will find many ways to combine XML and CORBA. The most immediate uses of XML in CORBA systems are configuration, as a portable document format, design meta data and some in-system application data."
[October 20, 1999] "Does XML Need Corba?" By Rachel Chalmers. In ComputerWire Issue 3754 (September 24, 1999). "With the Object Management Group (OMG) and the Organization for the Advancement of Structured Information Standards (OASIS) now each other's greatest fans and working together to integrate XML with Corba, the only question that remains is whether it should be done at all. Spearheaded by Dave Winer, CEO of UserLand Software Inc, one group has come up with a way to use XML to bypass Corba altogether. They call it XML-RPC (for remote procedure calling). In July 1999, Digital Creations Inc made its Zope content management system interoperable with UserLand's Frontier through XML-RPC. Earlier this week, no less a behemoth than Microsoft Corp threw its weight behind the standard. . . The truth is that both could have their place. 'What it depends on is the trade-off between how fully-featured a solution you want and how much work you're willing to put in,' says Bray. 'If you just need to get something simple and straightforward running in a couple of weeks, that might be a job for XML-RPC.' OMG's VP of technology Andrew Watson is less sanguine about XML-RPC. 'I'm very much in favor of the things XML is trying to achieve and what the XML designers had in mind for XML and this is not one of them,' he states. 'This is not an idea that's got legs. It really is using XML for something it's not designed for.' Like Bray, Watson rests his argument on the fundamental limitations of XML. It doesn't have support for transactions, security, session management or long-term association of client with state at the server end. 'This is really what objects are about,' he says. He concedes that the idea of using human-readable XML to debug a protocol is appealing, 'but I come back to this idea that every problem has a solution that is intuitive, appealing and wrong'." See "CORBA & XML Resource Page" with links to OMG's XML activities.