Updates
Latest Tweet
What's New?
Check out for latest innovation, a computer based training video collection
Like this Page
Art of Java Web Development: Struts, Tapestry, Commons, Velocity, JUnit, Axis, Cocoon, InternetBeans, WebWork Review by Alexander Kolesnikov
Good book, but not when it comes to frameworks
This book provides many interesting ideas and examples, I am glad that I have purchased it. However I was most interested in Java Web frameworks comparison, and this is where this book is much less helpful.
The idea of building a two-page application to compare different frameworks isn't a good one. What can you demonstrate in such a no-brainer? Logic/presentation separation? I18n - l10n possibilities? User input validation? Code and functionality reuse? So what is being compared then?
In fact, the author has a rather fixed opinion about what a framework should do, and his ideas rotate very close around Struts and Struts-like frameworks. As a result, he completely failed to understand Tapestry, which is based on very different principles.
He states that "As demonstrated even by basic examples, Tapestry is a complex framework. To create the simplest web application, you must understand a fair amount about the architecture and components".
This is completely wrong, because Tapestry is a very user-friendly framework, if only badly described at a beginners level and having very few tutorials, but to prove his point, the author creates a 'hello world' application using Tapestry and doing this he extends Tapestry's ApplicationServlet to add some custom logging facilities. As a result, this 'hello world' application looks really frightening.
However, it should be noted that you don't usually need to extend the ApplicationServlet, even in the most complicated of web application. Not to mention that you would hardly need ANY logging facilities in a 'hello world' app.
To summarise, this is a good book in many respects, such as it shows a good style of coding and demonstrates some convincing examples of design patterns. But don't expect it to say anything useful about frameworks comparison. All the comparison in this book boils down to documentation and samples available, which might be useful, but far from being essential.