The Extreme Programming (XP) methodology enables you to build and test enterprise systems quickly without sacrificing quality. In the last few years, open source developers have created or significantly improved a host of Java XP tools, from XDoclet, Maven, AntHill, and Eclipse to Ant, JUnit, and Cactus. This practical, code-intensive guide shows you how to put these tools to work - and capitalize on the benefits of Extreme Programming.
Using an example pet store application, our expert Java developers demonstrate how to harness the latest versions of Ant and XDoclet for automated building and continuous integration. They then explain how to automate the testing process using JUnit, Cactus, and other tools, and to enhance project management and continuous integration through Maven and AntHill. Finally, they show you how to work with XP tools in the new Eclipse IDE.
Complete with real-world advice on how to implement the principles and practices of effective developers, this book delivers everything you need to harness the power of Extreme Programming in your own projects.
What does this book cover?
Here are some of the things you'll find out about in this book:
- How to automate the building of J2EE apps and components with Ant and XDoclet
- Techniques for automating Java testing using JUnit
- Procedures for automating servlet, JSP, and other J2EE testing using Cactus
- Ways to automate Swing testing with Jemmy, JFCUnit, and Abbot
- How to manage projects using Maven
- Techniques for automating continuous integration with AntHill and Cruise Control
- How to harness plugins for JUnit, Cactus, and Ant in the Eclipse IDE
- Ways to implement Extreme Programming best practices
Who is this book for?
This book is for enterprise Java developers who have a general familiarity with the XP methodology and want to put leading Java XP tools to work in the development process.
Part I: Key Concepts.
Chapter 1: Introduction to Extreme Programming.
Chapter 2: J2EE Deployment Concepts.
Chapter 3: Storing and Managing Code with CVS.
Part II: Automated Building and Continuous Integration.
Chapter 4: Ant Primer.
Chapter 5: Building Java Applications with Ant.
Chapter 6: Building J2EE Applications with Ant.
Chapter 7: XDoclet Primer.
Chapter 8: Building J2EE Web Components with Ant and XDoclet.
Chapter 9: Building EJBs with Ant and XDoclet.
Chapter 10: Building Struts Apps with Ant and XDoclet.
Chapter 11: Creating Custom Ant Tasks.
Chapter 12: Creating XDoclet Custom Tags and Templates.
Part III: Automated Java Testing.
Chapter 13: Unit Testing with JUnit.
Chapter 14: Load Testing with JunitPerf.
Chapter 15: Defect Tracking with Bugzilla.
Part IV: Automated J2EE Testing.
Chapter 16: Functional Testing with HttpUnit.
Chapter 17: Performance Testing with Jmeter.
Chapter 18: Cactus Primer.
Chapter 19: Testing Servlets and Filters with Cactus.
Chapter 20: JspTestCases and Testing Custom Tags with Cactus.
Chapter 21: Testing EJBs with Cactus.
Chapter 22: Code Coverage with jcoverage.
Part V: Automated Swing Testing.
Chapter 23: Swing Testing with Jemmy.
Chapter 24: Swing Testing with jfcUnit.
Chapter 25: Swing Testing with Abbot.
Part VI: Continuous Integration, Project Management, and IDEs.
Chapter 26: Managing Projects with Maven.
Chapter 27: Automating Continuous Integration with CruiseControl.
Chapter 28: Automating Continuous Integration with AntHill.
Part VII: API Tag Reference.
Chapter 29: Ant Tag Reference.
Chapter 30: Ant API Reference.
Chapter 31: JUnit API Reference.
Chapter 32: Cactus API Reference.
Chapter 33: HttpUnit API Reference.
Chapter 34: JUnitPerf API Reference.
Part VIII: Appendix.
Appendix A: Example Applications Used in This Book.
Joseph D. Gradecki Colorado Technical University, Centennial, Colorado.