Via Patrick Logan’s blog I found this rant by James Robertson. Both Robertson and Logan are right that XML is too often abused, but both completely miss the point about the nature of this misuse. They are talking primarily about the (mis)use of XML for configuration files, but Robertson builds his case on a premise that points out the continuing problems with the relationship between Web services and XML.
People who really don’t know anything about XML or WS always seem to conflate the two. I get tired of pointing out to people that WS != XML. Then again, can I blame them if XML is too easy to confuse with the many derivative technologies seeking to abuse it?
WS has long ago degenerated into a joke to all but a few marketing professionals, industry analysts and committed developers. Originally it was supposed to be an improvement over the likes of COM and CORBA, this improvement coming because somehow the use of XML would work a salubrious magic. So much for that fantasy. WS-*, as Robertson points out, and many others have before, is now a far more complex “stack” than the entire OMA (of which CORBA is but a part) and with much less grounding in practice. Too bad for WS folk. XML folk don’t care. Why? Because just as XML was never going to magically save an under-architected system from itself, XML was never likely to be substantively damaged by the fact that it was considered the keystone of said under-architected system.
Problem is that word “substantively”. XML is not tainted by WS in hard-code reality, but it has been hurt in a much less tangible way. The long pull on XML towards data orientation from the SOAP camp (as well as the database camp and parts of the old-school OO programming camp) has sown endless confusion about the character and best use of XML. XML was born as a simplification of SGML, a very prose-oriented format, and it has always been better for prose than data records. I too used to think that data oriented and prose-oriented XML could happily coexist, but I’ve lately come to believe such a coexistence is dangerous.
Logan mentions YAML, which does seem to be an option for data record sets than XML, and for some config formats it might be a better option, though you couldn’t convince me that XML is not better for some. Certainly I’d prefer XML any day to Windows .ini type files, which always leave me bewildered. But my main point is dismay at the fact that the WS-* mess is so often used as a general strawman or springboard for any broad attack attack on XML.