Microsoft’s chief software architect for Hailstorm offered some observations on XML and Web Services recently. Looking beyond the (now ended) Hailstorm project, Mark Lucovsky described a lot of issues in XML development more generally.
Despite the frequent description of Web Services as a mechanism for building distributed object systems, Lucovsky suggests that XML itself is important:
He also encouraged attendees to consider when building Web services whether to program to an object-centric or XML-centric model. One pitfall to look out for in the object-centric path is how to obtain extensibility when you are programming at a high level, he said.
Building on this, he notes that Microsoft had difficulties adapting to the XML world:
The primary skill a workforce needs is a deep understanding of XML, particularly name spaces and versioning.
“The big thing we had to deal with [at Microsoft] was learning and embracing XML,” Lucovsky said. “XML is more difficult than people think.”
For those of who’ve argued long and hard that XML isn’t merely serialized objects, this is good to hear. While most of us wish that XML was a little less difficult than it has grown to be, information modeling isn’t and really can’t be a magical process. Objects and XML (not to mention relational databases) have some features in common and many features apart.
Taking advantage of XML does require some effort, but I think developers are finding the effort worth the trouble - extensibility is powerful stuff.
Why can’t XML just be like familiar friendly objects and databases?