Monday, September 28, 2009

Book Review: The Definitive Guide to Spring Web Flow

Book Review: The Definitive Guide to Spring Web Flow
Author: Erwin Vervaet
Publisher: Apress Inc
ISBN: 978-1-4302-1624-7

The first thing about The Definitive Guide to Spring Web Flow that I noticed, and the book was very up front about, it only covers Spring Web Flow v1.0. In the introduction it states that this book only intends to cover the core concepts about Spring Web Flow and the details about v1.0. It states that v2.0 is dramatically different and is a subject for another book. If you’re starting out in Spring Web Flow then you might want to pass on this book and look for another book that specifically focuses on the Web Flow v2.0. However, if you have a need to learn v1.0 this may be a book for you.

The book starts out with an introduction to what Web Flow is and how to get it setup. It then proceeds to explain the basics of web flow and how to get the jars and setup an IDE. I think that this part is a little overkill since anyone with enough Java knowledge should know how to add the dependencies through Maven, Ivy or to manually copy of few jars and add them to your classpath. From there it takes you through the background of what is a web flow and how to plan a web flow in the code. From entry points to exceptions it covers the necessary points to get going with Spring Web Flow v1.0. Chapter 8 gets into the testing of a web flow and how to mock out the flow objects. This takes the unit testing to a new level in my case since in our traditional web applications that I have worked on we have not come close to testing the flows of a page with unit tests. At best we have only tested the individual pages in isolation. The next chapter walks you through an example application. Where other chapters may have left you wondering how to do something with minimal examples this is a full detailed application to get you started with Spring Web Flow. I wish more books would take this concept of using one full chapter and go through a application from start to finish like this.

The book continues on with some real world use cases and a short piece about how to extend web flow to meet any special needs that you may have. The real world cases was nice but I didn’t get much from that as I know where web flow will fit into the tools that I need it to and where I’m going to use it. The extending web flow chapter was a good quick coverage of how to manipulate the web flow for you unique cases. Maybe I read this part too quick, too late at night or the editors got to it and remove too much but I thought that it was lacking some of the good detail that was presented in the other chapters.

Overall, I do recommend this book with the caveats that you understand that this is about Spring Web Flow v1.0.

Tuesday, September 22, 2009

Book Review: Beginning Scala

Book Review: Beginning Scala
Author: David Pollock
Publisher: Apress Inc
ISBN: 978-1-4302-1989-7


I’ve been hearing about various other languages that are available for the JVM for a while. I’ve seen presentations at my local Java user group and at conferences like NFJS and TechFest however, until now I have not really checked into what all of the excitement is about. I just received the book Beginning Scala by David Pollak and read the first 4 chapters the first night. Over the next few days I finished out the rest of the book. I like the idea of a better than Java language as I will admit Java is not perfect. It takes more code than it should to accomplish some tasks. However, is Scala the best alternative to languages for the JVM, I think that the jury is still out. Scala brings to the table a more simple construct but does have a learning curve from Java. Scala is much more functional than Ruby, has better synchronization than Groovy and includes immutability which Java should have had in the first place. The only downside that I can see (and this is just from reading the book without experience in Scala) it may be a little too terse.

The book itself is a great introduction to Scala and if you have not used a dynamic language and want to start with Scala you need this book. It takes you through, rather quickly, the installation and basic syntax of the language. I wish that this part was explained a little more but it does get its point across. I would also like to see more comparisons against Java. Since most people that would be using this book would probably know Java it would be helpful to have more comparisons especially in the syntax area. The rest of the book walks you through using collections, JDBC and Scala’s strong suit concurrency plus a few other items. I also think that the author’s writing style and grammar was excellent for this type of book. Many times you read a book in the information technology field and there is poor sentence structure and spelling mistakes. I did not see any blatant issues at least in my first pass through the book.

The last chapter (9) gives you a compelling reason to start using Scala and introduce it into your corporate culture. Working at a large company that has known to not live on the technological edge, language wise, I know what kind of uphill battle it may be to bring a new language into a company. However, this language may be on my list to work with over the next year.