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]>

Reply via email to