Review of Spring Web Flow 2 Web Development

I was approached by one of the editors at Packt Publishing about doing a review of Spring Web Flow 2 Web Development.  I obviously said yes, the title of this post *is* “Review of Spring Web Flow 2 Web Development”  :)  Plus, I really don’t have much experience with Spring Web Flow 2 (SWF2) and felt doing the review made perfect sense.

For those of you that appreciate my short, don’t-hold-back, opinions, I’ll start there:

Spring Web Flow 2 Web Development is both a great “getting started” book for people wanting to learn SWF2 and serves as a good high-level “getting started” with web programming using Spring / Java EE.  Definitely worth the time and money.

Now my detailed review:

Again, I really liked how Spring Web Flow 2 Web Development serves as both a jump-start on SWF2 and also covers technologies outside of SWF (Spring Security, build tools, Apache Tiles, etc).  The book isn’t a detailed reference manual, that leaves you feeling you still don’t know how to use the technology, but gives the right amount of walk-through examples and framework documentation.

When finished with the book you will understand how to install SWF2, how to build and use the examples.  You will have numerous, feature-rich examples the authors build throughout the book.  You’ll know how to use SWF2 in a request-respone Spring MVC app and also with a JSF application.  You  get a solid tutorial on using Apache Tiles (kind of odd in a SWF book), a very detailed explanation of Spring Security and integrating Spring Security with SWF.  You also will understand how to test your flow definition and SWF application while also learning about EasyMock.

Here are my bulleted notes chapter by chapter:

ch 1:
Very short, brief intro to Spring Web Flow 2.
High level terms and definitions

ch 2 setup and example app:
install swf2
discuss the distribution
discuss the example apps and how to build from src
covers build systems (ant, mvn, ivy)
eclipse and spring ide
then a thorough example app
-flow definition
-service layer
-dao with jpa impl

ch 3
web flow documentation
detailed look at flow definition (.., scopes, states)
least favorite chapter
hard to read, not enough example tying concepts together

spring faces
starts with intro to jsf
I’m not interested in jsf

ch 5
sub flows – built on ch2 and ch3
spring javascript abstraction
oddly placed apache tiles tutorial for combining swf, spring js, and tiles
reference for web flow configuration

ch 6 testing swf apps
covers use of AbstractXmlFlowExecutionTests
short intro to EasyMock
tests subflows

ch 7
really good intro spring security
spring security and swf

java personal

Keith Donald Delivers Great Spring Web Products Talk…

Last night the Spring Dallas User Group was lucky enough to convince Keith Donald to fly up and talk to us about the Spring Web products (Spring MVC, Spring Web Flow, Spring JavaScript, and Spring Faces). A large chunk of Keith’s talk was on annotation-based Spring MVC along with the Spring JavaScript product. Both looked great! Between Keith’s talk last night and Craig Walls’ talk last month, I think I’m ready start doing all my Spring MVC development via annotations.

Of course, I’ll need to spend some time getting up-to-speed on all the convention over configuration rules that are available. Thank God, that the SpringFramework has top-notch documentation, or I wouldn’t be able to figure out all the convention rules/options. (That was one of my main mental roadblocks that kept me away until now)

Keith also spent some time last night showing off Spring Web Flow, which is a great DSL for defining stateful web flows inside a Spring MVC webapp. Keith wrapped up with a very quick demo of Spring Faces. I’m sure JSF people will find value in that product, but I’ll stay with Spring MVC.

Keith’s talk was based on the samples that go with the new Spring Web Flow 2 release.