IBM i and Java Support
What IBM i clients need to know about Java and its support options.
In the past few months, my team has been receiving many questions about Java, and especially about the support of Java, because of announcements Oracle has made about changes to how they will be supporting their versions of Java 8. We’ve had enough questions that we thought we ought to just publish something that clarifies what IBM i clients need to know about Java and its support options.
I’ll start with a simplified view, then get a bit more detailed. But beware—I won’t be telling you what Oracle’s policies are. First, I don’t speak for Oracle. Second, I’d like this blog entry to have a reasonable lifespan. That is, I’d like you to be able to read it a year or more from publication and still be relatively sure it’s accurate. Oracle can change their policies and offerings any time they want, so describing their current state here runs a risk of making this post outdated very quickly. So let’s start with what doesn’t change.
Server Java and Client Java
IBM i users are generally using Java in two ways: on the IBM i server itself, and on the “client” machines.
Server Java: A Power Systems server running IBM i is using the “server” flavor of Java. And IBM i integrates the IBM version of Java into the operating system, not the Oracle version. With IBM’s strategic involvement in contributing to open source, the Java we ship at some point in the future will be a common open source version, but it won’t be the version which comes from Oracle. So Oracle’s support policies have no impact on the Java running on IBM i. Period. The support you have for IBM’s Java running on IBM i is included in your support for the IBM i operating system. You don’t pay more for it.
Client Java: Hopefully you are all familiar with this overloading of the term “client,” but just to be sure—when people talk about Java “clients” they’re talking about machines like laptops, desktops, phones and other mobile devices. These “clients” have Java running on them, but the operating system running those clients is not IBM i.
Support for Client Java is available from the supplier of that version of Java. Many of our users are using Oracle’s version of Java on their clients and so they’re subject to Oracle’s policies on the cost of using Oracle Java, and the cost of support for Oracle Java.
IBM OpenJ9 JVM for Clients: It’s important to understand, however, that IBM also contributes to and supports a version of Java that can run on your client. Software that depends on having a Java Runtime on your client machine can use this Java as easily as it uses Oracle Java.
For example—and this is where most of the questions are being raised by IBM i clients—IBM i Access Client Solutions (ACS) runs on clients, and ACS requires a Java Runtime. Again, many users have Oracle Java as the runtime for ACS but that’s not the only option. Users could (and many do) use the IBM OpenJ9 JVM on the client.
The most detailed place to find out about Java options for use with ACS is this support document.
If you’re interested in downloading the IBM OpenJ9 JVM, it’s available at no charge at this link.
“No charge” use is important, at least at this point in time, because the announcement from Oracle stated that they would begin charging for enterprise (non-personal) use of their Java starting in January.
What About Support?
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.
I’m afraid I’ve made this sound more complicated than it is. I’ve tried giving you enough details to help you understand it, as well as providing you links to the resources you’ll need if you want to understand further, or if you want to purchase support.
The simple version is:
- Java on IBM i is integrated at no extra charge. Oracle cannot service it, so don’t pay them to do it!
- Java on clients attached to IBM i can come from the community (of which IBM is a part of) so Oracle isn’t your only option. And …
- IBM provides service offerings for the OpenJ9 JVM, so if you want your JVM to be supported, again, Oracle isn’t your only option.
We hope this helps!