mework.spring-webflow.1.0.source-code.overview.html Maven / Gradle / Ivy
The public Java Documentation for Spring Web Flow, a framework for modeling and executing user interface flow.
Spring Web Flow's packages are partitioned across a set of logical layers. Higher layers depend on the layers directly beneath. Lower layers never depend on higher layers.
The layers of Spring Web Flow, from lowest to highest, are shown below:
Layer architecture diagram
The description, subsystems, and source packages of each layer are summarized below:
Execution Core Layer
Contains the central public Spring Web Flow API elements. This includes elements to model flow definitions
as well as execute those flow definitions. As the "bottom layer", this layer defines key domain interfaces and is highly stable.
Subsystems
- {@link org.springframework.webflow.core Core}
- {@link org.springframework.webflow.definition Flow Definition}
- {@link org.springframework.webflow.definition.registry Flow Definition Registry}
- {@link org.springframework.webflow.context External Context}
- {@link org.springframework.webflow.conversation Conversation}
- {@link org.springframework.webflow.execution Flow Execution}
- {@link org.springframework.webflow.execution.repository Flow Execution Repository}
- {@link org.springframework.webflow.action Action}
- {@link org.springframework.webflow.util Util}
Executor Layer
Contains services called "flow executors" that drive the execution of flow definitions. This layer defines the
core FlowExecutor service interface and implementation, as well as adaption code for executing flows in several
specific environments. Support for Spring MVC, Struts, and Java Server Faces (JSF) environments is housed here.
This layer depends on the stable Execution Core, but is not coupled to the more volatile Execution Engine
implementation.
Subsystems
- {@link org.springframework.webflow.executor Core}
- {@link org.springframework.webflow.executor.mvc Spring MVC}
- {@link org.springframework.webflow.executor.struts Struts}
- {@link org.springframework.webflow.executor.jsf Java Server Faces (JSF)}
Execution Engine Layer
Contains concrete implementations of the stable Execution Engine abstractions. This layer defines the
finite-state machine that carries out runtime flow execution. It also contains a builder subsystem for
assembling flows from externalized resources such as XML files.
Subsystems
- {@link org.springframework.webflow.engine Engine Implementation}
- {@link org.springframework.webflow.engine.builder Flow Builder}
Test Layer
Contains support code for testing flow executions. Two types of support are provided: stubs for unit
testing engine artifacts, and base classes for writing flow execution integration tests. This layer
depends on the Execution Core and Execution Engine layers.
Subsystems
- {@link org.springframework.webflow.test.engine Unit Test}
- {@link org.springframework.webflow.test.execution Execution Test}
System Configuration Layer
Subsystems
Contains support for configuring the flow executor engine using Spring. A Spring 2.0 config schema is provided.
This is the top layer and depends on the Execution Core, Executor, and Execution Engine layers.
- {@link org.springframework.webflow.config Spring Configuration Support}