Unless you've been asleep for the past 4-5 years, you've heard about XML. I have been working in it extensively since mid-2001 developing XSL Transforms, XML Schemas, XML storage, and a variety of other things before there seemed to be any helpful O'Reilly books on it.
XML (and WebServices) was initially hyped to be the “ultimate solution” that would allow all applications to talk and play well together. It was believed that everyone would convert to 100% XML-based data structures and all systems would be able to communicate smoothly. After a bit of sobering up and thought, it was finally figured out that XML is just another potential data structure that could be passed along… much like comma seperated values.
(Before I get flamed for this one, please understand that I know XML has some huge advantages over CSV. It can be validated via XML Schema or something like Schematron. It can be treated as a regular string or parsed via SAX or DOM. It is platform/architecture neutral. It serves as the core of WebServices. Huge benefits? Yes. Silver bullet? No.)
XML seems to be making a resurgance through those who missed the first boat. The number of XML books seems to be increasing, the discussions are heating up, and the phrase Service Oriented Architecture (SOA) is catching on. In my last position, my boss seemed to believe that XML was the Next Best Thing(tm) and constantly spoke of “building a 100% XML application”. Then again, they were caught in the .Net/Office upgrade cycle, so I know the source of this one…
What developers must realize is that XML is yet another tool in our tool sets. It offers some advantages over other tools, but has some weaknesses over other tools – such as relational databases. It is not in itself a solution, but simply another possibility.