I agree.  On the current "real world" app we've been developing, we've
been lucky in that we have about as many POJOs as Struts Resume, and we
don't plan to have many more.  In other words, our app isn't that
complicated.  AppFuse is great IMO b/c it allows a developer to get up
and running *quickly* with an app that does persistence and the whole
ball of wax - right away.  I've also found it's super easy to eliminate
the Xdoclet dependency - and to pick and choose what generated artifacts
back into your source tree.  

So again, I think you're right - AppFuse is designed as just that - a
fuse to get you started.  I love hearing these stories about how it's
use translates into a real world app - please add this to the wiki!

Thanks,

Matt


> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of 
> Dan Allen
> Sent: Tuesday, July 01, 2003 12:47 AM
> To: [EMAIL PROTECTED]
> Subject: [Struts-apps] ejbdoclet and validation
> 
> 
> I took a trip out to California this past weekend for a 
> wedding.  On my trip I thought, and thought, and thought and 
> thought a lot more. I like to think on long trips.  When I am 
> programming at home I am under the gun to type something, but 
> with no computer I can just think and brainstorm.  Oh, you 
> want to know what about...I will get to my point now...
> 
> As much as it just seems so tempting and beautiful and quick, 
> I truly, truly believe that generating ActionForms 
> dynamically with xdoclet is just not the right way to go.  I 
> believe it is a forced association, one of those things that 
> you want to believe so badly that you will do whatever you 
> can to make it seem like an association, when really there is 
> little similarity at all. Entities are almost exactly the 
> same as ActionForms most of the time, but the exceptions are 
> enough to prove they should not be parallel (and even Ted 
> Husted thinks so, one example being 
> http://husted.com/struts/tips/005.html but I have read his 
> comments elsewhere on the subject).  ActionForms should be 
> flexible to suit the view, not necessarily to suit the model. 
>  In fact, it is only your Manager that should care how you 
> designed your ActionForms, so that even the DAO cares only 
> about the entity design.  Here are several reasons why 
> xdoclet should not be used to make ActionForms from entities.
> 
> 1. Most of the time, an ActionForm just holds the info from a 
> entity bean, such as a link, but the main forms (the 20% that 
> are used 80% of the time) are much more complex and don't 
> just line up with a single entity.  These ActionForms should 
> be allowed to work for the view, not be dictated by the 
> architecture of the model.
> 
> 2. Forms can have nested beans, which must be ActionForms, 
> not the associating entity or else you are back to the reason 
> you create ActionForms in the first place, as a proxy.  With 
> xdoclet this just generates all sorts of a mess, because if 
> you extend your xdoclet generated ActionForm, then you have 
> to change the reference to the nested form.  Argh, messy.
> 
> 3. Validation.  It is very, very wrong (I believe) to use 
> validation tags on your entity bean.  On one form the date 
> might have a range limitation, on another form it might not, 
> but still be the same entity.  xdoclet validation tags should 
> go on the ActionForm class (an impossibility if you are 
> generating the class dynamically, unless of course you 
> transfer over the tags, but then other issues arise).  Again, 
> messy, messy.
> 
> ...and all for what?  To generate something that eclipse can 
> make in 10 seconds!
> 
> Anyway, while it might suck, typing out an ActionForm isn't 
> quite that hard and I think using xdoclet to generate them is 
> just an indirection.  You are most likely going to have to 
> extend that generic ActionForm that xdoclet creates to 
> provide extra methods anyway.  For example, date handling 
> needs a special object, nested forms need to have nested 
> ActionForm objects and then there are collections.  xdoclet 
> just doesn't cut it here once you get into more complex apps 
> (think event scheduler).  I beat my head against the wall for 
> hours until I just let go of ejbdoclet and then it all become 
> very lucid.  Your ActionForm is a very important view proxy 
> to your entity beans, so don't try to get away with 
> auto-generating it.
> 
> That is my 2 cents and it is hard to convince me otherwise at 
> this point because of how much easier it has already been to 
> work with struts forms, xdoclet and my persistence data by 
> abandoning xdoclet. Plus, now my entity beans don't have 
> struts tags in them, a very important separation of model and 
> view.  Oh, and if I move a field to a different table/entity 
> bean, I don't have to go redesign my form necessrily, though 
> I do have to modify my Manager, but that is okay, because 
> both are part of the business, not the view.  The view is 
> still safe.  While I am dying for someone to see the light, I 
> can live with enjoying it alone for a while.  Remember, you 
> don't want to overdo things, and this is backing away from 
> xdoclet where it is prudent to do so.
> 
> Dan
> 
> -- 
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
> Daniel Allen, <[EMAIL PROTECTED]>
> http://www.mojavelinux.com/
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
> Real programmers just hate to get up in the morning, and 
> contrary to Ordinary People, they're in better shape as 
> it gets closer to nighttime.
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
> 
> 
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites 
> including Data Reports, E-commerce, Portals, and Forums are 
> available now. Download today and enter to win an XBOX or 
> Visual Studio .NET. 
> http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06
1203_01/01
_______________________________________________
Struts-apps mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/struts-apps




-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
_______________________________________________
Struts-apps mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/struts-apps

Reply via email to