[strutsit-developer] Again back and contextes
Status: Inactive
Brought to you by:
manfredwolff
|
From: Manfred W. <ma...@ma...> - 2004-01-30 18:57:46
|
Moin,
Axiom: Everythink that might be a good idea to extend struts is already
implemented by Craig R. McClanahan. Our ideas from prologistic of
request/responses in business logic are the goal of a project named
agility. Description in added on the end of this mail.
Axel has convinced me, that a real back mechanims must save all the
information, that are used by the step before. That might be:
- Contextes (later on).
- The session informations
- The request informations
My idea was it to force a redirect so the request attributes (not the
parameter) will be lost. I think thats a good plan first.
I think for context informations we shall use commons-chains, because
the basic concepts as contextes, commands etc. are implemented in this
early beta sandbox component. The next step for me is to implement a
back strategy I has explained some weeks before. When I have checked in
we can add other concepts like. I need one or two weeks (beside the
book) to implement it.
Bye
Manfred
Agility
Agility is a working project name for a business applications framework
based on the Commons Chain package.
The core idea behind Agility that is as much work as possible should be
pushed up to the business layer. Input and output is encapsulated with a
Context object that is passed to and from Agility using a
ProtocolAdaptor. Depending on its implementation, a ProtocolAdaptor may
collect input and deliver output directly from the native platform or
from a presentation framework.
Agility is a Request/Response framework: for each request there is a
response. The request is encapsulated in a Context object, which
includes a Command identifier. Each request must correspond to a
Command, which may also be a Chain of Commands. Commands may nest or
chain other Commands as needed. The request Command is referred to as
the "Action".
When a request comes in from the presentation layer (or a presentation
framework), it is received by a ProtocolAdaptor. The ProtocolAdaptor
extracts the Action Command name from the native request and consults
with a ContextFactory to generate a Context for the request. The request
Context is then passed to the RequestProcessor for the given protocol.
The RequestProcessor is a Command Chain which includes (at a minimum) an
Action Command. Each protocol can have its own RequestProcessor, which
may be a combination of protocol-specific and generic commands. The
Action Command (or Chain) is the core unit of work for the request.
The Action Command may consult business rules and the persistence layer
to complete the unit of work. Any output or messages generated by the
Action may be added to the Context under predetermined keys. If the
Action completes normally, an attribute is added to the Context to
signify the outcome of the Action. The value of the outcome attribute is
arbitrary and defined by application implementing the framework
("success", "failure", "xylophone").
When the RequestProcessor Chain completes, the Context is returned to
the ProtocolAdaptor. Agility defines the ProtocolAdaptor interface but
does not provide an implementation. If the ProtocolAdaptor is a simple
Servlet, it may forward to a server page by munging the outcome value.
If the ProtocolAdaptor is a presentation layer framework, it may pass
the value to an internal mechanism that selects or assembles a server
page, or generates a dynamic response. A ProtocolAdaptor might even
utilitize its own "ResponseProcessor" to execute a series of Commands to
assemble an approriate response.
--
===========================================
Dipl.-Inf. Manfred Wolff
-------------------------------------------
phone neusta : +49 421 20696-27
phone : +49 421 534522
mobil : +49 178 49 18 434
eFax : +49 1212 6 626 63 965 33
-------------------------------------------
____________________________________________________
Diese E-Mail enthält möglicherweise vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
|