||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: XML, XSLT, XML documents, XML networking
Title: Imperfect XML
Author: David Megginson
Publisher: Addison Wesley
Verdict: Thought-provoking read for XML developers and project managers
XML should be a standard part of every developer's toolkit. The benefits of XML are well-known: platform independence, extensibilty, highly structured, supported by tools and libraries aplenty, readable by people as well as machines? However, despite the huge amount of hype, XML is not a universal panacea able to solve every problem in IT. David Megginson, Mr SAX himself, has put together an interesting little book on some of the down-sides of XML, both technical and non-technical.
The book assumes a certain level of familiarity with XML, even if this is only at the conceptual rather than the coding level. It's not an especially technical book, it doesn't aim to teach or act as a tutorial, nor does it delve into specialist tools and libraries. Nor is it an especially non-technical book, it does spend time looking at implementation issues, competing technical standards, performance issues and so on. It also looks at management issues, including introducing XML into organisations for the first-time, how to get buy-in from end-users and so on. This straddling of the middle-ground makes the book tricky to categorise, but that's no bad thing.
The central thesis of the book is that XML projects fail because of factors that are nothing to do with XML itself. These include setting unrealistic expectations, hitting performance issues when scaling from test to production environments, getting mired in the swamp of competing standards, not understanding the difference between document-centric XML and data-centric and so on.
The book is structured into three broad sections: XML Decision Making - which looks at the issues with standards and the thorny issue of project planning; XML Implementation - which covers XML data, documents and networking (e.g. SOAP); and finally a section on Special Issues, under which fall the topics of searching, legacy system integration and performance issues.
Each chapter is short and sweet and can be read pretty much as a single piece, so reading the book cover to cover isn't necessarily the only way to read this. The writing is clear and the arguments interesting, particularly for developers and project managers who want to pick up from some real-world experience of what does and doesn't work. Unlike Elliot Rusty Harold's Effective XML, this is geared more to strategic decision-making rather than nuts and bolts implementation details.
For experienced XMLers the book makes for an interesting and thought-provoking set of essays.