Jump to content

Distributed SDO

Distributed SDO provides an extremely efficient, standards-based architecture for sharing XML documents between applications on different computers without reparsing.

High Performance Data Streaming

XML has revolutionized the software industry. Software applications have needed to exchange data between applications running on different computers for decades. Until the introduction and widespread adoption of XML, there was no universal industry standard for representing messaging data. Some of the strengths of XML that have led to its popularity include interoperability, simplicity, openness, extensibility, and self-description.

XML has a few real and perceived disadvantages, however, with issues ranging from parsing performance and verboseness leading to large XML documents to lack of appropriate developer skills and security standards.

The most common perceived issue of XML is parsing performance. The core problem is the time required to read through an incoming XML document and create an index or interface to the data. Rogue Wave® HydraSDO™ for XML software is an implementation of the Service Data Object standard, with a data access module for XML documents. HydraSDO has an extremely fast parser that uses significantly less memory than typical parsers and is uniquely optimized for very large XML documents. However, the biggest benefit in parsing speed from HydraSDO for XML is in its ability to stream the parsed XML document as an SDO DataObject between different applications on different computers.

The Fastest Way to Parse an XML Document is NOT to Parse It

With HydraSDO for XML, you only have to parse an XML document once to take advantage of the ability to stream the SDO DataObject between computers. Using this capability, you remove the need to parse the document repeatedly while maintaining the same simple XPath-based API to work with the data.

HydraSDO for XML's representation of an instance document in memory is highly efficient compared with typical XML parsers. The time it takes to stream an SDO between machines is comparable to the time it takes to serialize the data out as XML and re-parse on the target machine. However, there is an advantage to streaming.

Parse

In the above case, the target machine's CPU is heavily utilized during the parsing activity.

Stream

In this case, the target computer's CPU is not utilized for parsing.

Not reparsing the XML document not only saves time it also ensures that overall performance of the application is improved because additional CPU cycles are available for the rest of the application.

No Reparsing

The ability to move an XML document between computers without the need to reparse the instance document is beneficial. Parsing performance can definitely be important, but it is also important to be able to free CPU cycles for application tasks instead of parsing documents. The streaming capability provided by HydraSDO for XML essentially provides the ability to pass the built parse tree between computers, thereby retaining all of the benefits of using XML as a messaging format while eliminating the performance drawback.

Download the Free Evaluation Version  How to Buy Rogue Wave Products