Saturday, November 26, 2011

Review: Spring Roo 1.1 Cookbook, by Ashish Sarin

If you have found your way to this blog, it is highly probable that you know what Spring Roo is, but in order to keep with the tradition of technical book reviews, I will provide a quick description.

Roo is a rapid application development (RAD) tool for Java developers that gets you started in building Java applications quickly.  In its simplest form, it is a command-line tool with its own shell, supporting commands that allow you to define the characteristics of the application you wish to create.  You define your data objects and select the technologies that you wish to work with from a list that includes Spring, GWT, Hibernate, Spring Security, and Flex.  As you enter these commands, your application is generated for you and split into customizable code and code that is maintained by Roo.  As you make changes to your application, Roo automatically makes all necessary updates to the code it maintains.  Did I mention that it has an Eclipse plug-in? ... and that Roo can be removed at will from your generated application?

"Spring Roo 1.1 Cookbook" by Ashish Sarin is an attempt to reveal all of Roo's secrets and present them to the readers in cookbook fashion.

I'll get started by giving some information about the book's structure and organization.  It contains over four hundred pages with twenty-eight of them devoted to the GWT add-on.  The book is divided into 7 chapters, each of which contain several recipes.  Every recipe has sections titled "Getting ready", "How to do it", "How it works", and "There is more".  The "How to do it" section takes you through each step of action necessary to accomplish goals defined in the recipe's introduction.  "How it works" sections are especially useful as they explain what happens behind the scenes during every step, side effects of each action, and the recipe's impact on the big picture.

The "There is more" sections are a delight to read as they analyze how Roo responds in every possible circumstance, provide useful information on the trade-offs that accompany decisions made at design time, discuss short-comings of Roo, and describe how to workaround them - all in a clear and easy-to-understand manner.  In each chapter and almost each recipe, the book managed to provide information that I hadn't known about.

The Roo scripts, "source code," that accompany the book as a separate download are helpful in getting started with especially the more advanced recipes as they build on tasks accomplished in previous recipes.

Absolutely thorough on its main subject, this book does not leave anything unwritten about Roo.  It is so impressively detailed and informative that it would take months to compile all the information contained in the book through Web research.  It provides information about how to use Roo as well as Roo's inner workings.  Every possible Roo recipe is covered; from setting up validation to generating finder methods that scan multiple fields, to reverse engineering a database and configuring spring security with your web application.

"Spring Roo 1.1 Cookbook" covers Roo versions up to and including version 1.1.5, which is the latest official release.

The author doesn't just provide information on Roo; he expands the scope by giving information on all the technologies that Roo supports, including information on how to customize a Roo-generated Spring MVC application.  By reading this book, I have gained valuable knowledge on technologies that I haven't had a chance to work with.

I know that I have only made positive comments so far, but only because the book deserves it.  If I were to be forced to find one negative aspect of the book, then I would hesitatingly point my finger at lack of recipes on customizing Roo-generated GWT and Flex applications, which would have been nice extras to have.

In my opinion, the author, Ashish Sarin, is highly successful in his attempt to unleash all of Roo's power and uncover its secrets, excelling in the areas of clarity and attention to detail.  The book contains a myriad of information, which includes everything there is to know about Spring Roo 1.1.  It certainly looks and feels like the end result of considerable effort and hard work.  If you liked my posts on this blog, then you'll most definitely love this book and its simple yet detailed cookbook style.

You can download the first chapter of "Spring Roo 1.1 Cookbook" by Ashish Sarin from this link for free.

No comments:

Post a Comment