New Book: Java Tools for eXtreme Programming


News: New Book: Java Tools for eXtreme Programming

  1. New Book: Java Tools for eXtreme Programming (18 messages)

    Java Tools for eXtreme Programming was written for developers that want to apply Extreme Programming practices of Automated Testing and Continuous Integration to Java and J2EE using Ant, JUnit, HttpUnit, JMeter, Cactus, JUnitPerf, and more to automatically build, deploy and test J2EE applications.

    Check out Java Tools for eXtreme Programming.

    More info:
    eXtreme Programming (XP) is a development methodology for building software systems quickly without sacrificing quality. Some of the key tenants of XP are testing and continuous integration.

    J2EE components (EJBs, Servlets, JSPs, TagLibs, etc.) have complex deployment needs which make continuous integration with automated tests, builds and deployment difficult without the tools described in this book.

    Java Tools for eXtreme Programming is the first complete guide to using those tools for XP and applying these tools to J2EE and Java development. Throughout the book, authors Richard Hightower and Nicholas Lesiecki use a sample applications to demonstrate how each Java tool is used. The book also features a detailed reference to each of the major tools, complete with coding examples.

    Although this book speaks from an XP perspective, you need not practice XP to benefit from it. Automated testing, for example, can help you refactor code regardless of whether you are doing pair programming or not. Continuous integration can help you detect and fix problems early in the lifecycle of the system regardless of whether your customer is on site or not.

    Threaded Messages (18)

  2. Got it.
    It's a nice book.
  3. I only find another book " professional Java Tools for Extreme Programming" but not this book. and Hightower's website is not available for me , I don't why , May be I am it is down, or something else.
    could anybody give me a link thus I can download the source code of this book?

    million thanks
  4. Had the book for a while now. It's an excellent read!! A lot of information is presented and the authors presented all the material very well.

    Just my two cents,
  5. Hi Rick,

    Glad to know you're letting TheServerSide community know about your book. It is a valuable reference for our team. As I indicated in a previous email to you, I hope you have a chance to cover XDoclet in a subsequent edition.


    Bob Newby
    Principal Software Engineer
    ViviPort, Inc.
  6. Bob Newby et al,
    Thanks. I remember your email. The book is doing well(much better than I hoped for), so it looks like there will be a 2nd edition. XDoclets will make it into the next edition.
    I agree.

  7. I got the book about 4 weeks ago. Its great. I've only had time to incorporate the chapters on ANT into my development efforts, but I expect to move on to using the chapters on JUnit and Cactus as well.
  8. Saw this in the bookstore the other day, skimmed through it. Unfortunately, the things I was most interested in were the things I'm also fairly knowledgeable on already. That said, I'm sure there were some areas that it would be useful for me, and probably very useful for someone who had used these tools less, or not at all.

  9. An excellent read. I am halfway through the part on Cactus and feel like I've learned a ton thus far. I can't wait dive into the next sections.

    Rob Beers
    Beers Software Consultants
  10. The reviews for the book on Amazon and comments here at are very encouraging. Thank you all. And, thanks to for letting me plug this book on this forum.

    I’d like to thank some other folks…

    This book would not be possible without the great set of tools written for building and testing J2EE. I’d like to publicly thank James Duncan Davidson et al, Mike Clark, Vincent Massol et al, Kent Beck and Erich Gamma.
    James Duncan Davidson et al created Ant. The de facto build tool for Java. This is the glue for building applications and making continuos integration doable with Java.

    JUnit is the regression-testing framework written by Erich Gamma and Kent Beck. After looking at this code base you can see this framework screams with design patterns and solid OOP, and is central to Extreme Programming development with Java. It is as if these guys wrote *the definitive books* on Design Patterns and Extreme Programming—oh yeah they did!

    Russell Gold wrote HttpUnit, which makes functional web applications easy and fun. (It can also be combined with Cactus.)

    Mike Clark extended JUnit to provide JUnitPerf, which does load testing and performance testing. This code is an excellent example of how to extend JUnit. Mike Clark is also a really nice guy.

    Vincent Massol et al for creating the Cactus (was J2EEUnit). I use this tool every day at work to unit test JSP Tags and EJBs. This is a truly novel tool. (BTW Nicholas Lesiecki, the co-author of the book, is an active committer on this project.)

    I am not implying that anyone mentioned above endorses the book or name dropping. I just wanted to thank them for contributing their time and effort to create these tools and then just give them away! Without them this book would not exist.

    --Rick Hightower
  11. Vincent Massol[ Go to top ]

    Vincent Massol of Cactus was also instrumental in the creation of the book. He reviewed the chapter on Cactus, and it was his excellent source code and documentation that enabled me to write the chapter in the first place. I mention this here because his acknowledgement was accidentally omitted from the book during publication.
  12. Congratulations on your book.

    Does the book cover MockObjects ( ?

    These can sometimes be easier and faster than in-container testing (eg Cactus).


    Ben Hogan
  13. Does the book cover MockObjects ( ?

    >These can sometimes be easier and faster than in-container >testing (eg Cactus).

    The book covers MO briefly, as it's important to understand the difference between MO and In-container testing. The chapter on Cactus covers which to use when and why. (It also shows some example Mock Objects that you can use with, say Servlet Filter testing.) However, as MO was just emerging at the time of the book's creation, we didn't have time to incorporate a lot of MO material. When we get to the second edition, I think MO should receive one or two chapters, covering both methodology and some frameworks and mock projects (, EasyMock --, and MockMaker --

    I've found personally that Mock Objects are incredibly useful and can be vital for writing your tests first. Just today I've been working on a modification to a shopping cart that draws information from an "object" that hasn't been finished yet. I'm using EasyMock to provide an "implementation" that gets me just far enough to write my test. Very cool. I urge everyone to check them out. The links above are a good place to start.
  14. Rick

    Is that possible a free download no-printable PDF version of the book? (A few sample chapters will do). Currently, Malaysia BookStore does not carry the book, I just like to ensure I need the book, before I pay high shipment cost to Amazon.

  15. I don't have a free PDF for the book. I'll try to put out a few chapters in PDF format. I will have to clear it with John Wiley and Sons first.

    See what Ed Roman et al started.... now everyone wants the books for free! :)

    For now, the book web site ( does have the full TOC, which is a pretty good outline on what the book really covers.

    Also, if your bookstore does not carry it, you can ask them to order it. Then you check it out, if you don't like it then you just don't buy it. At least you can do this at Barnes and Noble and Borders in the United States. (I don't know what the official store policy is on this. They may frown on this.) I don't know if you can do this in Maylaysia.

    You may also want to check out the reviews on Amazon. Although, I have really liked books that did not get good reviews. (BTW so far most of the reviews for this book are good. We are at 4 1/2.)

    For people in the US, if you want to check out the book before you buy it, Barnes & Noble and SoftPro carries the book. I have not found other other brick and mortar bookstores that carry it yet. In Tucson AZ., we have Barnes and Noble and Borders so this is not a real scientific analysis either.

    By chance, I know of one other brick and mortar store that carries the book if you live in Colorado or Massachusetts--SoftPro.

    The book made the best seller list in both SoftPro locations.

    Here is the MA stores bestseller list for SoftPro

    Here is the Colorado stores bestseller list for SoftPro.

    (Note the list gets updated every month so it may not be on the Jan. list at the above links.)

    BTW I spent a few weeks in Maylaysia a few years ago.
    How much is the shipping cost anyway?

    I think you will really like the book, but I am a bit biased. :)
  16. BTW[ Go to top ]

    I think Ed Roman et al giving a free copy of their book in PDF format is cool. And, they seem to be the consistent best selling Java book on Amazon to boot.
  17. Rick

    Depands on how heavy the books is, Amazon usually charge About US15-US25 per Shipment, It may no seems much for people staying in US, as you all earning US Salary, but it expansive for Malaysian..FYI, A Malaysia IT People with 5-6 Years Working Experience will get a Salary around US1,500 (Before Tax)...

    Thus I usually very careful on select my Technical Books, and Personally I am very appreciate with Ed Roman Effort on putting the Mastering EJB free for download, and FYI, I do now own hard copy of Mastering EJB both 1st and second edition

    Just some thoughs
  18. Let me add my voice to the chorus. Great book. It happens to be very similar to the ways we are doing development. It would have saved me about 2 Months dev time if I had it before I started.

  19. Does anybody know how to unit-test EJBs that has Local Interfaces? The JUnit test class can only access Remote EJBs. Do I have to write a dummy Remote session facade for each Local EJB and then use JUnit to test the EJBs(Local Interface) through the dummy(Remote Interface)?