In Response to ‘What’s XML really good for?’

February 22, 2007

Mr. Brett D. McLaughlin, Sr. posted a poignant article questioning the practical value of XML. Entitled “What XML really good for?”, I have the same question for the basis of his debate. The article’s examples are obvious jabs at the data format previously stated by many other opponents in the past few years. I can fanthom only one reason why Brett decided to kick a dead horse: to market test a new book idea. But, since he is a noteworthy author and editor, I’ll give him more credence than the normal everyday flamer and pose a short response.

As a matured (post-hype) evangelist, I can state XML is not the hammer for all nails. The problem I have with the article is it’s loose candor. Yes, XML is verbose. Yes, flexibility has a cost. And, oh ya, serialized objects are more efficient. Yet, XML adoption rate is incredible. Surely, the cost has proven itself. For my part, when rationalizing the use of XML, I look to some of the following advantages:

Readability

When using XML for configurations files or as a data protocol, developers can more easily digest the data presented. Name-value pairs are great if the hierarchy of information is simple. If your configuration requires a multitude of parents and children nodes, the popular dot notation (i.e. customer.1234.subscriber.6754143333.primary.work.email=brett@newInstance.com) becomes difficult.

Further, debugging or monitoring application messaging is much easier when dealing with a string protocol. A serialized object is much more efficient for a machine. Just as flat files were much better than relational databases. However, if I can stick a sniffer on the wire and easily read the payload, I am much better at idenitfying data issues. Let technology overcome the inefficiencies.

Platform independence

Ah, the wonders of a String. Every platform and every language can read a string. The recent uproar over Yahoo Pipes is equivalent to what has been done in Unix over the last two decades. The basis for their communication: a formatted string. This type of integration cannot be accomplished if you implement a platform/language specific object. A complex customer class for IBM is entirely different than one from Cingular. In fact, integration cannot even begin without exchanging a compilable reference of the class.

Network friendly

Just as HTML gets a free pass from the network adminstrators, so does XML. Network adminstrators have better tools to support load balancing of XML versus binary objects. Firewalls and routers can deal more intelligently with the information being passed.

This is not the only items I use in evaluating, but I said I was going to keep this response short. I do agree on the debacle of Web service specifications and some other implementation specific issues; however, in general, XML is a very palatable data format.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: