Agile Java Development, Sam's
C# Online.NET Book Review
This is the first time I have given a book from Sam's Publishing a 5 star rating. My opinion of their offerings was formed early in the .com boom when the market was being flooded with poorly written, poorly researched books—and software—which—in that market—would sell anyway. Sam's was certainly not the only publishing house churning out inferior books. However, this book has been a real eye-opener for me; and, in future, I will view Sam's offerings with an unjaundiced eye.
Agile software development is a hot, controversial topic in the world of software development. This book sets out to demonstrate how to use Agile methods to develop a complete software project using the Spring Application Framework, the Hibernate ORM, and the Eclipse integrated development environment (IDE). A single application is used as an example—a timesheet system—throughout the book.
First, some words about the author are in order. First because the book is very much a record of his personal journey through the various phases and fashions of Java development since 1995. His book is like a "travelogue" of his journey. (It even ends with a chapter on his future plans and projects.) On second thought, the book is more like a verbal map of his travels describing the navigable rivers and streams, the quicksand pits, and the potable water along the route. The author is a veteran Java developer with broad experience and good instincts. And, it is his experience and experiences which make this a uniquely valuable book.
As you may have gathered, this book is not for everyone. Although it addresses why and how Ant, Eclipse, Hibernate, JUnit, Spring, and other software can best be utilized in an Agile process, the book offers neither tutorial nor reference material for newbies. Instead, we get the author's pearls of experience strung on an Agile necklace. It takes an experienced Java architect or developer or development manager to appreciate its simplicity and beauty. So, the book is a good read for any Java developer who aspires to become an architect or a technical lead.
The book offers an excellent outline and overview of the Agile development process for rapid application development (RAD) in a Java enterprise shop. The book covers how to set up the development environment, how to establish the business requirements, and how to develop the project deliverables Agile style. For the most part, the book proceeds step-by-step through building the example application with asides for insights, tips, and tricks of the trade.
Ironically, the steps forward in Java development over the years were from the complexities of Enterprise Java Beans (EJBs) to POJOs (Plain Old Java Objects) and lightweight frameworks.
There is little code in the book to read; but, the entire application is available from the publisher's Web site. All of the source code examples are in the Java language or XML.
Agile Java Development is a weekend crash course in Java Agile development for Java veterans.
Agile Java™ Development With Spring, Hibernate and Eclipse is a book about robust technologies and effective methods which help bring simplicity back into the world of enterprise Java development. The three key technologies covered in this book, the Spring Framework, Hibernate and Eclipse, help reduce the complexity of enterprise Java development significantly. Furthermore, these technologies enable plain old Java objects (POJOs) to be deployed in light-weight containers versus heavy-handed remote objects that require heavy EJB containers. This book also extensively covers technologies such as Ant, JUnit, JSP tag libraries and touches upon other areas such as such logging, GUI based debugging, monitoring using JMX, job scheduling, emailing, and more. Also, Extreme Programming (XP), Agile Model Driven Development (AMDD) and refactoring are methods that can expedite the software development projects by reducing the amount of up front requirements and design; hence these methods are embedded throughout the book but with just enough details and examples to not sidetrack the focus of this book. In addition, this book contains well separated, subjective material (opinion sidebars), comic illustrations, tips and tricks, all of which provide real-world and practical perspectives on relevant topics. Last but not least, this book demonstrates the complete lifecycle by building and following a sample application, chapter-by-chapter, starting from conceptualization to production using the technology and processes covered in this book. In summary, by using the technologies and methods covered in this book, the reader will be able to effectively develop enterprise-class Java applications, in an agile manner!
About the author(s)
Anil Hemrajani is the founder of Isavix Corporation, a successful IT service company, and DeveloperHub.com, an award-winning online developer community that grew to over 100,000 registered members over a four year period. He has over 18 years experience in the Information Technology community as a CTO, Architect, Developer, and Trainer. He received the "Outstanding Contribution to the Growth of the Java Community" award from Sun Microsystems, the "Best Java Client" award at JavaOne for BackOnline, a Java-based online backup client/server product, and was nominated for a Computerworld-Smithsonian award for a free online file storage service website.