See Larger Image
|
Professional Java Tools for Extreme Programming: Ant, Xdoclet, JUnit, Cactus, and Maven (Programmer to Programmer)
by: Richard Hightower, Warner Onstine, Paul Visan, Damon Payne, Joseph D. Gradecki, Kate Rhodes, Robert Watkins, Erik Meade
List Price: £29.99City Travel Guides Price: £19.49 You Save: £10.50 (35%)Prices subject to change.
|
Availability: Usually dispatched within 24 hours
Binding: Paperback
Dewey Decimal Number: 005.133
EAN: 9780764556173
ISBN: 0764556177
Label: John Wiley & Sons
Manufacturer: John Wiley & Sons
Number Of Items: 1
Number Of Pages: 768
Publication Date: April 23, 2004
Publisher: John Wiley & Sons
Studio: John Wiley & Sons
Sales Rank: 357863
Related Items:
Related Items:
see more
Browse for similar items by category:
Editorial Review:
Review: “...Practical account of using standard tools…” (Visual Systems Journal, March 2005)
Review: “...Practical account of using standard tools…” (Visual Systems Journal, March 2005)
Computer Bulletin, March 2003: "..a much needed book.."
Product Description: What is this book about?
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.
Synopsis: What is this book about? 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.
From the Back Cover: 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 you will learn from this book - How to automate the building of J2EETM 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 this book is 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.
Wrox Professional guides are planned and written by working programmers to meet the real–world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
About the Author: Richard Hightower is Chief Mentor/Consultant for ArcMind, a full–service software development company. Rick is a software engineer by training who specializes in software development tools and processes, and developing enterprise applications using J2EE, XML, UML, JDBC, SQL, and open source technologies. Formerly he was the Senior Software Engineer for Java Architecture at Intel’s Enterprise Architecture Lab. Rick is the co–author of Professional Jakarta Struts, and he contributed two chapters to the book Mastering Tomcat. Rick has spoken at a variety of industry conferences and events, including JavaOne, TheServerSide.com Software Symposium JDJEdge, WebServicesEdge, and the Complete Programmer Network software symposiums.
Warner Onstine is a founder and CTO of Interface Guru, a leading Web Usability firm where he consults on back–end technology issues with specific emphasis on how technology and usability work together to present the user with an easy–to–use interface. Warner also runs his own custom development shop, Sandcast Software, which focuses on community and team–oriented software. Warner got his first computer, a TI–99 4/A, when he was 9 and almost immediately attempted to program a game in Basic on it, which did not work. He stubbornly refuses to get rid of that machine though, along with his trusty NeXT Turbo MonoStation, upon which he got his first taste of Objective–C. This eventually led to Java, skipping right over C++. His strong community background soon led him to open source, where he has had the chance to meet and interact with several incredible individuals from Jakarta and other open source communities. This also has helped him to keep an open eye on the trends that will soon shape the new landscape—one of his specialties. Another skill he has is in assisting companies with making the right choices at the right time, utilizing XP, in–depth knowledge of their subject area, and the currently available tools germane to their problem. Warner is also a co–founder and President of the Tucson Java Users Group, which he helped form in 2001, which keeps him rather busy at times. Previously, Warner worked at eBlox, Inc. (a Web development company), Intalio, Inc. (a bay–area Business Process Management Server company), and the University of Arizona Main Library on the Digital Library Team.
Paul Visan is an expert J2EE developer. He serves as a Principal Software Engineer for eBlox, Inc, where he finds that open source tools are invaluable to his work. Paul is a proud Romanian native, now living in the heart of Tucson Arizona. He is a regular contributor to IBM’s developerWorks, for which he has written a series of tutorials on Java Web Services. Paul would like to thank Andrew Barton, Nicholas Lesiecki, Tim Ryan, and Victoria McSherry for helping with this book.
Damon Payne currently works as the Microsoft Business Group manager for Centare Group, Ltd. in Milwaukee, WI. Damon is very passionate about open source technology in the Java and Microsoft .NET worlds. His other professional interests include Mobile development, data persistence patterns, and product development. When not programming or speaking Damon enjoys raising his wonderful daughter, Brooke, home theater, and music.
Joseph D. Gradecki is a software engineer at Comprehensive Software Solutions, where he works on their SABIL product, a enterprise–level securities processing system. He has built numerous dynamic, enterprise applications using Java, AspectJ, servlets, JSPs, Resin, MySQL, BroadVision, XML, and more. He is the author of Mastering JXTA and the coauthor of MySQL and Java Developer′s Guide (with Mark Matthews and Jim Cole). Joeholds Bachelors and Masters degrees in Computer Science and is currently pursuing a Ph.D.
Kate Rhodes is a self–taught programmer, serial entrepreneur, and occasional musician with a Japanese nickname and an unstoppable urge to learn new things, solve new problems, and write open source apps. She’s got too many pets, too many projects, and too little time. If she could afford an army of programming minions she’d have one. She’s ranked better than most and worse than some. She’s worked in impressive places you’ve possibly heard of and unimpressive places you’ve never heard of. She’s done some stuff she’s very proud of and some she isn’t. And so long as life keeps offering up interesting new challenges for her to learn from, she’s happy. If you’re overcome with curiosity you can always see what Kate and her wife are up to at www.masukomi.org.
Robert Watkins is a Brisbane, Australia–based software developer of nine years’ experience. He’s been called a programmer, a software engineer, an architect, and a few other things (many unprintable), but mostly ignores the titles and does what he has to do. These days he is mostly working in J2EE and related technologies, and is a passionate advocate of agile development techniques. When not working, he spends most of his time with his wife and twin children, and when he gets a chance, he takes time out to read Terry Pratchett novels. Robert is also one of the developers on the CruiseControl project.
Erik Meade is an employee of Wells Fargo, who attended XPImmersionTwo, interviewed at XPImmersionThree, coached at XPImmersionFour, and hung out on the evenings of XPImmersionFive. He is the edior of junit.org and an evangelist of JUnit, Ant, CruiseControl, HttpUnit, Tomcat, and open source in general. He is also a contributor to JUnitPerf.
Excerpted from Java Tools for Extreme Programming: Mastering Open Source Tools Including Ant, JUnit, and Cactus by Hightower. Copyright © 2001. Reprinted by permission. All rights reserved.: INTRODUCTION
This book describes techniques for implementing the Extreme Programming practices of automated testing and continuous integration using open source tools.
Let's unpack that statement. Automated testing and continuous integration are 2 of the 12 core practices of the Extreme Programming (XP) software development methodology. Extreme Programming is a lightweight software development process that focuses on feedback, communication, simplicity, and courage. The full XP process is summarized in Chapter 1; suffice it to say for now that it consists of common-sense development practices practiced religiously and in concert.
Two of these common-sense practices are testing and frequent integration. Almost no software development shop would consider leaving these steps out of its process entirely – after all, a system has to be integrated to ship, and it must be tested to ensure that the customers accept the shipment. Thanks to the dot-com shake out, most of the shops that did skip these practices are now out of business. Still, many software companies either struggle with implementing these processes, or acknowledge that they should be done but claim that “things are just too busy right now” to do them. This book explains and demonstrates the use of software tools to help put these invaluable practices into place.
Why Spend So Much Time on the Tools?
We focus on tools, ironically enough, because XP is a human-centric development philosophy. It recognizes that the key challenges of writing software are human challenges - such as getting people to work together, helping programmers learn, and managing emotions. Its four core values (communication, feedback, simplicity, and courage) are human values. Most books published on XP so far have focused on the human issues: outlining the philosophy, spreading the ideology (Extreme Programming Explained was described by Kent Beck as a manifesto), and talking about the feeling of writing software. By doing so, Kent Beck and the originators of XP have followed their own philosophy: Solve the most pressing problems first. However, the current books do not cover the technical details of implementing some of their practices. That's where books like this one come in.
We will explain how to set up continuous integration and automated testing in a Java environment (specifically J2EE, although most of the tools apply generally). Technical detail will be addressed, and we will offer loads of examples to show the tools in action. Specifically, we will cover how to use JUnit, Cactus, HttpUnit, JunitPerf and Jmeter to write automated tests and how to use Ant (along with aforementioned tests) to achieve continuous integration.
Who Should Read this Book?
Although this book speaks from an XP Perspective, you need not practice XP to benefit from it. Anyone who needs help automating testing and integration can benefit from it. Anyone who needs help automating testing and integration can benefit from the tools to the J2EE platform, this book also expects familiarity with J2EE technologies and development practices. Those who are not interested in J2EE applications will still find plenty of worthwhile material, because most of these tools can be applied to almost any Java (or in the case of Jmeter and HttpUnit, even non-Java) software project. Developers who aren’t familiar with J2EE but who want to apply these tools and techniques to a J2EE application may also want to pick up a comprehensive J2EE book like Developing Java Enterprise Applications, Second Edition, by Stephen Asbury and Scott Weiner.
Why Open Source?
It is hard to miss the growing prominence of open source development in software engineering. Of course, open source is a buzzword of the moment, but open source development tools do offer compelling advantages over traditional tools - especially for XP development. The advantages fall into two categories. First, open source tools are practical. Second, the open source philosophy is closely aligned with XP.
Open source tools offer several practical advantages:
THE PRICE IS RIGHT. Open source software can almost always be obtained for free; all the tools we cover in this book can be downloaded at no cost from the Internet. Free software means no immediate overhead for yourself or your company, which is always a benefit, but in this case not the major one. The major benefit in the case of these tools is that their adoption will not be hampered by corporate red tape or management worried about buying into the latest fad. Once you have downloaded JUnit, for example, and you've fallen in love with it and spread it to your team - speeding development and improving quality - no one will want to throw roadblocks in your way. Starting the adoption of XP by asking for $7,500 worth of whiz-bang deployment tools might invite skepticism.
THE TOOLS ARE HIGH QUALITY. Programmers use open source development tools every day. Because improving the tool means improving their immediate situation, open source development tools often receive many contributions and bug fixes. Improvement and features come fast and furious.
THE TOOLS ARE THE STANDARD. Especially in the case of JUnit and Ant, the tools covered in this book are the standards in their field. Countless open source projects use Ant, and JUnit (upon which several of the tools are based) was written by Kent Beck (the godfather of XP) and Erich Gamma (co-author of the OO classic Design Patterns: Elements of Reusable Object - Oriented Software).
Synergy Between XP and Open Source
Extreme Programming and open source development are closely aligned ideologically. Both foster an open, giving style of collaborative development - they share a certain vibe, if you will. Both philosophies acknowledge human weakness - no code is perfect, and the assistance of others in finding and fixing problems is gratefully acknowledged. All open source code is commonly owned (as XP would have it). Many open source projects use and benefit from automated testing, which is especially important when code from a wide variety of sources must be integrated. Both systems demand small, incremental releases………..
Average Rating: 
Rating: -
This book is usefull to understand a set of java tool for XP, but it can be only a starting point to learn and to use them. Ant and Xdoclet are the most interesting parts.
Rating: -
Page xxvii of the book, reads: 'All the configuration scripts, build scripts, applications, and other source code in this book are available online at http://www.wiley.com/legacy/compbooks/hightower.' This is only partially true, as the download available at the website relates to an early chapter 3, while the sample code for chapters 4-11 is not available. I've been chasing Wiley tech support for 3 months to obtain the missing resources, but so far have got nowhere. But if you only plan to read the first 3 chapters, this is a great book.
Rating: -
I bought this book to gain an overview of the tools available in open source community, but whose documentation was lacking. This book takes you step by step through the tools to build and automate all the processes that you don't want to have to deal with on a daily basis. It has a trivial and a more complex example that it builds on through out the book.
It emphasized the use of Ant to automate everything, from unit tests (Junit, Cactus) to building and deploying J2EE applications. I have found it extremely usefull. I didn't know much about using Ant to start with and was confused by the documentation available on the Cactus website. This book cleared it up for me.
The only complaint is that the book ... Read More:
Rating: -
A very practical book which gets to the nitty gritty of coding and testing without insisting on pair programming (which is difficult for the many one person bands out there!). The book actually helps you quickly get the best out of Ant , Junit, JMeter etc , without re-inventing the wheel.
Rating: -
... I think it's hard to practice all 12 practices of the xp methodology but there are some, the more practical, that are very useful and necessary even if you don't want to make xp: the incremental test first programming, using JUnit, Cactus, HttpUnit and continuous integration, using Ant. The book is about these and more open source tools, which means that we can just download them, use them and if we can, improve them. And this is great. But open source tools often lacks in printed documetation and if you are not involved in their development it could be difficult to start using them. In this case this book is just what you need. The first part of the book is simply great, well written (I'm italian, as you can read), there's a lot of code ... Read More:
|
|