> Hey! "It depends" is *my* catchphrase!

Whoops.  ;)

> I haven't looked at Reactor much.

In a nutshell, it generates persitance code into a CFC on the
filesystem that you can extend to add your application logic.  Change
your schema, and it can rewrite the persistance code without affecting
the stuff you added manually.

I actually wrote a CMS around a similar concept last spring, and it
proved very performant.  No runtime difference between it and manually
coding everything, but a heck of a lot easier to do both initial
coding and maintenance.  It also lets you fudge the design phase a
little bit (useful if you have clients who don't know what they want),
because adding new properties is such a snap.

> Those are both
> quick ways to build standard CRUD apps against a database. I would not
> expect those to scale.

Why not?  Just as scalable as anything else, unless you're tuning your
persistance operations for the specific application's execution
profile, in which case you HAVE to hand code it.  And it's trivial to
augment any persistance handling mechanism with caching of various
levels of aggressiveness to negate any performance issues.  Especially
if you can assume that you're the only thing touching the database.

> And then there's the whole issue of driving an
> app from the database (as opposed to designing an efficient database
> schema to persist your well-designed object model).

Yeah, I hear you on this one.  That CMS I referred to was actually
constructed model-down, rather than DB-up.  Build your CFCs, and then
the generator would introspect them to create the appropriate tables
(transparently dealing with inheritance and all that fun stuff). 
Still not as good as constructing each one independantly and then
mapping them as in a "real" ORM solution, but the dev time savings is
very significant if you don't need to squeeze every drop of
performance out of your DB.

I'm not going to speculate on percentages, but I'd wager that just
about any app whose DB and code are built at the same time doesn't
have to be perfectly performant on initial release, leaving room for
tuning on either side over time.

Bottom line, I think persistance code is one thing in an app that a
machine can very easily do for you, and the advantages WAY outweight
the disadvantages in most situations.  I.e. scalable 'enough'.  Like
anything else, you'll never get perfection, only good enough, where
enough depends on the scenario.

cheers,
barneyb

--
Barney Boisvert
[EMAIL PROTECTED]
360.319.6145
http://www.barneyb.com/

Got Gmail? I have 100 invites.


----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email to 
[email protected] with the words 'unsubscribe cfcdev' as the subject of the 
email.

CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting 
(www.cfxhosting.com).

An archive of the CFCDev list is available at 
www.mail-archive.com/[email protected]


Reply via email to