In releases prior to Java Runtime Environment (JRE) 5.0 Update 6,
you could specify exactly which JRE release to deploy with Java
applets, Java Network Launching Protocol (JNLP) applications,
and standalone applications.
Starting with JRE 5.0 Update 6, you can no longer specify the exact JRE
release in Java applets for the Windows platform.
You can still specify the exact JRE release in JNLP and standalone applications.
If you are a developer writing JNLP or standalone applications, you will need to pay
more attention to your deployment strategies (as described later in this document).
This document describes deployment policies and recommendations for developers
related to this change.
Deployment Policies
Deployment policies for Java applets, JNLP applications,
and standalone applications are described in the following sections.
Java Applets
Deployment policies for Java applets are listed below.
Java applets can no longer request to run with a specific
version of the JRE software for the Windows platform.
Java applets are run using the latest version of the JRE
software that is installed on the system.
Java applets can continue to request to run with a minimal
version of the JRE software.
For migration purposes, there is a solution which allows a
Java applet to request to run with the latest version of the JRE in
the 1.3.1, 1.4.2, 5.0, or 6 family on the system.
For more details, see
Deploying JavaTM Applets With Family JRETM
Versions in Java Plug-in for Internet Explorer
Notes
The latest version of the JRE software on the system is
updated periodically through the Java Update mechanism. Because the
latest version of the JRE software is typically the most secure
version available (containing the most up-to-date security fixes),
applets can be run with minimum potential security risk.
Independent Software Vendors (ISVs)
should target a minimal JRE version to run their
applet(s) and ensure forward compatibility. More specifically, in a
non-managed deployment environment, applets may run with different
versions of the JRE software depending on on each system's
configuration. For example, if an applet is targeted for JRE 5.0 or
later, an ISV should make sure it does not rely on private
Application Programming Interfaces (APIs) or
runtime behaviors that only exist in JRE 5.0u7.
Java JNLP Applications
Deployment policies for JNLP applications are listed below.
JNLP applications can request to run with a minimal version
of the JRE software.
Signed JNLP applications can request to run with a specific
version of the JRE software.
Unsigned
JNLP applications can also request to run with a specific version of
the JRE software. However, if that specific version is not the
latest JRE version installed on the end user system, a security
warning dialog will pop up informing the end user about potential
security risks. The user must confirm the action before the
application continues to launch
JNLP applications are run with the latest version of the JRE
software on the system that satisfies the requested version
requirement.
Notes
The JRE software on the system is updated periodically to
the latest version through the Java Update mechanism. Because the
latest version of the JRE software is typically the most secure
version available (containing the most up-to-date security fixes),
JNLP applications that do not request any specific version of the
JRE software are run with minimum potential security risks.
Security vulnerabilities might appear in a specific version
of the JRE software requested by a the JNLP application. ISVs must
make sure they update their applications regularly to target a
newer (and more secure) version of the JRE software for deployment.
If an ISV wants to avoid the display of a security warning
dialog when their JNLP applications request a specific version of
the JRE for deployment, they must sign their JNLP applications.
Standalone Applications
Deployment policies for standalone applications are listed below.
Recommendations for Developers
Deployment recommendations for various types of applications are described below.
For Developers Writing New Java Applications
If the Java application is deployed in a browser environment:
Deploy applications as Java applets, knowing that these applets should
target a minimal JRE version, with forward compatibility in mind.
The latest version of the JRE software on the system will be used
for execution, and the Java Update mechanism will keep the JRE
software on the system up-to-date.
If the Java application is
deployed in a non-managed environment (that is, Internet, or hybrid
– Internet/Intranet):
If it is not critical to use a specific version of the JRE
software for deployment, deploy
applications as Java applets or JNLP applications. The latest
version of the JRE software on the system will be used for
execution, and Java Update will keep the JRE software on the system
up-to-date.
If it is critical to use a specific JRE version for
deployment, deploy applications as JNLP
applications or standalone applications.
If the Java application is deployed in a tightly managed
environment (such as Intranet only):
If it is not critical to use a specific JRE version for
deployment, deploy applications as Java applets or JNLP applications.
The latest version of the JRE
software on the system will be used for execution, and system
administrators are responsible for keeping the JRE software on
their end user systems up-to-date.
If it is critical to use a specific JRE version for
deployment, deploy applications as JNLP applications or standalone applications.
Although it may not be obvious to do so, developers can also
deploy their applications as Java applets if it is critical to use
a specific JRE version for deployment. Java applets are run using
the latest version of the JRE software that is installed on the
system. Since the system administrators in a managed environment
have full control over software deployment on each system, they
could dictate the latest version of the JRE software on each system
to indirectly control what version of the JRE software Java applets
would use.
For Developers with Already Deployed Java Applications
Using a Specific JRE Version for Deployment
A specific version of the JRE software may be used to run Java
applets and applications in a secure fashion as long as that specific
JRE version has not reached End of Service Life.
Refer to the
Sun End of Service Life (EOSL) Policy
To continue benefiting from critical fixes for a JRE version after it
has reached EOSL, you need a support contract or subscription from Sun.
Further Assistance
If you need further assistance to adopt these deployment policies, contact
Sun Engineering Services
for more details.
More Information
For more information, refer to
JavaTM SE 6:
Migrating Java Applets to Java Web Start Applications
.
|