[tmql-wg] Result set requirements
Rani Pinchuk
Rani.Pinchuk@spaceapplications.com
Mon, 01 Mar 2004 23:05:08 +0100
> I'm not sure how much sense that makes. How can the expert know what
> to do about the queries without seeing them in context? I don't think
> tuning pieces of an application in isolation is at all easier than
> doing it when seeing the pieces in context.
It happened to me more then once that I set with SQL expert in the
profiling phase of large project, and he looked into my SQL statements
that were located within a phrasebook (see Class::Phrasebook::SQL on
CPAN). See also http://www.perl.com/pub/a/2002/10/22/phrasebook.html
although it is in Perl which I read you don't find that great :-),
the article explains quite well (I hope), the advantages I found
in that approach.
> | The programmer who program in certain environment, should not take
> | into account the SQL when making calculations over the queries
> | results. The graphics person should create/maintain the
> | presentation (so the HTMLs) without the need to go into the SQL or
> | the rest of the code... Well, this is the vision I find the best
> | (see [1] and [2] for how it can be done).
>
> I don't know, Rani. I worked on a relatively big server framework that
> used this approach, and which had a lot of queries. The result was a
> very, very ugly architecture with almost no proper OO in it. I've also
> seen it done much better, and there are arguments for keeping the web
> designers innocent, but I'm skeptical in general.
>
> I think you raise some valid concerns, but I worry that perhaps your
> solutions to them are a bit too radical.
Having seen such separation with ugly non OO architecture might be the
reason that you are still skeptical about this attitude. I have had
totally different experience - the separation of the presentation
details from the rest of the application (and the same with the
separation between different languages - like SQL and the programming
language around it) makes the application a lot cleaner, and REALLY
gives the graphical designer the ability to change the look and feel of
the application without needing the programmer help.