One of my favorite new features of Skyway Builder 6.2 is support for Spring Web Flow, a project from SpringSource for simplifying the development of web applications.  While Spring Web Flow is compatible with Spring MVC, Spring Web Flow uses flows instead of controllers for implementing the web layer of an application.  Since Spring Web Flow has functionality for managing application state, it is best suited for implementing the functionality where the activity being performed by the end-user spans multiple page requests.

For example, an online commerce application typically has checkout functionality which spans multiple pages.  One page may require that you confirm the items in your order, with the option to add/remove items and change quantities.  The next page may solicit shipping information, including picking shipping options and providing a shipping address.  The next page is used for entering billing info.  The bottom line is that checkout is a unit of work, and there are many intermediate steps to complete the checkout process.

A group of related steps to accomplish a task are referred to as a Flow.  While this functionality can be implemented with Spring MVC, Spring Web Flow has features that make it considerably easier, including:

  1. XML-based flow definitions – The flow of the application is defined in XML.  No custom Java is needed to implement a flow.
  2. Expression language support – An expression language lets you leverage logic from the other layers of the web application.  Logic that a developer would typically put into a controller, that isn’t handled by Spring Web Flow, can be expressed in XML using the expression language.
  3. State management – Variables can be scoped (many scopes are supported), and Spring Web Flow will automatically handle the cleanup of those variables when they are out-of-scope.
  4. Modularization of flow logic – Flows can be re-used from other flows.

Spring Web Flow was used successfully in earlier versions of Skyway Builder, but there wasn’t any automated support for Spring Web Flow.  Skyway Builder 6.2 reduces the complexity of adding Spring Web Flow support by automatically configuring the project for you.  The moment you add the first flow to your project, Skyway Builder will add the necessary Spring configuration and libraries.  That by itself is a significant time saver, but Skyway Builder goes one step further in regards to Spring Web Flow (see feature preview #4).

To stay in the loop on the upcoming 6.2 release, please follow us on Twitter or join the Skyway Community. As one of the many benefits of joining our community, you will automatically receive product announcements and updates.

Bookmark and Share

Tags: , , ,

{ 3 Comments }
  1. Skyway Team Blog » Blog Archive » Skyway Builder 6.2 Feature Preview - #4 Spring Web Flow - Visual Flow Editor says:

    [...] « Skyway Builder 6.2 Feature Preview – #3 Spring Web Flow Support Mar 23rdSkyway Builder 6.2 Feature Preview – #4 Spring Web Flow – Visual Flow Editor neyde | [...]

  2. Skyway Team Blog » Blog Archive » Using Spring versus Pure Spring, What’s the difference? says:

    [...] was working on a different blog post, and I went on a little tangent regarding the misconception of some developers regarding the web [...]

  3. Skyway Team Blog » Blog Archive » Skyway Builder 6.2 Feature Preview - #5 Enhanced Spring MVC Support says:

    [...] Builder 6.2 has undergone some big changes in the web layer.  In addition to adding support for Spring Web Flow, the support for Spring MVC has been enhanced.  The signature of on an operation can now be [...]

Leave a Reply