Welcome!

Java Authors: Esmeralda Swartz, Pieter Van Heck, Elizabeth White, Pat Romanski, Gary Kaiser

Related Topics: XML, Java, SOA & WOA, .NET

XML: Article

SOA Product Review: Intel XML Software Suite 1.1

Superior performance for XML processing in Java and C/C++

The one thing that unifies the distributed computing style known as SOA, in most of its manifestations, is self-describing data via the Extensible Markup Language (XML). The benefits of XML over opaque message formats in data interchange are well established. No matter if your focus is SOAP, REST, POX, or syndication with RSS or ATOM, your applications will revolve around XML processing. The bane of XML has always been the overhead of processing it in terms of memory and CPU consumption - parsing documents, performing XML Schema validation, searching for elements with XPath, and especially executing transforms. This problem has been met head-on by Intel's Software and Services Group, with the release of the Intel® XML Software Suite. The fact that Intel has a software development group dedicated to creating software tools optimized for Intel hardware platforms is not surprising or new information to folks doing software development for multi-core systems. What is surprising is the level of optimization that has been achieved in this XML toolkit.

The Basics
The Intel XML Software Suite  includes both Java and C/C++ libraries for Windows (Vista, XP, Server 2003, Server 2008) and Linux (Red Hat AS/ES, SuSE Server 9/10) on IA-32 and 64-bit Intel processors. A recent update of the Intel XML Software Suite also supports the Intel Itanium® platforms on HP-UX* OS. Performance is optimized for use on multi-core Xeon processors. Compatible Java JDKs include Sun, JRockit, and IBM. The product is not free - you will need a license to use it, but you can get started with a free evaluation license.

The Intel XML Software Suite is comprised of four separate XML processing functions bundled as a single product:

  • XML Parsing (DOM and SAX)
  • XML Schema Validation
  • XPath (XML navigation and expression handling)
  • XSL Transformation (XSLT)

The Technology
Underpinning each XML processing function of the product is a custom, highly optimized, XML pull parser. Just a word about XML parsers - XML parsing has traditionally followed one of two approaches: creation of a DOM tree in memory from the XML document, and event processing where the XML document is translated into a series of elements and fed to a consuming application. DOM suffers from high memory use that limits its ability to handle large documents, while event generation adds processing overhead when parsers need to make more than a single pass through the document. SAX parsers follow a blind event generation paradigm where the consuming application has no control over the event sequence, while pull parsers allow consuming applications to control the traversal of documents to generate events. The Intel XML Software Suite  is built around the custom pull parser and shared data structures - DOM and SAX parsers are actually applications built on top of the pull parser.

More Stories By Paul O'Connor

Paul O'Connor is SOA Practice Director and Chief SOA Architect for e-brilliance LLC (a leading NE SOA consultancy), and is currently doing major SOA architecture and implementations for Fortune 100 clients across the US. Previously he was chief architect for Damascus Road Systems, specializing in security architecture.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.