Retrospective: Oracle Application Server 4.0
31 Dec 2009 by Simon Haslam (in Install & Upgrade) | Comments (1)
Yes, you read the title correctly - for a little "end of of the noughties" light relief, this article is about Oracle Application Server 4.0, released a decade ago at the end of 1999.
Whilst my first encounters with Oracle middleware were Oracle Web Application Server 3.0 (WAS) in about 1998, it wasn't until the end of 2000 that I got my hands on a production installation. This was a dot-com startup company who had a Oracle Application Server 4.0 (OAS) cluster, backed by a two node OPS database, and all running on Sun Enterprise hardware. Therefore I have a special fondness for OAS as it has set the stage for my work over the best part of 10 years.
Oracle's early middleware server products were:
- Web Application Server 3.0 - released in 1997.
- Oracle Application Server 4.0 - released at the end of 1999.
- Oracle 9iAS Release 1 (9.0.1) -
released in 2001. This now uses Apache as the web listener and OC4J as the Java server (following
the acquisition of the Orion product).
- Oracle 9iAS Release 2 (9.0.2) - released summer 2002. This was a very big release as it was the first version to include an infrastructure tier (along with a accompanying patch CD from Day 1). The release notes ran to 42(!) pages and it's fair to say it was difficult to install...
I don't
know what came before WAS 3 - WAS 2 presumably... Around this time were also the first versions of WebDB, which subsequently
morphed into Oracle Portal, though Application Express went full circle by reverting
to the simpler WebDB-style architecture. Anyway, 9iAS R2
became the foundation of the product set right up to the significant re-engineering effort that went into Oracle Fusion
Middleware 11g as released in July 2009.
Installation
Whilst I don't use this blog for detailed 'click this, click that' articles (I hope that most of my readers can read the manuals), but for a bit of fun I thought I'd reinstall OAS 4.0. Blogs hadn't reached critical mass in 1999 so there's a good chance this may be the only post you'll find on the topic!
So, out of Veriton's extensive CDROM library (a filing cabinet, with rather more emphasis on 'cabinet' than 'filing'!), I found Oracle Application Server v4.0.8.1.0 for Sun SPARC Solaris2.x. This comes one one disk which includes all the options ('cartridges' in OAS parlance) and documentation.
| Disk Trivia: The WAS disks had a colour image on them but some time before OAS was released this was replaced by the black jumble of Oracle letters which has been used for all subsequent Oracle media packs as far as I'm aware. The photo on the right shows the WAS 3.0, OAS 4.0 Beta and OAS 4.0 disks - the eagle-eyed might even spot that on the WAS 3.0 disk I crossed out Windows NT and marked it as Solaris (the two were labelled incorrectly from the factory). | ![]() |
So, first things first - where's the installation guide?
Below is a screenshot of the HTML documentation once installed on an app server where the navigator seems to work as intended though curiously it didn't work properly when running directly from the installation CD.

I quickly decided to revert to using the PDF docs which worked perfectly. One interesting observation about the PDF docs is that the layout of the manuals is almost exactly the same as it is today: Oracle's layout and choice of typefaces still looks modern to me today and is easy to read - a testament to a well thought out style guide.
So what do we need to get started? The minimum server specifications were:
- CPU: SPARC (no speed specified)
- Memory: 128MB
- Disk space: 400MB
- Solaris 2.5.1
I jump-started one of Veriton's test Sun Netra servers with the minimum build and OS setup required for 10g iAS. Whilst this comfortably met the hardware requirements I had to make do with Solaris 10 rather than 2.5.1.
Note this was the time that OAS was still serving web pages through the Oracle Web Listener (which was Spyglass Server 2.1.4), though it could be used with Netscape Enterprise Server (probably the dominaint server at the time for e-commerce applications) or a relative newcomer called 'Apache'. This version of java for OAS 4.0 was JDK 1.1.6.
Below is a very interesting diagram from the installation guide showing an Oracle Flexible Architecture (OFA) disk layout for a combined application server and database set up. Note how the application server configuration is completely separate from the software… does this sound familiar? If you've played with OFM 11g it should do - it's exactly the approach taken by Oracle with the ORACLE_INSTANCE & ORACLE_HOME locations (or domain home and WLS_HOME for WebLogic). It's a shame that we lost that distinction for 9iAS and 10gAS!

Now, on to the installation. The first puzzle is: where's the installer? It's easy to forget but this is before the days of runInstaller. In fact on Solaris you'll find it in /mnt/cdrom/oracle/orainst. To start it you run orainst /m for Motif (i.e. graphical) mode or /c for character mode (similar to that offered by WebLogic!).
So I set DISPLAY and tried to run up the installer in Motif mode. I don't know whether it was an incompatible newer X libraries, or it was due to the minimal build on my server, but after an hour wrestling I gave up and reverted to the character-based installer which started straight away without any problems (and fits into the traditional 80x24 VT52 layout).
I won't bore you with every screen here, but here are some pertinent ones:
1) OFA, e.g. ORACLE_BASE, was very much in vogue:

