There is a comprehensive "verticals" framework that is Struts-based at basicportal.sourceforge.net, which is a Struts-based alternative to JetSpeed. A DAO framework is also a part of it.
-Mete --- Jacob Hookom <[EMAIL PROTECTED]> wrote: > http://www.javaworld.com/javaworld/jw-03-2002/jw-0301-dao.html > > Jacob Hookom > Comprehensive Computer Science > University of Wisconsin, Eau Claire > > > -----Original Message----- > From: David Graham [mailto:[EMAIL PROTECTED]] > Sent: Monday, July 29, 2002 4:44 PM > To: [EMAIL PROTECTED] > Subject: Re: DAO Addition to struts > > Ok, I can live without DAO being part of struts. > > Thanks, > Dave > > > > >On Mon, 29 Jul 2002, David Graham wrote: > > > > > Date: Mon, 29 Jul 2002 15:15:46 -0600 > > > From: David Graham <[EMAIL PROTECTED]> > > > Reply-To: Struts Users Mailing List > <[EMAIL PROTECTED]> > > > To: [EMAIL PROTECTED] > > > Subject: DAO Addition to struts > > > > > > Craig, > > > You mentioned the DAO pattern in this last post > on architectures. > I'm > > > wondering if you have any plans on adding a DAO > framework to struts? > I > > > think it would be a nice addition and provide > something that many > people > > > have to design themselves. I suppose it may be > outside of the scope > for > > > struts but I'll leave that up to you :-). > > > > > > >As popular as it might be, I've been a little > hesitant to add model > layer > >patterns to the core part of Struts. After all, > one of the values of > >these patterns is you should be able to use the > same DAO objects in > >non-web contexts (so we wouldn't want to put in > dependencies on servlet > >and JSP, or even Struts, APIs). Also, putting > *one* implementation of > the > >pattern into Struts would seem to imply that > alternative > implementations > >are less legitimate -- and the spectrum of use > cases for DAOs is so > broad > >that I'm not sure that is a good alternative. > > > >There are DAO-like design patterns in some of the > applications in the > >"contrib" directory of the CVS repository, and in > many of the apps > >referenced on the resources page. And, of course, > the DAO descriptions > >from any competent patterns book should work just > fine with Struts -- > many > >of them come with example code that can give you a > starting point. > > > > > Thanks, > > > Dave > > > > > > >Craig > > > > > > > > >From: "Craig R. McClanahan" > <[EMAIL PROTECTED]> > > > >Reply-To: "Struts Users Mailing List" > <[EMAIL PROTECTED]> > > > >To: Struts Users Mailing List > <[EMAIL PROTECTED]> > > > >Subject: RE: Architecture advice.... > > > >Date: Mon, 29 Jul 2002 14:09:46 -0700 (PDT) > > > > > > > > > > > > > > > >On Mon, 29 Jul 2002, Chappell, Simon P wrote: > > > > > > > > > Date: Mon, 29 Jul 2002 14:06:03 -0500 > > > > > From: "Chappell, Simon P" > <[EMAIL PROTECTED]> > > > > > Reply-To: Struts Users Mailing List > <[EMAIL PROTECTED]> > > > > > To: Struts Users Mailing List > <[EMAIL PROTECTED]> > > > > > Subject: RE: Architecture advice.... > > > > > > > > > > Well, what we did to seperate Struts from > the backend was to > >implement > > > > > what we called a "Firebreak". We created an > abstract Java class > >called > > > > > API.java. It's whole purpose in life was to > be the application > API > >to > > > > > the model component. This would enable us to > utilise alternative > > >views > > > > > and/or controllers if our needs ever took us > in that direction. > > > > > > > > > > > > >Design pattern books call this the Data Access > Object (DAO) > pattern. > >It's > > > >quite commonly implemented. The best scenaro > is where your DAO > object > > > >returns JavaBeans that represent the underlying > data (like > customers > >and > > > >orders), instead of just providing pass-through > access to the > >connection > > > >pool. > > > > > > > >One of the big things I like about it is that > the actual technology > > >used > > > >to store the persistent data (and any changes > to it you make later) > are > > > >hidden from the business logic that uses the > data. > > > > > > > >For example, you might start out by embedding > JDBC calls in your > DAO to > > > >load and store the data. Later on, your DBA > might split one table > into > > > >two (or combine two into one) to improve > efficiency -- you can > tweak > >the > > > >JDBC calls inside your DAO and never touch the > business logic that > uses > > > >it. Later on, you might find it necessary to > switch to EJBs for > > > >scalability -- as long as you're not adding > properties to the data > > > >objects, these kinds of changes are > transparent. > > > > > > > > > All functionality in the application is > accessable through > static > > > > > methods in the API class. This is nice for > us, we removed all > >processing > > > > > logic from the actions and put it in the > main application space. > Now > >our > > > > > actions concentrate on ActionForms and > calling the API methods. > > > > > > > > > > > > >Servlet context attributes can be thought of > like "per-webapp > statics", > > > >because they have exactly the same memory > impact. However, they > >provide > > > >slightly more flexibility because you can > subtitute different > > > >implementations of the same API interface more > easily. The > negative is > > > >that you have to have a reference to the > ServletContext to acquire > your > > > >DAO object. > > > > > > > >The standard J2EE approach to that is to use > JNDI resources - they > === message truncated === __________________________________________________ Do You Yahoo!? Yahoo! Health - Feel better, live better http://health.yahoo.com -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

