Hi Wouter,

just to clarify one thing:

> In your approach I was always wondering about these methods 
> in the presentation classes, I understand why they are there, 
> but I always thought that in Struts Form Beans ought to be 
> simple beans, without any business logic (even delegating) 
> ... anyway, I am confident we'll clear this up and come to an 
> agreement

The presentation class in the UML model should generate a JSP plus a
struts form bean. The methods become buttons in the JSP and are not
generated into the form bean. They serve as "events" to the controller
class.

Cheers...
Matthias


> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf 
> Of [EMAIL PROTECTED]
> Sent: Monday, October 13, 2003 10:34 PM
> To: "Matthias Bohlen"
> Cc: [EMAIL PROTECTED]
> Subject: [Andromda-devel] RE: bpm4struts
> 
> 
> hello Matthias,
> 
> 
> >I'd like to follow your suggestion of September 21 where you say:
> >
> >> Btw, currently I have improved the cartridge already 
> considerably, I 
> >> have taken your input into account and this has lead to some other 
> >> significant changes. I will not go into that yet, as I 
> will write a 
> >> nice document to describe them all. ... snip ...
> >> I propose this: I will continue to work as it is now, I will finish
> >> it and put a first beta in CVS, give everybody the time to 
> try it out
> >> and give some feedback. Given all that input we can then compile a
> >> new strategy for this cartridge if needed. Is this okay ?
> >
> >I found this very reasonable. Discussing an intermediate result is 
> >always easier and more effective than discussing a possible future 
> >result. :-) So, I'd like to wait for your first beta to 
> appear in CVS 
> >HEAD, along with the document and sample model that you mentioned 
> >below. Then, I'll have another (closer) look at it and give you 
> >feedback.
> >
> 
> Very happy to see it's getting along; as I mentioned before, 
> this week will be difficult, but next week you can expect 
> something in CVS, with documentation and a sample. The sample 
> will not be part of the CarRental (too much), but a smaller 
> temporary model showing the features.
> 
> >Makes me curious what's coming up... ;-)
> >
> 
> FYI and to already give you an idea about the way I handle 
> the JSP <--> Controller events, here is what I had in mind 
> when writing the cartridge:
> 
> 1) I concluded that since we are modeling the process objects 
> an action state maps onto a specific state of the front-end, 
> in our case the rendering of a Struts/JSP page.
> 
> 2) process states that do not need an actual View are modeled 
> using ObjectFlowState elements.
> 
> 3) Per use-case (activity graph) there is 1 and only 1 
> controller class, the Struts DispatchAction suits this job very well
> 
> 4) an action triggered from a JSP page would call the 
> controller class, each page has a specific action to call 
> (remember, a DispatchAction has several 'execute()' methods), 
> this is achieved by the cartridge taking a look at any 
> triggered transitions going out of the action state (this JSP page)
> 
> 5) no business logic anywhere in the front-end, only calls to 
> the back-end (such as EJB facades (called Services in 
> Andromda UML modeling) or something) ... etc
> 
> my experience was that this is very easy to model, I always 
> found the modeling of classes with methods very cumbersome 
> (but that's hardly a reason not to do it :-);
> 
> anyway, the result is a controller class per use-case and a 
> method in this controller class per action state in that 
> use-case, that method will known what kind of trigger 
> originated the event
> 
> short example:
> 
> If you have a JSP asking the user if he is sure to log out or 
> not, providing two buttons 'Yes' and 'No', you would have these files:
> 
> ask-if-user-is-sure-to-logout.jsp
> 
> <html:form action="/LogoutController?target=askIfUserIsSureToLogout">
>   <html:submit property="trigger" value="YES"/>
>   <html:submit property="trigger" value="NO"/>
> </html:form>
> 
> (or hyperlinks, depending on what is desired) LogoutController.java
> 
> public ActionForward askIfUserIsSureToLogout(ActionMapping, ...) {
>   final String trigger = form.getTrigger();
> 
>   if ("YES".equals(trigger))
>     ...continue...
>   else if ("NO".equals(trigger))
>     ...continue...
>   else
>     return null;  // application error, should never occur!
> }
> 
> 
> I always liked this and felt comfortable with this approach 
> since everything seemed to fall in place, but then again.. we 
> never know what issue might popup ;-)
> 
> In your approach I was always wondering about these methods 
> in the presentation classes, I understand why they are there, 
> but I always thought that in Struts Form Beans ought to be 
> simple beans, without any business logic (even delegating) 
> ... anyway, I am confident we'll clear this up and come to an 
> agreement
> 
> >Cheers...
> >Matthias
> >
> 
> b-bye
> Wouter.
> 
> __________________________________________________________________
> McAfee VirusScan Online from the Netscape Network. 
> Comprehensive protection for your entire computer. Get your 
> free trial today! 
> http://channels.netscape.com/ns/computing/mcafee/index.jsp?pro
mo=393397

Get AOL Instant Messenger 5.1 free of charge.  Download Now!
http://aim.aol.com/aimnew/Aim/register.adp?promo=380455


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects. See the people
who have HELPED US provide better services: Click here:
http://sourceforge.net/supporters.php
_______________________________________________
Andromda-devel mailing list [EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/andromda-devel




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
_______________________________________________
Andromda-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/andromda-devel

Reply via email to