How to Use Java 7 with Oracle Forms 11g in an Oracle-Supported Environment

UPDATE (6/26/14): The next Java 7 update 7u60 (1.7.0_60) has been released as of June 2014. This is the recommended Java runtime to use which contains the most recent security patches. This KB article has been updated to reflect the latest Java SE 7 patch released by Oracle.

In recent weeks, Oracle continues to find new security vulnerabilities with each version of Java (JDK, JRE, etc.). Each new JDK/JRE release contains new patches which patch any possible vulnerabilities which have been discovered. When Oracle Forms and Reports 11g first came out, only JDK/JRE 6 was supported as Java 7 was not released at the time. Due to this, many older versions of Oracle Forms 11g do not have support with JDK/JRE 7 according to Oracle’s certification matrix. At the same time, there are more recommendations which advise of applying the latest Java patches which would upgrade the JDK and/or JRE to version 7 even if the Forms environment is not supported with it. For anybody who might be considering the use of the latest version of Java 7 to be protected from newly-discovered security vulnerabilities, this leads to some common questions:

  1. Will my environment be supported?
  2. How do I start using Java 7 with Forms if I am using a version which does not support the use of Java 7?
  3. If I upgrade to a supported environment, do I need to make any configuration changes?
  4. What is new to the latest Java update?

1. Will my environment be supported?

To answer the first question, it is important to know which Oracle Forms environments are supported with Java 7 and which are not. Oracle Forms as well as all Oracle Fusion Middleware products utilize Oracle WebLogic Server as the application server environment starting with 11g. In order for a Forms 11g environment to be supported with Java 7, the Oracle WebLogic Server version MUST be 10.3.6 (the latest version of WLS (WLS 12c is NOT supported with Forms 11g) as of April 16, 2013). If you are using an older version of Oracle WebLogic Server and you wish to start using the latest version of Java, WLS must be upgraded to version 10.3.6. After verifying your WebLogic Server version, you will need to verify the version of Oracle Forms you are using.

The following Oracle Forms versions are supported to use Java 7 if using WLS 10.3.6 (using the latest update currently released):

  • 11gR1
    • Oracle Forms & Reports 11.1.1.6
    • Oracle Forms & Reports 11.1.1.7
  • 11gR2
    • Oracle Forms & Reports 11.1.2.1
    • Oracle Forms & Reports 11.1.2.2

The following Oracle Forms versions are NOT supported to use Java 7:

  • 11gR1
    • Oracle Forms & Reports 11.1.1.1
    • Oracle Forms & Reports 11.1.1.2
    • Oracle Forms & Reports 11.1.1.3
    • Oracle Forms & Reports 11.1.1.4
    • Oracle Forms & Reports 11.1.1.5
  • 11gR2
    • Oracle Forms & Reports 11.1.2.0

2. How do I start using Java 7 with Forms if I am using a version which does not support the use of Java 7?

After verifying your Forms version, if you wish to start using Java 7 with Forms and you are using a Forms version which does NOT support using Java 7 (this leads to the second question mentioned above), both the WebLogic Server and Forms/Reports installations will need to be upgraded. The following list contain upgrade paths which you can take to upgrade your installation to an environment which supports using Java 7:

  • 11gR1 (If you are also using Oracle Portal and/or Oracle Discoverer)
    • Oracle Forms & Reports 11.1.1.1 –> Upgrade to WLS 10.3.6 and Forms & Reports 11.1.1.6 or 11.1.1.7
    • Oracle Forms & Reports 11.1.1.2 –> Upgrade to WLS 10.3.6 and Forms & Reports 11.1.1.6 or 11.1.1.7
    • Oracle Forms & Reports 11.1.1.3 –> Upgrade to WLS 10.3.6 and Forms & Reports 11.1.1.6 or 11.1.1.7
    • Oracle Forms & Reports 11.1.1.4 –> Upgrade to WLS 10.3.6 and Forms & Reports 11.1.1.6 or 11.1.1.7
    • Oracle Forms & Reports 11.1.1.5 –> Upgrade to WLS 10.3.6 and Forms & Reports 11.1.1.6 or 11.1.1.7
  • 11gR1 (If you are only using Oracle Forms and Reports)
    • Oracle Forms & Reports 11.1.1.1 –> Upgrade to WLS 10.3.6 and Forms & Reports 11.1.2.2 (latest version of Oracle Forms)
    • Oracle Forms & Reports 11.1.1.2 –> Upgrade to WLS 10.3.6 and Forms & Reports 11.1.2.2
    • Oracle Forms & Reports 11.1.1.3 –> Upgrade to WLS 10.3.6 and Forms & Reports 11.1.2.2
    • Oracle Forms & Reports 11.1.1.4 –> Upgrade to WLS 10.3.6 and Forms & Reports 11.1.2.2
    • Oracle Forms & Reports 11.1.1.5 –> Upgrade to WLS 10.3.6 and Forms & Reports 11.1.2.2
  • 11gR2
    • Oracle Forms & Reports 11.1.2.0 –> Upgrade to WLS 10.3.6 and Forms & Reports 11.1.2.2

3. If I upgrade to a supported environment, do I need to make any configuration changes?

