You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by "Karr, David" <Da...@wamu.net> on 2004/03/25 01:01:25 UTC

Future Struts evolution: look at elements of BEA Page Flows

Before I go any further, I'd like to say that I haven't had time to go
over any of the proposed future architectural ideas for Struts going
forward.  Nevertheless, as I put on my flame-retardant gloves, I'd like
to know if anyone thinking about this has examined the elements of the
BEA Page Flow architecture.  I can't call myself an expert with this,
but I've seen enough to be intrigued.

The Page Flow architecture is an extension of Struts 1.1 (it uses it
internally, and also allows build time and run time integration of pure
Struts applications).

The high-level elements that I think are intriguing, and might have some
application to the Struts architecture, would be the following:

Each "Page Flow" is represented by a Page Flow Controller class.  A Page
Flow corresponds to a Struts Module.  Every action in a Page Flow
(module) is handled in the single controller.  The routing of Forwards
to action methods is basically done through reflection, as opposed to a
configuration file mapping.  One instance of the Page Flow Controller is
created for every user session.  The properties of the controller are
read and modified to keep track of a user's progress.

ActionForms are also used as an additional way to transmit and collect
user data, although since Page Flows are easily nested, you tend to
write smaller page flows where most of the transient user data is stored
in the Page Flow Controller instead of ActionForms.

I don't really have any idea how the evolution of Struts should work
with the evolution of JavaServer Faces. I can only look a short distance
ahead.

Although BEA Page Flows are part of a commercial product, BEA has been
attempting to release several elements of their newer products as
open-source projects.  I wouldn't be at all surprised to see them
release much of the Page Flow architecture as a SourceForge project in
the very near future.

If you wanted to examine Page Flows and try it out, all the tools and
documentation are freely downloadable.  The WebLogic Platform EvalGuide
has tutorials on Page Flows (and other aspects).  It obviously requires
WebLogic for this, but the intent is that Page Flow applications that
don't use EJB elements can be deployed to Tomcat or any Servlet 2.3
container (I don't know how/if they would handle licensing for this).
The tutorials mostly focus on using the Workshop GUI to do this work,
but from our point of view, it's useful to understand the architectural
elements the GUI is operating on.

---------------------------------------------------------------------
To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-dev-help@jakarta.apache.org