8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | 23c | Misc | PL/SQL | SQL | RAC | WebLogic | Linux

Home » Articles » 11g » Here

Run Oracle Forms 11g on Windows using OpenJDK 8 and IcedTea

This article shows how to run Oracle Forms 11g using OpenJDK 8 and IcedTea as a replacement for Java Web Start. It's not a supported solution, but it works.

Related articles.

The Problem

The Oracle Forms runtime is an applet, which has traditionally been run from a browser. Running Oracle Forms from a browser has become increasingly difficult over time due to browser compatibility issues. In 11g Forms it is still the only supported way to run Oracle Forms, but it is possible to run Oracle Forms 11g using Java Web Start, as described here.

If you are running Oracle Forms 12c, it is also possible to use Java Web Start in a supported manner, as it was baked into the product.

According to MOS Doc ID 1557737.1, users of Oracle Forms are allowed to use Java SE 8, including the updates without incurring additional costs.

Unfortunately Java Web Start has been removed from any version of Java after version 8, and if you want Java 8 security updates for any commercial desktops you must either pay support (but not for Forms, see above) for the Oracle JDK, or switch to OpenJDK 8. This introduces yet another issue as OpenJDK 8 doesn't ship with Java Web Start. There is no "javaws.exe" in the "JAVA_HOME\bin" directory.

Once again, if you are using Oracle Forms 12c there is a solution, which is to use the Oracle Forms Services Stand-alone Application Launcher (FSAL), but this doesn't support Oracle Forms 11g.

So how do you continue to use Java Web Start on a Windows desktop without having to pay for Java8 support? A possible option is to use IcedTea as a replacement for Java Web Start.

Software

Download a suitable OpenJDK distribution for Windows 10.

Download the latest IcedTea binary distribution. In this case it was version 1.7.1.

Installation

Install the AdoptOpenJDK by double-clicking on the MSI file. This results in the JAVA_HOME being placed under the "C:\Program Files\AdoptOpenJDK" directory.

Unzip the IcedTea distribution to a location of your choice. In this case I unzipped it under the "C:\utils\" directory.

For convenience I used a batch file to launch my applications containing the following environment variable settings, but these could be included in the user or system environment variables.

set JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.202.08
set PATH=%PATH%;C:\utils\icedtea-web-1.7.1-image\bin\

Running Forms

You will find a "javaws.bat" file in the "bin" directory of the IcedTea distribution, which is now in our path. This allows us to run a JNLP file like as follows.

javaws.bat C:\utils\my.jnlp

With the correct environment variables and file association you should be able to double-click on the JNLP file to start it. In my case I used batch files that looked like this.

set JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.202.08
set PATH=%PATH%;C:\utils\icedtea-web-1.7.1-image\bin\
javaws.bat C:\utils\my.jnlp

If you need access to something resembling the the "Configure Java" panel, you can run the "itweb-settings.bat" file.

set JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.202.08
set PATH=%PATH%;C:\utils\icedtea-web-1.7.1-image\bin\
itweb-settings.bat

Considerations

Oracle Forms 11g is only officially supported when running from a browser. It's not supported from Java Web Start and certainly not from IcedTea.

You may have to make some minor adjustments to your JNLP files, compared to running with Java Web Start. For example, when attempting to run the Banner application (from Ellucian) I might use the following "serverURL" parameter value.

<param name="serverURL" value="/forms/lservlet?ifcfs=/forms/frmservlet?ifsessid=WLS_FORMS.formsapp.999&acceptLanguage=en-US&config=banner"/>

When running though IcedTea, I had to include the full URL.

<param name="serverURL" value="/forms/lservlet?ifcfs=https://example.com/forms/frmservlet?ifsessid=WLS_FORMS.formsapp.999&acceptLanguage=en-US&config=banner"/>

At this point I have no idea if all functionality is available using this method, and I'm not sure how stable it is. I've used it and it works, but that's as far as I've gone with it.

For more information see:

Hope this helps. Regards Tim...

Back to the Top.