About the Author
Meera Subbarao has a Bachelors degree in Electronics and Communication Engineering. She has seventeen years of software programming experience around the globe, from Bangalore, India to Dubai, United Arab Emirates, to the United States, where she has spent the past four years at DataSource, Inc. in Maryland. She has been working on J2EE technologies exclusively for the last four years. Her four years at DataSource have been focused on the creation of a J2EE productivity suite called “Jetson”. Version 1.1 is available for sale to the public.
Spotlight Features

The Rich Engineering Heritage Behind Dependency Injection

Andrew McVeigh takes us on a tour of the rich heritage behind dependency injection, what it represents, and tells us why its here to stay.

NetBeans 6: Matisse Updates

NetBeans 6 delivers great updates to the Matisse GUI builder. Spend a few minutes with Roman Strobl and get an expert briefing on what's new and what has changed.

Introduction to Groovy Part 3

In this, the third and final installation of Andres' Introduction to Groovy series, you learn about how Groovy handles variable numbers of arguments, named parameters, currying, and more about Groovy operators. Including, some new operators.

Easier Custom Components with Swing Fuse

Swing Fuse (actually just Fuse), is a framework designed to make it easier to create your own custom desktop components. In this article, Daniel Spiewak shows you how to get started and provides sample source code you can download.

Benchmark Analysis: Guice vs Spring

Willam Louth shows how he uses JXInsight Probes to investigate probable performance issues with code bases that he is not familiar with. He also highlights possible pitfalls in creating a benchmark, as well as in the analysis of results.

Ajax in Action

Authors: Dave Crane, Eric Pascarello with Darren James
Publisher: Manning Publications Co.
Date of publication: October 2005
Sample Chapter: Chapter Four: The Page as an Application!
Reviewer: Meera Subbarao

Intro, what is the main purpose of this book? What is the intended audience?

Let me start this review by stating that Ajax In Action is an excellent book and provides a very comprehensive overview of all the Ajax technologies. If you like to build powerful websites after seeing Google Maps and GMail, this is the book you require to develop those powerful web applications with a rich client feel. This four-part book provides the reader with a complete and detailed guide to all aspects of Ajax.

Summary of TOC/Sections

Part 1: Re-thinking the Web Application

This part has 3 chapters each of which gives the reader the main concepts of Ajax; it would be appropriate for anyone who is curious about Ajax.

Chapter 1 covers Asynchronous interactions, the main differences between Ajax and classis web applications, the four defining principles of Ajax, Ajax in real world where they take apart Google maps. The authors also briefly describe the main alternatives like Macromedia flash-based solutions and also about Java web start and related technologies. Chapter1 would be really interesting for a beginner.

Chapter 2 introduces the reader to the technologies behind Ajax, using JavaScript, CSS, DOM, XMLHttpRequest to asynchronously contact the server and how all these pieces interact together within your project.

Chapter 3 gives a complete overview about the tools and techniques that can help you keep your code clean as the author’s state. It helps the reader to understand how to combine refactoring and patterns, how it improve the design of existing code and also identify areas of code in need of refactoring. This chapter covers a number of design patterns that can be applied while working with Ajax applications like the Façade, Adapter, Observer, Singleton and Model-View-Controller Pattern. On the other hand if you are a huge fan of implementing design patterns in your applications, you can as well skip this chapter. Along the way it helps you unlearn many old coding habits.

Part 2 Core techniques

This part has 2 chapters which covers the core techniques for designing an Ajax application. The Authors stress here on how Ajax implements the MVC design pattern. By the end of this part the user will have a thorough understanding of Ajax, the technologies behind Ajax, how to refactor and use patterns wherever necessary; also the number of Ajax frameworks available and how to build a complete Ajax application.

Chapter 4 covers details about how to reuse the MVC design pattern in an Ajax application; it also shows how to separate presentation from logic in the View subsystem, different event models available to Ajax in the Controller code. It also explores the difference between a web application and a desktop or Ajax application.

Chapter 5 is an extension of chapter 4 mainly dealing with the server, the roles of the server in Ajax, discusses about the common implementation languages on the server side. It also discusses about the 3 main approaches to retrieving data from the server.

Part 3: Professional Ajax

This part mainly deals with the most important factors a web designer is concerned about, User experience, Security and performance.

Chapter 6 The user experience. In this chapter the authors cover a number of topics which add a professional feel to your Ajax application. There are very good examples of various visual feedback mechanisms like a status bar, pop-up dialog and inline highlighting of data. They also show how to wrap all these functionalities in a reusable framework.

Chapter 7 Security and Ajax. The most important concern for any developer is security and the Authors have done an excellent job in teaching the user how to add proper security measures in their Ajax application.

Chapter 8 Performance. Constant interaction between browser and server can make an application feel unresponsive. The Authors have focused here on speed as well as memory usage. By the end of this chapter the reader should be able to develop production ready software.

Part 4: Ajax By example

This part builds five Ajax projects step by step that look at extensive examples. These examples are then refactored into drop-in components that you can use in your own web applications. This part would be particularly helpful for Advanced Users.

Chapter 9. Dynamic double combo. In this chapter the reader will become skilled at topics like the double combo script, limitations of a client as well as a server side solution, how Ajax can be used to transfer data to the server, writing the server side code. Creating a double combo component; once you complete this chapter you would have a reusable component which you can use in any your application, and would never have to write it again.

Chapter 10 Type-ahead suggest chapter looks at the downfalls of the currently available implementations and how Ajax can be used effectively to add a seamless interaction with the server without disturbing the user’s interactions with the web page.

Chapter 11 The enhanced Ajax web portal chapter covers topics like Constructing and Ajax portal, implementing a login framework, creating dynamic windows, remembering the window state and Adapting library code. It shows the reader how to incorporate Ajax into a portal to improve the user’s experience. If you really want to create classis portals like Yahoo, MSN and AOL, where in the site offers variety of services like including web searching, news, white and yellow page directories, free e-mail and links to other sites, this is the chapter which provides you with all the necessary information.

Chapter 12 Live search using XSLT. XSLT is widely used to convert XML document to HTML for screen display. This chapter uses Ajax technique to create a live search using XSLT. There are plenty of examples developed in this chapter.

Chapter 13 Building stand-alone applications with Ajax. This chapter will be of interest for developers who want to write standalone Ajax applications, which can use any web server-based stream of data like for example web services.

Conclusion

he first part of the book would be suitable for any person who is interested to know about Ajax. The rest of the book is for programmers engaged in the web development. In all, this book provides an excellent introduction to this exciting new web development methodology. Last but not the least don’t skip reading the appendices.

Check out Ajax In Action on Manning's website.

Chapter Four: The Page as an Application!

Purchase Ajax In Action on Amazon and help Javalobby.