Extreme Programming (XP), a methodology developed by Kent Beck and Eric Gamma, has joined CASE/UML as a core practice in professional software development. The central tools for XP (JUnit, Ant, Cactus, JMeter, HttpUnit) are now covered in a practical reference by Richard Hightower that explains how these open source tools should be integrated into a project to achieve XP's benefits.The book follows the construction of an online pet store--similar to Sun's J2EE Blueprint Pet Store but instead of focusing on J2EE technologies, Hightower's example illustrates how XP tools are integrated into a project.The tuturials work through several iterations of the pet store. The baseline version has no connection pooling and no EJBs. It has several JSPs, a few classes that use JDBC, and some tables in a database.The second iteration of the case changes the content management piece of the system to a container managed persistence (CMP) entity bean that implements the backend product management. This iteration demonstrates how to incorporate EJB deployment into Web applications and how to ensure that the unit testing of the category systems still works after the addition of CMP entity bean support.The third iteration of the case study uses an EJB stateless session bean to add pooling of connections and prepared statements. This iteration is used to demonstrate JUnitPerf and show the time savings from pooling prepared statements when the site is hit by many users.The fourth iteration of the case study creates a Catalog TagLib. Cactus is used to test this TagLib. This is an excellent example to learn how to operate and run Cactus tests and how to integrate them into the build/deploy process.The fifth iteration of the case study refactors JSPs using the Apache Struts project. Then, it uses HttpUnit to test that the application still works. The HttpUnit test is run against the baseline and new version to show that the requirements are still met.The sixth and final iteration of the case study refactors the Web application to use Exstensible Style Language Transformation (XSLT) instead of JSP to build the catalog view. It then compares the throughput of the two approaches using JMeter.I've found it very difficult to follow the partially finished documentation for many of the useful open source tools needed for full XP. Having a book like Hightower's is invaluable to fully leverage the benefits of the XP movement in mid to large scale development efforts.