2) This is the main product selection screen - for those who used to work on the Oracle7 database, prepare to feel nostalgic…
(strangely this screen doesn't quite fit the terminal)


4) Look at this - a 'Node Manager' (a familiar term for WebLogic administrators):

5) Multicast was used for node communication between application servers within the cluster:

I had a problem during the install where the post-install script was hanging. I worked out it was expecting to find ps in /usr/5bin so I simply created a link:
...and then ran post_install.sh manually. I then killed the hanging post_install.sh and the installer continued. I suspect /usr/5bin is a legacy from the SunOS (BSD-based) to Solaris (SVR4-based) migration and is no longer around.
Administration
We have now completed a default full installation. You can start it using the owsctl utility:
perseus:/opt/oracle/admin/ows/website40> /opt/oracle/product/oas4/ows/4.0/bin/owsctl start
Please wait while the command is being processed on host perseus ...
Starting ORB process...
waiting for ORB to be ready...
The command completed successfully on host perseus.
oassrv: Starting wrb service 0
ConfigProvider Server accepting requests...
oassrv: Starting wrb service 1
Log Server is accepting requests now...
oassrv: Starting wrb service 2
Web Request Broker (Version: RM 4.0.8 SunOS 5.5.1 Generic_103640-27 10/20/99 21:26:51):
Accepting requests.
oassrv: Starting wrb service 3
The WRB Authentication Host Server is now running.
oassrv: Starting wrb service 4
The WRB Authentication Engine is now running.
oassrv: Starting wrb service 5
Web Request Resource Manager Proxy is accepting requests.
oassrv: Starting wrb service 6
Initializing wrbmon ..........
oassrv is accepting requests
OWS-08821: oassrv process 'oassrv' is started up at pid 1733.
OWS-08821: wrksf process 'wrksf' is started up at pid 1734.
Cartridge Server Factory accepting requests ...
OWS-08821: otsfacsrv process 'otsfacsrv' is started up at pid 1735.
Oracle Web Listener 4.0.8.1.0 Enterprise Edition - Release (Export)
Copyright (c) Oracle Corporation 1999. All rights reserved.
Server now running as process 1739
OWS-08850: Oracle Web Listener 'admin' started.
Oracle Web Listener 4.0.8.1.0 Enterprise Edition - Release (Export)
Copyright (c) Oracle Corporation 1999. All rights reserved.
OWS-08811: Unable to startup Oracle Web Listener 'perseus-www'.
perseus:/opt/oracle/admin/ows/website40>
You can see I had trouble starting up the perseus-www web listener which should have been using port 80. The installer runs as the Oracle user and at no point was I asked to run a root.sh script, and as port 80 is a privileged port, I suspect there was a manual step for setting Spyglass as setuid to allow it to listen on this port.
Let's have a look at the administration console running on port 8888 (we need to log in using username and password we gave during installation):

When you click on 'OAS Manager' you get a convenient tree view of servers down the left, similar, though much more basic of course, to what we have today with WebLogic:

So that's it - we have a single node OAS server running save for the odd little configuration tweak.
Looking Forward
Installing OAS 4.0 is not a terribly useful thing to do now, except to draw out a few indications of how things were a decade ago as compared to today. For example:
- internet architecture is broadly the same: we are still delivering HTML applications using HTTP over TCP/IP with intermediate web and Java servers usually supported by a relational database,
- multicast IP is still the way we cluster application servers (the height of sophistication was probably the cluster topology discovery features in OAS 10gR3 so it will be interesting to see how that develops in OFM),
- the separation of binaries from configuration in OAS has been re-introduced to OFM 11g.
The encouragement I take from this is that the underlying technology is not perhaps changing as quickly as it may sometimes feel, and that administration skills learnt will be useful in some form for a number of years.
Predicting the future is very risky indeed (see Freakonomics and others) but let me have a punt anyway at what might happen to application servers over the next decade:
- The internet of course will become even more prevalent and I think the application server will play an increasingly important role in it - they will be expected to be available 24/7 just like the database in many, if not most, organisations.
- High Availabilty will come as standard and its configuration will be simpler - applications will be almost continuously available as we'll be able to do most administration with the clusters/servers online.
- We will see lighter-weight AS infrastructures based on both floating (e.g. cloud) and very thin (e.g. WebLogic VE) operating systems, as well as a significant reduction in unused components (OSGi, Java profiles etc).
- The application layering will continue - whether it's SOA or cloud computing we can expect further component decoupling and increased flexibility in various parts of the middleware stack.
So, there we are: a few quick predictions committed to the web for us to chortle over in 2020!
I wish my readers every success with their middleware endeavours in 2010 and the coming decade... it's going to be fun!
PS. if you happen to have an OAS 4 installation still in production please write a comment - it would be great to hear about it!





Posted by Chris Muir on January 02, 2010 at 12:05 PM GMT #