| |

|
By David A. Chappell and Tyler Jewell
ISBN: 0-596-00269-6 (O'Reilly) |
Book Review: Java Web Services
Comprehensive and rich with examples, Java Web Services is probably the only book you'll need to prepare yourself for a Web services implementation.
by Lori Piquet, Editor-in-Chief
he last six months have been filled with so much rhetoric about the power and efficiency of Web services that you'd think they were going to be soon making your breakfast in the morning. |
So when I sat down with a copy of Java Web Services, coauthored by two top technical engineers at two leading enterprise Java vendors, I'm not sure what I was expecting. Perhaps to be told yet again how Web services will be a transformative business technology, ushered in on a magic carpet called "interoperability."
But this book tries to avoid doing exactly that. Authors David Chappell, vice president and chief technology evangelist for Sonic Software, and Tyler Jewell, director of technical evangelism at BEA Systems, seem to have set out to write a book with the assumption that its readership is already among the converted. This book is written for implementers.
However, that doesn't mean it's only suitable for experts. In fact, I think the bar for prerequisite study on Web services is surprisingly low and that's symptomatic of my favorite trait of this book: comprehensiveness. If, for example, you've somehow managed to come this far without having really digested anything meaningful about SOAP, you won't be lost right out of the gate. Each time a new core technology is introduced, the basics of its purpose and behavior is discussed briefly before moving right along to meatier discussion of putting that technology to good use. In fact, this book has just enough abstraction in it to bridge the gap between developer and CIO.
The other thing that impressed me about this book from an organizational standpoint is that it takes a layered approach, which I suppose is how books should be writteneach new chapter takes what you learned previously and then layers something new on top of it. Technical books often fall short of that goal; this one doesn't. You won't be confronted with the entanglement of SOAP, UDDI, and WSDL at the outset, unless you choose to skip ahead to later parts of the book. The earlier chapters take a piecemeal approach, which seems to me a very amiable convention.
Another important building block at the book's beginning is the second chapter titled "Inside the Composite Computing Model," which should help many developers hurtle the wall of esoteric business vocabulary that's been built up over the last year by marketers. Concepts such as Service Oriented Architecture (SOA) may not seem extremely important to the application developer but understanding what they mean is essential to certain phases of the development lifecycle, particularly as developers get close to the design and implementation phases of Web services.
And, probably as it should be, much of the early part of this book has nothing in particular to do with Java. It really isn't until the second half of the book, once the building blocks are established, that the J2EE and various XML APIs come into play. The early chapters on SOAP do assume that you are using Apache SOAP and Tomcat. (An installation guideline for these is available in the readme file on publisher O'Reilly's Web site.)
You should be prepared to write and test code if want to get the full value out of this book. The authors assume that you will be writing and testing the sample code along with them. There's plenty of explanation and context to guide you along so you know exactly what you're writing, what you're accomplishing, and what the output should be at all times.
Chappell and Jewel do a good job of explaining the various relevant APIs, which is important because A) there are a good number of them and B) there's a bit of overlap and, undoubtedly, at least some confusion. For example, there's an entire chapter on messaging, but the authors did not limit themselves to either JAXM or JAX-RPC. There's lots of information and code for JAXM and an understandably more scant section on the emerging JAX-RPC. Right now, both are heavily used though it is generally accepted that JAX-RPC will become the eventual standard.
Chappell and Jewell dedicate a lot of time and space to interoperability, as it stand now, and concerns to watch for in the future. There are a lot of great references in this section and if anything will incite your development sensibility it probably will be this section. The final chapter, on security, discusses digital signatures, encryption, and key management in satisfactory depth, but seems to lack a bit of the previous chapters' detail as it pertains to nascent APIs under consideration by the Java Community Process (JCP).
The book is wordy in some places and if you're the type of person to bristle over abuses to the English language, Chappell and Jewell take some bold liberties with creative vocabulary; inventions such as "XMLized," and "SOAP-ification" drove me to drink.
But Chappell and Jewell are esteemed Java engineers whose daily responsibilities put them in an elite category of expertise on Java Web services. It would be impossible, I think, to be steered awry in their hands. There will undoubtedly be other books to come that you'll want to add to your library; this technology is changing so quickly that the book's biggest downfall is that it will age very quickly. But for right now, this is probably one of the best references you can invest in if you're ready to start building Web services in Java right away.
Lori Piquet can be reached at lpiquet@devx.com.
|