Re: Three-Tier Client Server

From: Christopher B. Browne <cbbrown_at_io.org>
Date: 1995/06/08
Message-ID: <3r5vis$7m7_at_ionews.io.org>#1/1


In article <3qko3n$5a0_at_news.iastate.edu>, Richard G Ramirez <ramirez_at_iastate.edu> wrote:
>|>
>|> Oracle calls this either a "three tier client/server environment",
>|> "client/server/server", or more usually a "co-operative server
>|> environment".
 

>|> A client can simply connect to one database and that database can then
>|> connect to anything else required through the use of database links,
>|> views, synonyms, etc. Oracle's Transparent Gateways are all built on
>|> this type of an architecture. Actually, pretty much anything you do with
>|> Oracle supports this type of connectivity nicely.
>|>
>
>Can someone provide specific examples? I understand the concept but
>I don't know how to translate it into application code.
>
>From the above message I understand an implementation using
>
> 1 - Powerbuilder on the client (or Visual Basic or Access)
> 2 - an Oracle server with procedures and perhaps some triggers,
> it also stores user passwords
> 3 - one or more Oracle servers having the actual databases,
> possibly containing procedures and triggers that are local
> to that database
>
>An alternative is to use C++ (or another language) in 2 as the
>intermediate step. Of course this alternative is much harder.
>
>Please clarify for me.

You've got the idea straight.

As the system grows, the server in the middle, which doesn't have to be directly running the RDBMS, tends to get smarter and smarter. And much harder to write.

Under SAP R/3, this server in the middle is what programs get written for. It contains a language interpreter for both vendor- and user-written programs (the language being called "ABAP," and being something of a cross between SQL, COBOL and PL/1).

The server is in this case highly nontrivial in size; a *very large* program written in C.

This third tier is only worthwhile if there's so much traffic on the system that it makes it impractical to have the "client" (e.g. desktop) or the "server" (e.g. the RDBMS) be in control.

This could be caused by there being many users or a very large set of data or by there being some sort of critical resource or critical transaction type that tends to cause deadlocks between users that does not *really* mean that there is a true deadlock.

I'm not sure that the deadlock problem is easy to illustrate.

-- 
Christopher Browne - Email:<cbbrown_at_io.org>, WWW:<http://www.io.org/~cbbrown/>
"I believe OS/2 is destined to be the most important operating system,
and possibly program, of all time." -- Bill Gates
Received on Thu Jun 08 1995 - 00:00:00 CEST

Original text of this message