XML Europe 2002 logo

XML in a Distributed World: Exposing DOM/Groves Through CORBA

Abstract

Heterogeneous network distribution is as inevitable a fact of the enterprise environment today as XML is in the management of enterprise information.

In order to utilize the full potential of XML and provide for maximum flexibility, we must be able to access XML information in a fashion that is independent of how system components are distributed across networks, operating systems used, and programming languages. This is exactly what CORBA provides, but not without a price. Remote procedure calls are inherently expensive, network bandwidth is not free, and the difficulty of implementing a standard that has mappings to every major programming language can be complex. The use of XML data in such a distributed system adds the additional complication of providing efficient access to highly granular XML structures, such as DOM or grove nodes as well as providing appropriate feedback from server to client about XML processing, such as validation.

This paper presents our approach to using CORBA to expose XML information in a manner that provides a consistent, language-independent interface for programmers while providing full flexibility in determining the granularity and consistency of the information as accessed. The system we have developed allows for access across a spectrum of granularity vs. transmission efficiency, from direct access to individual nodes to bulk transmission of entire trees. The system also provides robust mechanisms for exposing XML processing information (e.g., error and status messages) to clients.

The paper begins with the problems inherent in distributed processing, especially with CORBA, the different ways that using XML in a distributed system exhibits those problems, how we have addressed those problems using the aforementioned interface implemented using the Python CORBA bindings, and the problems that have yet to be completely solved (primarily the flexibility and robustness provided at the cost of some API complexity).

Keywords

»CORBA, »Distributed, »DOM, »Groves, »Python, »XML.

The full paper was not available at the time the proceedings were created. Please check the conference web site, http://www.xmleurope.com, to find an updated version of this paper.

Biography

Joshua is a formally trained mathematician who has been working with computers and thinking deep thoughts for many years. He has extensive experience addressing content mangement problems in a highly versioned/linked problem domain and dealing with the complexities that arise. When addressing any challenges, his goals are to surmount them using a solid extensible architecture and implement any solutions using test-driven development and whatever tools are appropriate. His toolset includes UML, CORBA, Pattern Based Design, XML/SGML, Java, C++, and Python among others.

Eliot is a long-time contributor to the XML and SGML community, with over 15 years of experience in industrial-strength generic markup applications. He is a founding member of the XML Working Group, a co-editor of the HyTime standard (ISO 10744), and co-editor of the Standard Music Description Language draft standard (ISO 10743). For the last 9 years (the last 6 with ISOGEN International) Eliot has worked as an information systems consultant specializing in developing standards-based systems for managing documents with a focus on technical documentation and publishing systems. Eliot speaks and writes frequently on XML and related subjects. Eliot is a devoted husband and dog owner who enjoys snowboarding and body boarding on those rare occasions when he finds himself at the coast or in the mountains.