At a relatively simplistic level, I view object/relational mapping tools
as focused on the second word ("relational" as in "relational database").
In other words, there is a presumption about the persistence mechanism
that will be used.While that need is very definitely legitimate and common, my (again relatively simplistic) view of DAOs is that they don't have to make that assumption. It's quite feasible (in many use cases) to write a common abstraction over data that might ulimately get stored in a database, in a directory server, in flatfiles, in XML, accessed remotely via CORBA or RMI, and so on ...). The point is to isolate the user of the data provided by the DAO from the grubby details of the chosen persistence mechanism, and/or to insulate the user from changes in the choice of persistence. A very trivial DAO object is the "database" in the 1.1 version of the Struts example app. Although the default implementation reads and writes an XML file, it is easy to conceive of writing a JDBC-based implementation of the same interface. Craig On Mon, 29 Jul 2002, Dan Cancro wrote: > Date: Mon, 29 Jul 2002 16:37:26 -0700 > From: Dan Cancro <[EMAIL PROTECTED]> > Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]> > To: 'Struts Users Mailing List' <[EMAIL PROTECTED]> > Subject: RE: DAO Addition to struts > > What's the difference between DAO frameworks and Object Relational > frameworks? > > Here's a list of things I was calling Object Relational Mapping Tools. Are > these the same things as DAO tools? If not, what are the distinct parts of > this business-to-db middle layer, and what are the distinctions? > > *Apache:Betwixt > *Apache:ObjectRelationalBridge > *Apache:Peers > *Apache:Torque > *ChiMu:FreeForm > *JCorporate:Expresso > *Persistence Layer > *SourceForge:DataBind > *SourceForge:jRelationalFramework > *SourceForge:MiddleGen > *sql2java > *Sun:Entity Enterprise JavaBeans > *Sun:DAO > *Sun:JDO > *Sun:JMX > ChiMu:Form > eQ! > exolab.org:Castor > Microsoft:ADO > Objectwave:Jgrinder > Thought Inc:CoCoBase > Village > Webgain:Toplink > > Thanks, > Dan > > > > -----Original Message----- > > From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]] > > Sent: Monday, July 29, 2002 2:53 PM > > To: Struts Users Mailing List > > Subject: Re: DAO Addition to struts > > > > > > > > > > On Mon, 29 Jul 2002, Craig R. McClanahan wrote: > > > > > > > > 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. > > > > > > > I should also point out that there are also tools in the > > world that start > > from a description of your data (or introspect the metadata of your > > database) and generate DAO classes for you. Two open source ones to > > check out (off the top of my head) are Torque and Castor, but > > there are > > many alternatives. > > > > Craig > > > > > > -- > > To unsubscribe, e-mail: > > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

