BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

Interview: Spring Web Flow with Keith Donald

| by Floyd Marinescu on Jul 02, 2007. Estimated reading time: 2 minutes |
Spring Web Flow (SWF) is a framework for modelling and controlling the execution of multi-step work flows in web applications. Flows often execute across HTTP requests, have state, exhibit transactional characteristics, and may be dynamic and/or long-running in nature.  In this interview, SWF co-lead Keith Donald talks about how Spring Web Flow works, the abstractions modelled in Web Flow, support for the back button, continuations, how state is saved across web requests, how an existing app may be refactored to use web flows, and how Web Flow interact with web frameworks like Struts, Spring MVC, and JSF at runtime.

Watch Keith Donald on Spring Web Flow (27 min).

From the interview:
What we offer is a controller framework that allows you to develop these modules or flow definitions that are definitions of tasks that the user can participate in;  representing things like applying for a loan, booking a flight, searching encyclopedia; any kind of use case that the web application can perform can be captured in a flow definition and we have a dedicated flow dedication language which provides a higher level abstract, almost a DSL for developing and writing UI flows, modeling dialogues.

This abstraction, this language provides that up-one level from the low level http building blocks world and provides an abstraction that allows developers to write their controller logic, test that controller logic without any dependency on any other technology because it is a very self-contained framework. Once that controller logic has been tested and you know your rules, your navigation logic for applying for a loan is sound, that logic can then be deployed and executed inside a servlet engine like Tomcat as part of a web application. Spring Web Flow ties into your most popular MVC framework like Spring MVC, Struts; we also have JSF integration.

It basically provides an environment for folks to model user interactions in a dedicated definition language, test those interactions and then think about plugging those in to their favorite web framework and we’ve seen productivity benefits there and the testability that our Web Flow enables and we've also seen leverage that our users got because once you got these workflow definitions they can run and execute these definitions in a variety of environments from Struts, Spring MVC, but also portlets as well. The same flow definition once built can be deployed within a server environment,  in a portlet environment without any change.


Spring Web Flow is being used by Orbitz (I spoke to them at The Spring Experience), United States Portal Service, and the European Patents office, among others.  This interview was recorded at The Spring Experience this past December.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT