--- layout: default title: Art of Java Web Development ---
During the course of working with DSW clients, I kept noticing the same sorts of issues arising, generally the result of not understanding the architecture and design of building web applications. Many of these clients are moving from "regular" applications into web development for the first time. As many of you know (and have discovered the hard way), poorly architected and designed web applications punish the developers in terms of scalability, maintainability, and lots of other "ility's". This misunderstanding was so pervasive that I decided to write a book about it.
The original vision of the book was much closer to a J2EE Best Practices book -- that was the first abstract I sent to the publisher. Manning felt that the market was already saturated with books like this. This publisher is very keen on making high-quality books, not just cookie-cutter "me-to" books. After extensive discussions with the publisher, we repurposed the content to focus on web development.
The three sections came about from the original abstract. The first part shows not just Model 2 but also how it evolved from the web API's in Java. I think this is both interesting and valuable information to those who weren't present during the evolution. Knowing the history of why something is the way it is leads to deeper insights. I was fascinated that so many Model 2 frameworks existed, so I suggested to the publisher that it would be interesting to devote a section of the book to comparing them in a way that had never been done before. The last section grew from the larger best practices material I had originally proposed.
The title also grew over time. I was interested in creating a book that consolidated much of the information extant about web development in Java, cutting across meta-topics and focusing on the whole gestalt of what it takes to do Java web development right. How do you title a book like that? I was struck that this grand overview with details approach sounded like other books (completely unrelated to software). Namely, the two books that came to mind were The Art of War by Sun Tzu and Mastering the Art of French Cooking by Julia Child. Both books discussed the state-of-the-art of their topics in their times. Thus, Art of Java Web Development was born. This title became controversial because it isn't as direct as many computer book titles. In fact, other titles were toyed with up until the last minute (including Java Frameworks and Best Practices). In the end, the Art title just worked best. Damn the torpedoes!
The Marquesan warrior on the cover caused a bit of a controversy as well. I was given several figures from the catalog from which to choose, and he obviously caught my eye right away. What better cover figure for a book that invokes Art of War than a tattooed warrior? Some people think that this cover goes too far, but, for better or worse, you can never forget it once you've seen it!
So you've mastered servlets, JSPs, statelessness,
and the other foundational concepts of Java Web development. Now it's
time to raise your productivity to the next level and tackle
frameworks. Frameworks--like Struts, Tapestry, WebWork and others--are
class libraries of pre-built parts that all Web applications need, so
they will give you a huge leg up. But first you'll need a solid
understanding of how Web apps are designed and the practical techniques
for the most common tasks such as unit testing, caching, pooling,
performance tuning, and more.
Let this book be your guide! Its author, an experienced architect,
designer and developer of large-scale applications, has selected a core
set of areas you will need to understand to do state-of-the-art Web
development. You will learn about the architecture and use of six
popular frameworks, some of which are under-documented. You will
benefit from a certain synergy in the book's simultaneous coverage of
both the conceptual and the concrete, like the fundamental Model 2
design pattern along with the details of frameworks, the how-to's of
workflow, the innards of validation, and many more. In this book,
combining the general and the specific is a deep <and> useful way
to learn, even for those who have not used a framework before.
What's Inside
* Web frameworks analyzed
* How to incorporate Web Services
* How-to's of
- caching
- pooling
- workflow
- validation
- testing
A guide to the topics required for state of the art web development, this book covers wide-ranging topics, including a variety of web development frameworks and best practices. Beginning with coverage of the history of the architecture of web applications, highlighting the uses of the standard web API to create applications with increasingly sophisticated architectures, developers are led through a discussion on the development of industry accepted best practices for architecture.
Described is the history and evolution towards this architecture and the reasons that it is superior to previous efforts. Also provided is an overview of the most popular web application frameworks, covering their architecture and use. Numerous frameworks exist, but trying to evaluate them is difficult because their documentation stresses their advantages but hides their deficiencies. Here, the same application is built in six different frameworks, providing a way to perform an informed comparison. Also provided is an evaluation of the pros and cons of each framework to assist in making a decision or evaluating a framework on your own. Finally, best practices are covered, including sophisticated user interface techniques, intelligent caching and resource management, performance tuning, debugging, testing, and Web services.