More Thoughts of Spring
Continuing my mini-series on Spring, this time we'll look at a very interesting technology. The Spring web flow essentially sits on top of the Model-View-Controller (MVC) design pattern. The use of tested design patterns lends your software the promise of loose coupling. The opposing (anti-Spring) point of view is that the use of the Spring MVC pattern and web flow ties you ever-closer to Spring technology! Regardless of your viewpoint, web flow provides a very powerful model for view navigation and conversational-style web application design.
Freedom in defining view navigation and state control facilitates easy access to your data model and very flexible user interaction. An example of the latter is the fact that flows can have sub-flows, and the whole flow infrastructure is managed transparently for you.
If you don't like Spring and its incorporation of MVC, you probably won't like the Spring web flow. My own view is that it's not difficult to understand and use the web flow, so it's worth at least looking at it before making up your mind. Let's start by examining what goes into the makeup of a simple web flow application.