HP3000-L Archives

August 2005, Week 3

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
"James B. Byrne" <[log in to unmask]>
Reply To:
Date:
Tue, 16 Aug 2005 14:56:01 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (56 lines)
This is a philosophical question regarding system design which only
deals with the HP3000 tangentially via ALLBASE.

We have commenced the process of moving from MPE/POWERHOUSE/IMAGE to
Linux/RubyOnRails/PostgeSQL.  While we have a very, very long way to
go before coding the debate over whether to place most, or at least
as much as possible, of the system logic (business rules) into the
DBMS in the form of SQL triggers and procedures or to place much of
this in application code has already begun.  The reason that I am
asking this question here is that posing it on the forums that deal
primarily with the tools in question seems to produce emotional, or
at least casually presumptive, responses rather than deeply
considered reasoning.

My own prejudices lean me towards incorporating as much business
logic into the DBMS as the software will handle, and then some.  What
supports this belief for me is my estimation of the reliability and
efficiency benefits realized by centralizing things like field edits,
comparative values, logical references and automatic recording of
audit data like userids and timestamps. Doing this sort of stuff at
the database level eliminates a great deal of necessarily repetitive,
and therefore tedious and error-prone, coding in the application and
restricts potential sources of application data corruption.
Embedding SQL code into the database itself seems to me the most
robust form of controller possible in the MVC scheme of design.

The contrary arguments of why controllers should be kept, in the
main, as program code that I have read I am not sympathetic to and
that is my problem.  I need a more balanced and better argued case
for and against than my predispositions allow me.  So, I am asking
here, in your opinions which is the better practice, and why?  I
realize that there will in any case be exceptions but I would like to
read well reasoned arguments why SQL Procedures in the database
itself should, or should not, be employed to the maximum extent
possible in preference to application coded controllers.

If you feel that the question travels too far afield from legitimate
topics relating to the HP3000 then I crave your forbearance.  I
invite off-list replies if that seems more appropriate to the
respondent.

Regards,
Jim

--

***     e-mail is NOT a secure channel     ***
James B. Byrne                mailto:ByrneJB.<token>@Harte-Lyne.ca
Harte & Lyne Limited          http://www.harte-lyne.ca
9 Brockley Drive              vox: +1 905 561 1241
Hamilton, Ontario             fax: +1 905 561 0757
Canada  L8E 3CE               delivery <token> = hal

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2