Let’s say that you are now using either Oracle Forms version 11.1.1.6/11.1.1.7 (latest 11gR1 versions) or 11.1.2.2 (latest 11gR2 version) after upgrading from an older version. If you were to start running the application right now, it is guaranteed that each client will either continue or install Java Runtime Environment 6 (version 1.6.0_25 for example). This leads to the third question mentioned earlier. Some minor changes will need to be made in formsweb.cfg (located in %DOMAIN_HOME%\config\fmwconfig\servers\WLS_FORMS\applications\formsapp_11.1.#\config). More specifically, the jpi parameters will need to be updated.

Once formsweb.cfg is open in a text editor (make a backup first), go into the default section first. You will need to look for these four parameters:

  • jpi_download_page
  • jpi_classid
  • jpi_codebase
  • jpi_mimetype

These parameters are still configured to use JRE 6. To have each client start using the latest version of Java, the following updates will need to be done (comment out the old ones as backups):

  • jpi_download_page=http://java.sun.com/products/archive/j2se/7u60/index.html
  • jpi_classid=clsid:CAFEEFAC-0017-0000-FFFF-ABCDEFFEDCBA
  • jpi_codebase=http://java.sun.com/update/1.7.0/jinstall-7u60-windows-i586.cab#Version=1,7,0,60 (NOTE: This will prompt IE browsers to use only the latest JRE 7)
  • jpi_mimetype=application/x-java-applet;jpi-version=1.7.0_60

Be sure to apply the above changes in each section in formsweb.cfg which you are using for your environment. After saving the changes in formsweb.cfg, it is also recommended to recompile your forms, menus, libraries, and reports. After this is done, you should be able to start testing your application.

NOTE: If you are now using Forms/Reports 11.1.2.1 or 11.1.2.2 and you receive REP-52262 errors when running reports, please see https://pitss.com/us/2012/12/20/running-reports-in-formsreports-11-1-2-1-generates-rep-52262-with-default-settings for more information.

NOTE: If you run into any issues installing or running your Forms application using JRE 7, manually installing the latest Java runtime may help fix the problem especially if the browser is unable to install it automatically. More information can be found here: https://pitss.com/us/2013/02/20/manually-install-a-jre-oracle-forms/

4. What is new to the latest Java update?

Starting with Java 7 update 21 (7u21 or 1.7.0_21), more user-friendly Java warnings appear due to either unsigned Java code (Jar files, JavaScript (New to JDK 7u21) or if jar files are not signed with a trusted certificate (e.g. X.509). Examples are shown here:

Updated JRE 7u21 Security Warning

The above screenshot appears if a jar file is not signed with a trusted certificate. Unless told specifically by the owner of the jar file (or if you are running a Forms application in a DEV/TEST environment using self-signed certificates), it is strongly recommended not to run them. If the publisher is known and you trust the publisher, you can click the checkbox next to “I accept the risk and want to run this application”. If you do not want to have the warning appear again for the same publisher, click “Show Options” and place a check box next to “Do not show…”, and it will not appear again. It is recommended NOT to do this in production! NOTE: Starting with Java 7 Update 40, you no longer have the option to click a check box to not have the warning appear again.

Java 7u21 Unsigned code warning

The above screenshot appears if a jar file either contains unsigned code or a mix of signed & unsigned code. It is recommended to click “Block” when this window appears. NOTE: If this message appears when launching PITSS.CON, click “Don’t Block” as this appears due to the fact that GIFs are used for the PITSS background and logo which cannot be signed.

Also, the Java Control Panel no longer has the settings for “Low” and “Custom”. Only “Very High”, “High” (default), or “Medium” can be used.

More information can be found at Oracle’s press release on Java 7u21 at: http://www.oracle.com/technetwork/java/javase/7u21-relnotes-1932873.html.

To view the list of the 42 security vulnerabilities patched in Java 7u21, please review: http://www.oracle.com/technetwork/topics/security/javacpuapr2013verbose-1928687.html

For more information on working with the latest Java security features introduced in 7u25, 7u40, and 7u45, please see the following articles:

How to Fix the Missing Permissions and Codebase Manifest Warnings for Oracle Forms jar files: https://pitss.com/us/2013/09/26/missing-required-permissions-manifest-attribute-in-main-jar/

How to Fix the Missing Permissions and Codebase Manifest Warnings for Custom jar files: https://pitss.com/us/2013/10/24/how-to-modify-custom-jar-files-with-permissions-and-codebase-attributes/

Using PITSS.CON with the latest Java 7 Updates: https://pitss.com/us/2013/10/17/unable-to-run-pitss-con-with-java-runtime-7-update-45/

 

Sources:

Oracle Certification Matrix for Forms, Reports, and other Fusion Middleware products for 11gR1: http://www.oracle.com/technetwork/middleware/downloads/fmw-11gr1certmatrix.xls

Oracle Certification Matrix for Forms and Reports 11gR2 (11.1.2.0): http://www.oracle.com/technetwork/developer-tools/forms/oracle-forms-11gr2certmatrix-519680.xls

Oracle Certification Matrix for Forms and Reports 11gR2 (11.1.2.1): http://www.oracle.com/technetwork/developer-tools/forms/oracle-forms-111210certmatrix-1886127.xls

Oracle Certification Matrix for Forms and Reports 11gR2 (11.1.2.2): http://www.oracle.com/technetwork/es/middleware/docs/oracle-forms-111220certmatrix-2087910.xls?ssSourceSiteId=otnen

Oracle JDK 7u21 Update Release Notes: http://www.oracle.com/technetwork/java/javase/7u21-relnotes-1932873.html

Oracle JDK 7u45 Update Release Notes: http://www.oracle.com/technetwork/java/javase/7u45-relnotes-2016950.html

Oracle JDK 7u60 Update Release Notes: http://www.oracle.com/technetwork/java/javase/7u60-relnotes-2200106.html