Tuesday, March 7th, 2006
Spring Web Flow (SWF) 1.0 EA, the proposal for what will become Spring 1.0 final, has been released.
The sample flow is a wizard that makes Ajax calls to the server to complete processing. This wizard takes the details about a package shipment over several steps and on completion calls a backend service to calculate the shipping rate:
The techniques demonstrated are:
– Creating a single flow definition responsible for conversational state management and response orchestration of the ‘shipping rate’ task portable accross Struts, Spring Servlet/Portlet MVC, and JSF environments:
– Submitting the _flowId request parameter to tell the flow controller which flow needs to be launched:
– Submitting the _flowExecutionKey and _eventId parameters to resume a launched flow to tell it what happened in the current state of the conversation:
In summary, with Spring Web Flow 1.0 EA and onward it is possible to launch, participate in, and query ongoing conversations that represent discrete, stateful, portable user interactions with the server using Ajaxian techniques. Expect additional patterns, best practices, and examples to emerge to further showcase this integration in the near feature; contributions and feedback in this area are welcomed and encouraged.
Spring Web Flow is a product of the Spring community focused on the definition and execution of page flow within a web application.
The system allows you to capture logical page flows as self-contained controller modules that are reusable in different situations. The system is ideal for web applications that guide users through controlled interactions that drive business processes. These user interactions, or conversations, typically span HTTP requests and may be dynamic and transactional in nature.
As an embeddable page flow engine, SWF integrates with existing frameworks such as Spring MVC, Spring Portlet MVC, JSF, and Struts. Flow definitions are reusable accross environments without coupling developer application code to Spring Web Flow APIs.
The new and noteworthy for the 1.0 EA release are major and outlined in detail in the original springframework.org announcement.
Posted by Dion Almaer at 9:50 am