I've found different sorts of logic suggest a natural meshing of Cocoon and
Turbine. My current real world example:

Stateless Logic: One form in a client's enrollment process has nearly a
seventy fields (ugly html, decidedly), and they all have various validation
rules that may depend on one another. If I need to change the validation
rule on the twenty-first field, I do NOT want to have to edit even two
characters of code and recompile. Validating forms and such is an example of
logic best represented as external metadata, such as in an XML document
automatically mapped to that HTML page (or JSP, or raw Servlet request) by
an XML schema engine. I edit the XML file, the schema engine refreshes its
cached mappings, and the new validation rule is in effect. If XML schemas
are dirty -- consider Ant, with its ability to handle dependencies and
change the order of generic task execution without requiring any coding, and
while making it easy to maintain.

Stateful Logic: That form mentioned above exists within a lengthy enrollment
process that involves executing a particular unit of logic and producing web
output, then executing another unit of logic that depends upon the status
produced by the first execution. Generically, the first execution may
require EJB access, the second may require an update to a shared
servlet-contained data collection. Cocoon doesn't help me with this without
considerable taglibs mapping to numerous hidden form fields and the like,
while Turbine almost makes it a non-issue, and easy to maintain.

My overall framework follows along the lines of Turbine, but XML
transformations are an invaluable, designer-friendly utility saving tons of
time within that framework.

psn
-- 


> From: jon * <[EMAIL PROTECTED]>
> Reply-To: "Java Apache" <[EMAIL PROTECTED]>
> Date: Tue, 18 Apr 2000 14:58:08 -0700
> To: Java Apache <[EMAIL PROTECTED]>
> Subject: Re: Update: Tapestry -- Possible contributiontotheJavaApacheproj ect
> 
> on 4/18/00 2:37 PM, Stefano Mazzocchi <[EMAIL PROTECTED]> wrote:
> 
>> Why?
>> 
>> <process/>
>> 
>> could be translated into
>> 
>> <xsp:expr>NovellBusiness.process()</xsp:expr>
>> 
>> then the logic can reside in you save java object code. Taglibs are not
>> evil, man :) It's how you use them.
> 
> Still doesn't really solve the logic problem across N number of pages. That
> is the point here. This isn't about simply querying once for the business
> logic...this is about building the business logic up across a set of actions
> that are all fundamentally disconnected in execution. It is about carrying
> data across multiple page invocations where each one decides the execution
> of the next one. Essentially it is a configuration tree...I want to see you
> build one of those with Cocoon...
> 
> Here is a good example...
> 
> <http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore.woa/211/wo/0hYC
> g0TyFvessO21bh/1.3.0.3.27.23.1.3.15.3.1.1.0?31,13>
> 
> Create this web application using Cocoon and add in a little complexity such
> as if there is a modem, then don't include an airport card and if your
> account number starts with the letter "F" then add 10% to the price.
> 
> Oh yea...and put each one of the configuration steps on its own page and
> make it so that someone can go from page 1 to any higher page (ie: page 4)
> and have it take the default values between the pages and apply them.
> 
> (note that all this also has to be designed into a back end database that
> can relate all this logic together)...no static html here...
> 
> Oh yea...and add on top of that a complete permissions/roles scheme that
> adds administrative functions on each screen depending on who you are...
> 
> Oh yea...and then add context sensitive help so that for each different
> screen you are on, there is a button that you can click that will popup a
> little window that displays a help screen that is customized for that
> particular user and screen.
> 
> Good luck embedding all that in a set of taglibs.
> 
> This is the type of sh*t that I have had to deal with in the past and I
> promise you that Turbine + Webmacro is an excellent framework to get this
> job done quickly and with the least amount of pain...
> 
>> If a company has a shitty business practice? C'mon!
> 
> Stefano...when you need to get a job that actually pays your salary you will
> understand that you need to do whatever they want to make them happy.
> Regardless of how f*cked up they are. :-)
> 
>> ??? we are talking about two different things.
> 
> No, we aren't. You don't understand the functionality because you haven't
> had to implement it yet.
> 
> -jon
> 
> --
> Scarab -
> Java Servlet Based - Open Source
> Bug/Issue Tracking System
> <http://scarab.tigris.org/>
> 
> 
> 
> 
> --
> ----------------------------------------------------------
> To subscribe:        [EMAIL PROTECTED]
> To unsubscribe:      [EMAIL PROTECTED]
> Archives and Other:  <http://java.apache.org/main/mail.html>
> Problems?:           [EMAIL PROTECTED]
> 
> 



--
----------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives and Other:  <http://java.apache.org/main/mail.html>
Problems?:           [EMAIL PROTECTED]

Reply via email to