Modeling XML Applications with UML
Practical e-Business Applications, By David Carlson
|Value for money
|Did it do what it said on the box?
An excellent book covering an important niche
Like many web-related technologies XML and its many derivatives have evolved much more quickly than the support from traditional modelling and development tools. As a result many developers creating XML-based applications are doing so with the crudest of tools, and find it very difficult to either exchange ideas with more traditional developers, or to benefit from the strengths of more powerful tools and modelling approaches. This book sets out to address that issue, and it does an excellent job.
At the same time, the book provides a valuable introduction to a range of XML and e-Business technologies for those more familiar with traditional approaches. I found it answered a lot of questions I had about XML which had not been addressed by reading more typical “how to” books, so this book bridges the divide both ways.
The book starts out by setting out its aim – to bridge the XML and UML communities, and provides a high-level overview of both areas. It then focuses in on the key issue of e-Business integration, both as a common challenge and an area which will naturally affect both communities.
In subsequent chapters the author discusses defining a business vocabulary, and shows how an XML vocabulary can be modelled in UML, or generated from it. Having established this basis the author then discusses a number of XML-related standards, including XMI, XPath, XPointer, XLink, XML DTDs and Schemas, and XSLT, in each case using UML models to explain how the pieces fit together.
Finally, the last few chapters present an overall e-Business architecture based around the examples in the rest of the book, bringing all the pieces together in the context of Web Services.
It’s the curse of all technical writers and publishers that whatever you write is rapidly out of date, and this book suffers a little from that. Published in 2001 it views several key standards (such as XSD and core Web Service protocols) as “proposals”, and frequently omits details from examples because of this uncertainty. A reader would be well advised to supplement it with more up to date reading around the technical details.
That said, this book is well written, easy to read, and covers a niche which is still almost unoccupied. The companion web site backs the book up with some valuable material, including a free downloadable tool for XML modelling, generation and reverse-engineering.
I’d love David to do a second edition, moderately refreshed to present a 2004 view of the various standards and how they fit together. The core of the book wouldn’t have to change. Until that book turns up, I’m happy to recommend this one.