Expert Spring MVC and Web Flow

(Dana P.) #1

Architectural Overview


As Figure 11-3 illustrates, Spring Web Flow integrates with Spring MVC, Spring Portlet MVC,
Struts, and JavaServer Faces ( JSF). Because Spring Web Flow is very self-contained, the entry
points to all these frameworks are consistent, and therefore the cost of integration is minimal.


Figure 11-3.Overview of integration options


Integration with other frameworks is done by way of a Front Controller (http://java.sun.
com/blueprints/corej2eepatterns/Patterns/FrontController.html)—associating a flow with
a URL that is backed by a Controller.


Inside the Spring Web Flow System


Inside Spring Web Flow a central FlowExecutionManagerfaçade is responsible for launching
executions of flows on behalf of clients. These flow executions represent new user conversa-
tions with the server. Each conversation is given its own local data structure, called flow scope,
allowing for storage of conversational state. Spring Web Flow fully manages the storage and
restoration of these FlowExecutionobjects in a repository, and automatically discards them
when a conversation ends.


Spring Web Flow


webflow.manager.mvc.FlowController

webflow.manager.jsf.FlowNavigationHandler webflow.manager.mvc.PortletFlowController

webflow.manager.struts.FlowAction

Struts Spring MVC


JSF Portlets


CHAPTER 11 ■INTRODUCTION TO SPRING WEB FLOW 315
Free download pdf