Monday, December 19, 2011

If the stairs aren't fast enough, use the Lift!

Ahh, Scala - the thinking man's programming language for the JVM. As a programmer / architect for the past 15 years I've seen my share of trends and fads come and go. Heck, I've been a part of some of them. Over the past month I have been looking for the "next" thing in web development and enterprise architecture. There were two topics that hit my radar and made it through my various filters. Big Data and Scala. More on Big Data in a future post. 
As I looked at Scala and it's use in enterprise architecture and programming I got more and more interested. Since I am looking specifically for enterprise web solutions I was naturally led from Scala to Lift (http://liftweb.net/). Since one of my filters on new and upcoming technology is the publication of new books on the subject, a new book on Lift was definitely something worth looking into. 

Lift In Action (http://www.manning.com/perrett/), published in November of 2011, a title from Manning Publications popular "In Action" series was a pleasure to read and work through. Since I am just now learning Scala I was a bit concerned that I would be lost when I started reading Lift In Action. That was not the case! Mr. Perrett does a fine job of getting the reader into the subject matter and in the "In Action" style, right into understanding the technology and getting something working quickly. By page 30 you already have a running Lift app.

After the "Hello Lift" application in Part 1 of the three part book, Mr. Perrett takes you through a tutorial in Part 2 and then offers a fairly comprehensive reference in Part 3.  The tutorial is fast paced and in my opinion leaves out a little too much detail. The source code is available for download, however, after the construction of one view to model use case the book simply states :

"Notice that the argument list includes some models that we haven’t explicitly covered. Rather than cluttering these pages with lots of code definitions that are largely similar to the Supplier model, you can find the code for the other models in the online repository on github.com (http://github.com/timperrett/lift-in-action)."

I was able to figure out how the rest of the views and models got created after examining the source code for a couple hours. I would have liked to see more of the "cluttering" in the book. What was explained in the book was done well. 
As an added bonus when I purchased Lift In Action from Manning they offered me Scala In Action at a discount. I will be reviewing that book in a future post.

Overall, I am very happy with Lift In Action and would recommend it to anyone interested in learning more about Scala and how it can be used to build enterprise web applications.

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.