| By Paul O'Connor | Article Rating: |
|
| October 28, 2008 01:00 PM EDT | Reads: |
11,910 |
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.
Published October 28, 2008 Reads 11,910
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
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.
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?


















