> Related to cocoon it seems I need to do all this through generators or
> actions ( I think), but It not seems the proper way because all my
required
> process will occurs out of SAX streams or related process (or I don't
> understand how to do it). Only in the load process my components will need
> to read some specific xml data for their configuration and initialization

> Also I will need my components make use of session management, caching,
> scheduling DB access and i18n ... should it manage it directly with java?
> cocoon? and/or avalon components?

Raul,

choosing a good application architecture even using just Cocoon can be
difficult, never mind adding Avalon components to the mix.  I think you need
to tell us some of the performance criteria: how many users max?  what kind
of data set sizes?  how many transactions per second, minute or hour
(whichever is relevant)?  The other thing that helps in this decision is
knowing how dynamic the data is and where it is sourced:  is every page
built dynamically, or are pages mostly static?  Is the data all XML, is some
of it relational DB, or does some come from other systems via EJBs?

If the answer is that performance scaling is not an issue and the data is
all XML and every page is dynamic then a pure Cocoon solution would make
sense.  If the answer is that performance is going to be a big problem, the
data comes from SJBs and everything is dynamic then pure Avalon components
might make sense.  If everything is static then just Apache might make
sense...

If you go with a pure Cocoon or mostly Cocoon implementation then I would
push for a design centered around implementing business rules via XML and
XSLT separated from data presentation (also based on XML and XSLT).  This
exploits the functional programming design of XSLT and minimizes procedural
logic coding.  This can be a hard thing to understand but is extremely
powerful and flexible if you take the time to learn how to do it (a
knowledge of LISP, Prologue and/or Haskell might help).  In such a design
you extract all business rules and all data as XML from various sources and
use the business rule data to first transform the data according to the
business rules (your interface contract) and then transform the data in a
second pass as needed for presentation.  If everything is dynamic you need
to also code metadata to determine what real data must be extracted. This
eliminates the need for logic-sheets and taglibs, using XSLT to filter the
XML instead.  You do end up coding Cocoon generators and actions to
implement such a design, but they are mostly trivial; they create the XML
and pass on or filter http response data as more XML for subsequent
processing steps.

If you're interested in pursuing this approach give me a reply back and I
can likely dig up some old threads in the archives on the topic.




---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>

Reply via email to