Wednesday, May 9, 2012

Tom behind asktom.oracle.com talking about mod_plsql history


in the beginning there was this thing called the "WOW gateway" (Web Oracle Web).  It was a cgi-bin that crudely translated a url into a stored procedure call (didn't use bind variables!!! that is why I call it "crude")....  It was written originally by Magnus Lonnroth of Sweeden.

This became OWA (Oracle Web Agent) in version 1 of OIS (the Oracle Internet Server).  It too was a
cgi-bin.


Later, with version 2 of OWS (OIS -> OWS, the Oracle Web Server), this OWA became a "cartridge" in OWS speak.  Like a module for apache but ran in the spyglass mosaic webserver (which is what we
used).

At that time, some guy named -- oh wait, that was me -- wrote this thing called OWAREPL
(historically archived here:



http://asktom.oracle.com/~tkyte/owarepl/doc/

).  It greatly extended the capabilities of OWA giving it file upload/download, db authentication
and many of the features you take for granted in mod_plsql today.

We are now at OWAS version 3.0 (Oracle Web Application Server)....

Then, came along this thing called "webdb" (our group wrote that initially).  We wanted a smaller
footprint then OWAS for simple installs so we took the OWAREPL code and built a small lightweight
listener around it - this was the webdb listener.  It did http and "owa" functionality.

Then, OAS (Oracle Application Server) v4.0 came out -- they had been incorporating many of the
ideas of OWAREPL into their OWA but differently (file upload and download for example is "there" in
OWA but done very very differently then either OWAREPL or webdb)....


Flash forward a bit -- spyglass goes away, cartridges go with it -- it is now 9iAS using apache. 
The decision was made to use the webdb functionality in mod_plsql -- the code was "merged" if you
will.  So, OWA+OWAREPL+webdb -> mod_plsql, with owarepl/webdb (which was really owarepl written in
the Oracle coding standard instead of "toms standard") being the predominant theme.

And here we are.

The others you refer to are "imposters" if you will.  OWA begat OWAREPL begat webdb -> mod_plsql.

Reference :