WO Performance...
WO Performance...
- Subject: WO Performance...
- From: Colin Clark <email@hidden>
- Date: Fri, 24 Oct 2003 09:33:01 -0400
Hi Bob,
I've been following your threads on the WebObjects-dev list and notice
that you seem pretty concerned about your decision to use WebObjects.
In terns of performance, I think you'll find it more appropriate to
worry about performance later on in the development cycle of your
application. As with any project, it's problematic to try and tune
before you've implemented at least the basic functionality and are able
to profile the specific behavior of your application. Due to the level
of abstraction at which EOF developers generally work, it's much more
productive to define the functionality and then profile and fix the
fetching behavior afterwards. Small iterations work well for
performance tuning.
In terms of database access, if you read the WebObjects EOF
documentation it should be clear that the naive out-of-the-box fetching
strategy that EOF uses is rarely appropriate for most applications
without further adjustments. A knowledge of how to properly and quickly
fetch your data objects comes with understanding specific details about
your domain, your database design, and the kinds of problems you're
trying to solve. EOF can't possible know how intelligently fetch your
data without you providing that extra information. You do that by
making decisions about batch faulting, prefetching, and using raw row
fetches where required. EOF is designed around an object cache that if
used correctly will make your application significantly faster than if
you used continuous round-trips to the database. For example, I notice
that once my application has been primed--ie. a certain amount of data
has been fetched up front--pages the fetch large graphs of related data
can be blazingly fast when reading from the cache.
As for WOF and the speed of the templating engine, I think it's quite
fast as it is. If you find as you develop your application that your
page rendering times are too slow, there are certainly options open to
you. Petite Abeille's point about the possibility of using WOF
templates to generate semi-static pages server by the Web server is a
good one. I have easily integrate static HTML pages into my WOApp
(that's what the WebServerResources folder and a split-install is for)
when creating content that never changes.
WebObjects and EOF are very dense, complex, and flexible frameworks.
They take a _long_ time to learn. However, due to the framework design,
rapid application development can be a real joy. It's a breeze to put
together a working set of component and application code in a few
hours. The result, though, is that the framework inevitably establishes
a basic flow and behavior that won't always suit your application's
needs. There are a number of hooks in the framework in order to change
it's out-of-the-box behavior. The challenge is to know when and how to
do this.
I hope that helps explain some of your concerns,
Colin
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.