Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: You have my sympathies

Re: You have my sympathies

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: 2000/03/15
Message-ID: <953157506.16606.0.nnrp-12.9e984b29@news.demon.co.uk>#1/1

I think that if you check the history
of this news group you may find that
I do have a real-world grasp of
architecture and data integrity.

You are also stretching the point
a little with the 'decades ago' bit,
I don't think technology for the
database to handle internal integrity
constraints was around more than
fifteen years ago.

Minor details aside - let's review this paragraph:

>Any application enforced constraint must be
>enforced by every app that touches the data.
>Much duplication.

In a correct 3-tier design there is arguably only ONE application EVER that touches
the database, and that is the business
rule engine in the application server.

Moving on to the other point you make:

>The database does NOT duplicate the code 'built
>in to the business layer'. The 'business layer'
>should not duplicate constraints taken care of
>by the database.

Does this mean that when the presentation layer sends in an 'order' the business layer should not check that the order is for an existing customer ? Is the business layer simply supposed to fire the order at the database and then cope with whatever error message the database returns ? Wouldn't that lead to a very thin business layer ? At which point you might ask why bother with it ?

--

Jonathan Lewis
Yet another Oracle-related web site:  http://www.jlcomp.demon.co.uk

Steven Hauser wrote in message <8ap00v$dbl$1_at_garnet.tc.umn.edu>...

>The database does NOT duplicate the code 'built
>in to the business layer'. The 'business layer'
>should not duplicate constraints taken care of
>by the database.
>
>Any application enforced constraint must be
>enforced by every app that touches the data.
>Much duplication.
>
>Change the way you look at architecture
>and understand the importance of data
>integrity as everyone else in this thread does.
>
>Questions like this have been answered decades ago.
>
>
>Some dude wrote:
>
>>The fact that the business layer will only
>>allow orders to go in if a related customer
>>exists is not a piece of information that
>>the database needs to know.
>>
>>(And, of course, if the only code to insert
>>and delete data comes from the business
>>layer, (as it no doubt will ;) then the business
>>rules about customers will say that a
>>customer may only be removed from the
>>business if they have placed no orders.
>>So the database does not need to
>>duplicate the code built in to the
>>business layer).
>
>
>
>--
>---------------------------------------------------------
>Steven Hauser
>email: hause011@tc.umn.edu URL: http://www.tc.umn.edu/~hause011
>---------------------------------------------------------
Received on Wed Mar 15 2000 - 00:00:00 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US