Thursday, September 1, 2011

Cock-a-doodle-ROO - Wake Up Java Developers

I just finished reading a new MEAP release from Manning Publications Company entitled "Spring Roo In Action".

First of all I am thankful for the Manning “In Action” series. As an avid technical book reader, I frequently check for what’s new and upcoming on the Manning MEAP list.

As I was beginning a new project recently (only requirement – get it up fast) I remembered reading about Spring Roo. Having been a long time user of Java and a fan of Spring I thought I would give it a try.

Over the past few years in my day job I have continued to develop enterprise Java applications using the best frameworks the Java community offered. That meant Spring, JPA with Hibernate, Apache Tiles, and Apache Maven. Having the knowledge of all these frameworks and how to configure and use them together made me a sought after technical resource.

However, in my freelance and personal web development over the past three years I have been enamored with Ruby on Rails (RoR). RoR offered everything the collection of Java frameworks was missing - notably an easy and understandable way to bring them all together and use them. 
Enter Spring Roo - the Java community's answer to RoR, with improvements. As I got further and further into developing my new application using Spring Roo, the more I noticed the similarities to RoR and the distinctions or improvements.

But, this is not a post about my journey from Java to RoR and back. It is a review of an excellent resource for my fellow Java journeymen. "Spring Roo In Action", written by Ken Rimple, Srini Penchikala and Gordon Dickens, is a great book for those who know Java and Spring and are looking for an excellent resource to get them going on the road to rapid enterprise development. 

Although the authors don't explicitly state it in the MEAP version of the book, this book it best suited for the Java developer who is at least familiar with Spring, JPA, Hibernate, Tiles and Maven. 

The book starts off with an excellent explanation of Spring Roo and why it is so desperately needed in the enterprise java community. Following the introduction to Spring Roo the authors take you through a brief but complete example of how fast you can get up and running. Following the "Getting Started" section of the book the authors step the reader through the important add-ons Roo offers. 

With chapters on Database Persistence, Spring MVC and Web Flow, Security, Testing, and Enterprise Services such as email and JMS, the MEAP version the book is quite complete as a go to guide for the Java developer wanting to learn and use Spring Roo.

Overall the book covers everything from the simple to the most complex Spring Roo application development details. It is obvious that this was written by someone who has used Spring and has built a “real” application using Roo. As I was developing my first Roo application while reading the book, I felt as if the authors anticipated the questions I was going to ask and answered them in the text of the book. 

 The writing style of "Spring Roo In Action" is very consistent with what I have experienced from other books in the "In Action" series. The level of technical detail, the code examples, and the pace that the authors take you through the material is just right. Throughout the book the authors step you through examples and provide enough details about what is happening behind the scenes that you are left with a good understanding without being bored. The book also includes helpful reference material in the form of tables and diagrams that can be used to refresh your memory or answer a question.

I would recommend "Spring Roo In Action" to my fellow Java developers who are looking for the next revolution in enterprise java development. Spring Roo is not just another framework to be used, but as the authors explain and demonstrate so well, Spring Roo is giant step forward in Java web application development.