|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
XML Protocols Corba & XML - Hit or Myth?
Corba & XML - Hit or Myth?
By: David Clarke; Mark Elenko
Apr. 12, 2000 12:00 AM
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.
Myth #1: XML Is a Comprehensive Middleware Infrastructure, Like CORBA
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. XML essentially stops at the interface description level, although it does provide a structured and extensible way of describing the payload. Provision of runtime quality of service is left as an exercise for the system integrator. This is good: XML has a clear design objective and meets it. However, it's important to understand that in order to be part of a fully functional distributed system, XML needs to be combined with real middleware like CORBA.
Myth #2: XML Has a Widely used Transport Mechanism that "Does
Messaging" and Can Be Used to Integrate With CORBA Each of these offerings effectively specifies a set of marshaling rules for streaming XML documents across some transport. This transport is usually HTTP, although SMTP is an interesting alternative, leveraging as it does the asynchronous, persistent qualities of the mail system. The problem with any attempt to allow invocations on CORBA systems using XML documents is that some convention is required for encoding CORBA types, references and requests in the XML document that represents the invocation. In effect, what's needed is a DTD for the CORBA protocol, IIOP. Luckily, given the flexibility of XML, it's relatively straightforward to embed CORBA invocation and object information in a suitably structured XML document. Product tools that employ language and code-generation technology are becoming available to automate the process of creating XML documents that map onto CORBA servers and invocations, thus streamlining the process of invoking on CORBA servers from XML-aware environments.
Myth #3: Because It's Text, and Comes in Units of Documents, XML Is Too Inefficient to Use in Real Distributed Systems In any case, efficiency is a relative notion, not an absolute one. The performance of current XML technology implementations has already proved to be perfectly acceptable in many real applications. As the technology matures, XML processing components will be optimized and current research on compression schemes and fragment streams will begin to bear fruit.
Myth #4: XML Is More Suitable for MOM-based Architectures Than for ORB-based Ones XML can be used for messages on CORBA event channels, as data passed into and out of CORBA operations, or as RPC invocations and responses in Web-CORBA gateways. XML also has great potential value for bridging technology domains, and may be an ideal way to tie CORBA and MOM systems together via a common message format.
Myth #5: XSLT Is Powerful Enough to Make Arbitrary EAI-style Transformations and Thus Negates the Need for Business Logic in the CORBA Layer For example, one of the authors of this article has used XSLT to convert XML files into IDL (having originally generated the XML from IDL files). This is useful, but wouldn't be suitable if your document processing and transformation required, for example, an operation like "double the value in this data field if today is Thursday."
Myth #6: XML Offers No Advantages Over Anys or Structs XML can be passed to clients with a great degree of client control using client-pull streaming, whereas structs must be passed at once in their entirety. Both Anys and XML (treated as strings or octets) are opaque from the perspective of the IDL in that they conceal typing and semantics. Unlike Anys, however, XML structures are of course fully articulated in XML (possibly via DTDs/schemas). These gains aside, once data is in XML all the XML advantages of data interchange, presentation flexibility and usage of off-the-shelf components and tools can be leveraged. Beyond this issue, last summer the OMG issued an RFP for representing XML values in IDL - as mentioned in Myth #10, below.
Myth #7: Integrating CORBA With Other Systems Via XML Is Complex and Requires Specialist Knowledge of CORBA IDL and Implementations A combination of an XML schema or DTD for IIOP, generation of XML from IDL and runtime technology to map between the two makes it possible for Web users to access CORBA servers while having no knowledge whatever of the CORBA programming paradigm. This is good news for all concerned: the constituency of programmers who can access CORBA servers is greatly increased, while the Web jockeys can access and manipulate real back-end business logic without the overhead of learning new programming paradigms.
Myth #8: Exposing Systems Via XML Is Much Easier Than Exposing Them Via IDL Interfaces Aside from this, neither IDL nor XML has any programmatic value in isolation; both must be supported by plumbing implementations. XML by itself is just data definition, requiring much additional processing programming. Last, an either/or approach is misplaced - there's a lot of value in having IDL interfaces with XML data, as discussed elsewhere in this article.
Myth #9: When Every Significant Packaged Software System Supports XML, the Need for Integration Infrastructure Like CORBA Will Vanish It seems to us that the effect of this is twofold. For one thing, it erodes the value of "traditional" EAI players like Mercator and NEON, whose value today largely derives from their intimate knowledge of proprietary data formats - inter-XML document transformation in the pure XML world can be largely handled by XSLT. And for another, the increased prevalence of "XML interfaces" to systems will lessen the interface integration challenge and refocus the problem onto the underlying middleware - for which CORBA remains the premier choice.
Myth #10: The OMG Is Not XML-friendly XMI provides a way to move UML models between design tools and repositories and is an exemplary use of XML for exchanging data between systems. Currently, much effort is being put into the XML/Value RFP process. The goal of this is to standardize a way of defining XML documents in IDL, thus incorporating XML directly into IDL. The RFP was issued last summer and initial submissions have been made by several groups of companies. To foster such endeavors, OMG works with and has ties to XML-oriented organizations such as OASIS and the W3C itself. In sum, OMG has in fact committed itself to leveraging XML to further enrich and advance CORBA and other OMG standards.
Conclusion We feel that XML and CORBA are truly complementary technologies. CORBA provides the top middleware infrastructure with an evolved object model, robust and scalable features and services, and a mature product market. To this XML adds a standard portable structured information format and off-the-shelf components and tools. XML can be used to interoperate with CORBA systems via XML RPC mechanisms or XML data exchange. Having CORBA systems accept and emit XML yields great flexibility in data structure evolution, increased portability of data and good mechanisms for data presentation and transformation. Using XML allows CORBA developers to leverage the ever-growing array of XML-based and XML-compliant products instead of constructing one-off proprietary solutions. Transcending all myths entirely, combining XML and CORBA is a realistically valuable proposition today. Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week
Breaking Cloud Computing News
|
|||||||||||||||||||||||||||||||||||||||||||||||||