Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
SOA with Document-Centric XML Processing
This article introduces the concept of document-centric XML processing and a set of emerging document-centric capabilities

This article introduces the concept of document-centric XML processing and a set of emerging document-centric capabilities such as cutting, splitting, and splicing documents at the byte level. It also explains how it solves one of the most fundamental technical issues hampering enterprise SOA and XML application development: the redundant serialization and de-serialization of object-oriented XML processing models such as DOM.

Public Enemy #1: DOM's Problem of Modifying XML
If a DOM-based application modifies a particular text node of an XML document, the following steps are needed to accomplish that:

  1. Decode characters
  2. Create string objects by taking apart the input document
  3. Allocate node objects to build the DOM tree
  4. Navigate to the text node (manually or by XPath)
  5. Attach a new text node
  6. Encode characters
  7. Byte concatenation
  8. Garbage collecting node and string objects

If you focus on the objective, I think many readers will realize that the process outlined above doesn't really make sense. It is, in fact, absurd. DOM processing incurs at least the following three round-trip overheads in those steps:

  • Every time a character is decoded, it eventually needs to be encoded again.
  • Every time a document is taken apart of any change, it needs to be put back together (by concatenation).
  • Every time an object (e.g., strings, nodes, etc.) is allocated, it will eventually go out of scope and be garbage collected.

Because those round-trips pretty much restore the document to the original state, they are nothing but a waste of CPU cycles and memory. Notice that modifying a text node can be done far more efficiently by humans using a text editor. To edit a text node, just open the document with NotePad, move the cursor to the text node, make the change in-place, and save it. This time, the update is "incremental," meaning it does not touch irrelevant parts of the document. If we, humans, can edit XML like this, why can't XML parsers?

To me, the answer to this question reveals some of the deep-rooted technical problems in software development today. Below are some of my observations on this topic:

  • It significantly impacts your application performance: When applications process XML in a read-only fashion, the base-line performance is decided by XML parsing. If applications both read and write XML data, the base-line performance is typically cut in half (as serialization and de-serialization are equal in performance).
  • It is a common, but deep, problem: Have you wondered, given that XML is ubiquitous, why nobody seems to be complaining? One way to look at this is since this is the way things have always been, everyone seems to get used to it. To make matters worse, solutions don't exist to make the problem look obvious. We end up with a ubiquitous issue that is surprisingly non-obvious and from which there is almost no escape.
  • Hidden from OO perspective: If you live in a pure OO world, the redundant de-serialization/serialization process - the textbook approach of XML processing - is very much the right thing to do. This problem is again hidden.

About Jimmy Zhang
Jimmy Zhang is a cofounder of XimpleWare, a provider of high performance XML processing solutions. He has working experience in the fields of electronic design automation and Voice over IP for a number of Silicon Valley high-tech companies. He holds both a BS and MS from the department of EECS from U.C. Berkeley.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
Skill at computing comes naturally to those who are adept at abstraction. The best developers can instantly change focus—one moment they are orchestrating high level connections between abstract entities; the next they are sweating through the side effects of each …
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP)....
Swisscom, the Swiss telecom, is going into the cloud business. Its subsidiary Swisscom IT Services AG has signed up with Red Hat as a Certified Cloud Provider and launched a public cloud Infrastructure-as-a-Service (IaaS) cloud targeting enterprise-class customers primarily in ...
CONGRATULATIONS to National Reconnaissance Office (NRO) CIO Jill T. Singer for being selected as one of the 10 winners of the first annual CloudNOW awards presented in Santa Clara, California earlier this week...
In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make ...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE

Breaking Cloud Computing News
Atlantis Computing™, the leader in Virtual Desktop Infrastructure (VDI) storage and performance opti...