Virtualisation and the Express product stack

One of the ‘hot’ technologies of the moment, is virtualisation. Approximately a year ago I started messing around with some of the technologies available with a view to using one to support rapid development of OFA/OSA/Express etc. solutions. The idea is neither new nor particularly novel, however it has been an interesting exercise and I now do virtually all my development using one or more virtual machines.

What’s more it has enabled me to finally make a break with the Windows treadmill for my day to day work, prefering the stability, speed and security of Ubuntu. Using an appropriate virtualisation technology enables me to have the best of both worlds.

So far I have explored two common virtualisation products, VMWare and Sun xVM in the form of Virtualbox. Of the two I much prefer Virtualbox for it’s ease of use and configuration. I’ll give a brief summary of my experiences in this post.


Primarily I played around with the free VMWare products, VMWare Converter and VMWare Player. At the time I was experimenting the free VMWare Server product was not available. The VMWare converter was a very useful tool, though it wasn’t particularly robust. My objective in using it was to make a copy of my existing, and 7 year old, Dell laptop that had all my old OFA development apps, copies of customer OFA systems and generally 7 years of apps that I didn’t want to lose; those for which I’d lost the install disks, licence numbers etc. etc. I wanted to virtualise the PC so that I could run it on my shiny new Ubuntu Dell laptop. An interesting feature of the VMWare converter is it’s ability to make a ‘hot’ copy of a running PC, in my case this was to be the Dell laptop running W2K.

The exercise took a number of attempts, as the process ran for approx 18 hrs and kept falling over close to completion. One of the problems seemed to be with the fact that I had to create the VM disk images on an externally attached hard drive – one of the problems of virtualising an existing machine is that almost by definition there will not be sufficient space on the PC to create it locally – and the USB connection to this kept freezing. I was at the point of giving up when I decided to break up the process. What I haven’t mentioned is that the source PC hard drive was partitioned into 3 logical drives, seen by W2K as the C: E: and F: drives. By virtualising these one at a time I was able to successfully virtualise the full PC. Obviously only one of these contains a full bootable operating system, the c:, however the VMWare Converter also enables you to virtualise a non-bootable partition as a virtual hard drive that can be attached to any running virtual machine as though it were a physical drive.

Once this exercise was complete, I then started the virtual ‘laptop’ up using the free VMWare player on another Windows XP PC. This was not a happy experience. In fact I was never able to get it working properly, for a start the player kept crashing, it was grindingly slow and I couldn’t get the video drivers working to get high quality graphics. There were other problems too and it seemed as though the whole project was a complete waste of time. Another thing that struck me was the lack of configurability. The VMWare player really felt like a free product, and was not a good advert for the VMWare product range. Then I discovered VirtualBox….

Sun VirtualBox

Quite by accident I discovered this product when surfing various websites and blogs for help with the VMWare player. A recurring theme was that VirtualBox was a good alternative for VMWare that was both easy to use and configure. In addition VirtualBox offers extensive support for different operating systems both as host and guest and it works with VMWare VMDK machine images.

At the time VirtualBox was produced by a small independent German software house called Innotek. The initial version I used was 1.6. Shortly afterwards Innotek were bought by Sun, since then development has accelerated and the current version is 2.14.

Downloading and installing the software was a straightforward operation. Similarly setting up a new virtual machine and associating the VMWare image was a quick operation and my old W2K PC was up and running in a matter of minutes. Installing the VirtualBox Guest Additions enables a number of additional features, e.g. resizing of the guest window to any resolution and seamless use of the virtual machine whereby applications running in the guest look as though they are running on the host – OFA appearing to run on Ubuntu.

I have installed all the updates since V1.6 up to the present 2.14. Each version has brought further stability and new features that make this a very attractive alternative to the ubiquitous VMWare, not least the existence of the free ‘Open Source Edition’, not just a free proprietary application such as VMWare Player.

Features I have found to invaluable are :

  • Snapshots – these are useful when installing patches, updates, or new software. If problems occur after the installation it is simple to roll back to the previous snapshot. If the update or installation works correctly then the snapshot can be merged into the new machine state.

  • Cloning – Cloning allows a machine to be cloned, this is not the same as just copying a disk image. Cloning creates a new machine with a different id. This is useful for creating a clone of a ‘master’ image, e.g. a machine with certain software installed, for use in development for a new project.

  • Portability – Cloning is necessary where the master and clone(s) will be run on the same host. However one of the advantages of virtualisation is portability. If you need to run a virtual machine on another physical host, then the image can just be copied onto the host machine. In this case because the virtual machine is being run on an independent host there is no need to clone. This is useful for distributing a common ‘master’ image among a team of developers. You can be sure that all developers are working from a common clean master.

  • Backup – as a result of the portability, creating backups is easy, simply copy the disk image(s) to an external drive.

So back to my W2K PC. As I mentioned above, once I had this running in VirtualBox, everything worked fine. Networking to the internet is seamless, the guest simply connecting straight through the host connection. All my old Windows apps work perfectly. All my old data is instantly available. All my old OFA client developments are available. Performance wise it flies along at a much faster rate than the old physical PC and it boots in about a quarter of the time. So far (10 months) I’ve not had a single problem.

My ‘Express’ machine

Having satisfied myself that the technology was stable I created a master ‘Express’ virtual machine. As at 14/03 this is configured as follows :

  • Windows XP Pro SP3

  • Non-Oracle software :

    • MS Excel 2003

    • Adobe Acrobat 8

    • Firefox 3

    • Apache 2.2

    • Java 6 Standard Edition (V6 Update 12)

  • Oracle software :

    • Express Server 6.3.4 + all current patches

      • Express Web Agent

      • Express Administrator

      • Express Relational Access Administrator

      • Express Batch Manager

    • Express Client software 6.3.2 + all current patches

      • Express Analyzer

        • Express Objects

        • Express Web Publisher

    • Oracle Financial Analyzer (11i) 6.4 + all current patches

    • Oracle Sales Analyzer (11i) 6.4 + all patches

    • Other Express software :

      • Express Excel Add-in (6.3.4_2)

      • Personal Express 5.0.3

      • OLAP Worksheet 6.3.4

Web components for all products are configured and shortcuts stored in Firefox.

This machine is already proving useful and has been cloned several times as the basis for client developments and demonstrations. As the machine is running ‘virtually’ nothing other than the Express products, performance is excellent.

The success of this machine has led me to create another master for 11g – OLAP option. But perhaps I’ll keep that for another post.


Virtualisation is an excellent and rapidly maturing technology that promises to revolutionise development and deployment of software projects.

The Express technology stack works well in a virtualised environment and the availability of low cost or free virtualisation technologies enables new projects to be initiated quickly. The ability to clone environments has the potential to enable new delivery mechanisms for products, with the ability to be sure that the underlying configuration is a known and stable platform.

Finally a screenshot showing a number of Express Apps running simultaneously in my VirtualBox standard Express virtual machine. The screenshot shows the apps running in ‘seamless’ mode, if you look carefully the host PC is running Linux (Ubuntu), but the Express apps appear to be running on the host desktop. Just for good measure, PCX503 is actually running on Ubuntu courtesy of Wine (a Windows Compatability Layer that allows many Windows apps to run directly on Linux.)

Express Apps running in Virtual Box

Express Apps running in Virtual Box

Explore posts in the same categories: OFA Technical

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: