IBM Support

Java Options for IBM i Access Client Solutions?

Question/Answer


Question

What are some of the Java options for running IBM i Access Client Solutions?

Cause

Beginning with IBM i Access Client Solutions (IBM i ACS) 1.1.8.0 released in June 2018, IBM i ACS requires Java 8 as a minimum, and recommends Java 8 Update 171 or higher.

Recently Oracle made the following Oracle Java SE 8 Release Updates statement:

Public updates for Oracle Java SE 8 will remain available for individual, personal use through at least the end of 2020.
Public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial or production used without a commercial license. (https://www.java.com/en/download/release_notice.jsp)

Recently Oracle made the following Oracle JDK 11 License statement:

With JDK 11 Oracle has updated the license terms on which we offer the Oracle JDK.
The new Oracle Technology Network License Agreement for Oracle Java SE is substantially different from the licenses under which previous versions of the JDK were offered. Please review the new terms carefully before downloading and using this product.
This License agreement includes the statement: " You may not  use the Programs for any data processing or any commercial, production, or internal business purposes other than developing, testing, prototyping, and demonstrating your Application"
 

This has introduced questions as to what some of the options are for the Java to be used with IBM i ACS.

Answer

IBM i Access Client Solutions (IBM i ACS) depends on Java 8 or higher being made available for it, therefore customers using IBM i ACS will have to decide what version and level of Java they will deploy, how it is deployed in their environment and maintain it at current levels of fixes and security updates.

IBM i ACS at version 1.1.8.0 and later supports Java 8, 9, 10 and  IBM i ACS at version 1.1.8.1 and later adds support for Java 11 so there are multiple options available to use.  At this time fixes and security updates are not being released for Java 9 or 10, so it is recommended to use Java 8 or 11.

The Oracle Java 8 installable JRE with automated update capabilities available from (https://www.java.com/en/download/manual.jsp) is a valid option, but to obtain those updates after January 2019 to be used with an enterprise application like IBM i Access Client Solutions a commercial license would have to be obtained from Oracle.

Oracle has been and is continuing to make their Java technology available under the open GPL license for OpenJDK and OpenJDK will work with IBM i Access Client Solutions.

IBM i ACS customers can download OpenJDK with the IBM OpenJ9 JVM from here:
     https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=openj9
This OpenJDK distribution is being built by a team that includes IBM and this team has committed to making fixes and security updates available in a timely manner for the long term at no charge under the OpenJDK licenses. Individual issues can be reported to the open source community here:  https://adoptopenjdk.net/support.html

 IBM offers support for the IBM OpenJ9 JVM. The offerings are called IBM Runtimes for Business.  
There are two offerings available at the time I’m writing this: 5737-F61 and 5737-J49. They both allow you to get service subscriptions only for the systems on which you want support, rather than requiring service for every system in your enterprise. The second offering—the J49 offering—is very new (it became available in late November 2018) also provides monitoring for your enterprise’s Java installations.

The detailed announcement of the most recent offering is here.

The homepage for the older offering is here.
 

 

Due to the varied nature of how different environments may choose to deploy Java, IBM i Access  Client Solutions (IBM i ACS) is very flexible and the rest of this will discuss some of the options with launching IBM i ACS with various Java deployments.

For the vast majority of deployments the install_acs* scripts are used to roll out IBM i ACS and those rely on the Start_Programs acslaunch programs.  These acslaunch programs are also the recommended way to manually launch IBM i ACS.  The acslaunch programs will investigate the client workstation common locations for compatible Java runtimes along these priorities.

  • JAVA_HOME environment variable.  If the User or System environment variable is pointing to the location of a valid, compatible Java runtime this will be used to launch IBM i ACS.  Updating this JAVA_HOME environment variable is required with a Java deployment like the OpenJDK that does not have a wizard that installs Java to a specific location, but can be placed wherever on the client workstation.  Here are some examples of the environment variable syntax:
              -  JAVA_HOME=C:\OpenJDK8\jdk8u172-b11
              -  JAVA_HOME=C:\Program Files\Java\jre-10.0.2
              -  JAVA_HOME=C:\Program Files (x86)\Java\jre1.8.0_181
  • Oracle Java 8 or later installed location.  Oracle Java by default is installed in C:\Program Files\Java (64bit) or C:\Program Files (x86)\Java (32bit).  IBM i ACS attempts to place precedence on Java 10 or later if available.
  • IBM Java 8 or later installed location.  This will generally only be available if another IBM Java based application like Eclipse or Rational has been installed and installs IBM Java in a common location.  IBM Java by default is installed in a location like C:\Program Files\IBM\Java80 (64bit) or C:\Program Files (x86)\IBM\Java80.
     

IBM i ACS can also directly define the Java runtime to be used by the acslaunch program.  One of the benefits of this approach is that this allows IBM i ACS to use a Java runtime that may not be available to the entire client workstation.  There are also several ways to do this and here are a couple:

  • Place the Java JRE folder next to the acslaunch program that is being used.
  • Add a -vm statement to the acslaunch program call.  This can even be used if IBM i ACS install_acs script has been used to create desktop icons, the properties of the desktop icon can be modified so that the Target: syntax is updated to pass this.  Here is a syntax example:

              -  Access Client Solutions icon Target: C:\Users\user\IBM\ClientSolutions\Start_Programs\Windows _x86-64\acslaunch_win-64.exe -vm C:\OpenJDK8\jdk87172-bll
              -  ACS Session Mgr icon Target: C:\Users\user\IBM\ClientSolutions\Start_Programs\Windows _x86-64\acslaunch_win-64.exe -vm C:\OpenJDK8\jdk87172-bll /plugin=sm

     

Related information

Getting IBM OpenJ9 Java and Including it with IBM i ACS
Getting IBM OpenJ9 Java and Setting it as the Default Java for use with IBM i ACS
IBM i and Java Support

Document information

More support for: IBM i Access Client Solutions

Software version: 1.1.8.0 and later

Operating system(s): IBM i

Reference #: 0719405

Modified date: 21 December 2018