Server Side Database Communication with CGI
So far in this tutorial we have
remained pretty airy. We have learned lots of "database theory"
and "abstract" SQL communication protocols.
But what you probably came to learn
was how you could actually put a real-live database on
Well, to be fair, understanding all that abstract
stuff that we have discussed so far is necessary for you
to be able to do what you want to do.
Unfortunately, putting your database on the web
turns out to be a pretty complex feat involving all sorts of
technologies. So, there are a bunch of things you needed to
learn in order to get the whole kit-and-caboodle operational.
However don't worry, in this part, we are
going to put it all together and get your data webified.
Nevertheless, before we get into the nitty gritty
lets recap a bit and also provide an overview for what
we are going to do in
Chains of Communication
As you recall from Part One, a Web Database
follows the client-server database model. A Database Engine
sits on some central computer somewhere and serves data to
multiple web-based clients (perhaps lots of customers using
Because we are dealing with web-based clients
however, we must also have a Web Server that handles
requests from web-browsers and then forwards them to
the Database. Likewise, the web server will wait for
the database to respond and then pass on that response to the
waiting web browsers. The whole interaction is much simpler
as a picture.
(Note that since you are a web developer,
I am assuming that you understand the interaction between
web browsers and web servers. If you don't understand
this, or if you need a refresher, check out
Programming 101 at WDVL!)
Of course, the problem with the above model is that
it does not exactly tell the whole story. Actually, though
Web Servers are built to talk to Web Browsers, they are
not built to talk to Databases. Thus, in order for the
Web Server to talk to a Database, it requires a helper
(sometimes called Middle Ware).
The most basic type of Middle Ware is
a CGI script that is written to translate requests from
the Web Server to a format that the Database can understand,
and to translate Database responses into something the
Web Server can send back out to the Web Browser and that
the person using the web browser can understand.
The CGI Script will be responsible for understanding
what the Web Server is saying and will also be responsible for knowing
how to talk to the Database. This type of CGI script is seriously
Of course, the CGI script can be written
in any computer programming language and can use all sorts
of inventive or proprietary methods to talk to the Database.