Hi Nathan,
Nathan Nobbe wrote:
Also, bear in mind that personally I tend to favor OO paradigms for
application development so would prefer feedback that incorporates that
tendency.
Initial thoughts are
Bad:
. Not well suited for ORM, particularly procedures which return multiple
result sets consisting of columns from multiple tables
. Greater potential for duplicated logic, I think this comes down to a well
defined set of rules for any given application, read: convention required
for success
. Scripting languages are vendor specific, and likely most application
developers have a limited understanding thereof
Good:
. Better performance
. <Fill in blank on convincing bullets here>
It's a trade-off thing, and to be looked at on a case by case basis. The
major factors are
- closer to the iron (better performance, as you said)
- information hiding and security
- code portability
If you have multiple clients all doing the same procedure/routine then
it can be wise to used stored procedures/routines, even just for things
like administration and optimization, because the routine is decoupled
from the app tier, with just the interface exposed, you can optimize
without having to change app tier code, delegate to db admins and suchlike.
Likewise, information hiding is also a property of security, you can
expose the bare minimum without letting developers, or those with access
to the code, see the full database layout and structure. Similarly you
can set up logging at procedure level, and ensure acidity of
transactions at db level.
Some of the key factors though, are design choices in the way you code
applications, OO and using ORMs is a significant choice, and perhaps
you're better staying with what's familiar and delegating / trusting the
ORM layer + visible code which you're used to and can tweak easily.
If you were developing C/++ and running on pl-sql over virtuoso or
something the advice may be different.
Do remember that you aren't tied to RDBMS in any way though, there's a
huge world of [ http://nosql-database.org/ choices and styles ] out
there that also should/could be considered, many of which suit the OO
style far better ;)
Best,
Nathan (namesake)
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php