Java Web Start software provides a flexible and robust deployment solution for Java technology-based applications based on the Java Community Process program (JCP). The technology is being developed through the JCP program as JSR-56: The Java Network Launching Protocol & API (JNLP), which provides a browser-independent architecture for deploying Java 2 technology-based applications to the client desktop.
Java Web Start technology works with any browser and any Web server. Each application developed for use with the Java Web Start software specifies which version of the Java 2 platform it requires, e.g., version 1.4 or 1.5, and each application runs on a dedicated Java Virtual Machine (JVM).
A main feature of the Java Network Launching Protocol and API technology is the ability to automatically download and install Java Runtime Environments onto the users machine.
For example, an application might depend APIs in Sun's Java Runtime Environment 1.4.0 (or later). When a user first accesses this application, the Java Web Start software will download all the needed files for the application, as well as download the Java Runtime Environment (JRE) if the requested version is not available locally. The ability to automatically download a JRE is one of the key features to ensure robust deployments. It ensures that the JRE that your application is tested on will be available on the user's machine, as well as make it possible to seamlessly upgrade to improved versions of the Java 2 platform over time.
The auto-download feature simplifies Java Web Start deployments because it makes commonly used software readily available for use with Java Web Start. Typically, only an extra line has to be added to a JNLP file to take advantage of this feature. In contrast, without the auto-download feature, developers would be forced to repackage and host the software themselves - adding a significant overhead to the deployment burden. As an added benefit to both developers and end-users, this minimizes the download time for an application since each JRE will be shared between multiple applications.
The packages currently available for auto-download are:
Because the Java Web Start Java Runtime Environment installer uses Verisign certificates, the autodownload from here works only if the client machine has version 1.3 or later of the Java Runtime Environment installed.
The "j2se ..." element is used to specify the set of Java Runtime Environments that your application supports. They can be specified both as a vendor-independent platform-version and as a vendor-dependent product version.
Specifying a platform version: Currently, there are three different platforms supported: 1.2, 1.3, 1.4, and 1.5. For example:
j2se version="1.4 1.3+"
j2se version="1.4"
The order in which the platforms are specified matters. In the above example, the application prefers the 1.4 platform, but can run on a 1.3 platform and above. Java Web Start will automatically do a request to the auto-download site and download a JRE matching this request if none are found locally.
Specifying a product version: A product version is specified by including a vendor-specific URL from where to download the JRE.
j2se version="1.4.2*" href="http://goo.gl/oWqMb"
In the above example, a product version that has 1.4.2 as a prefix is requested, e.g., 1.4.2, 1.4.2_02, 1.4.2_04 would match.
j2se version="1.4.0_01+" href="http://goo.gl/oWqMb"
In the above example, a product version that is equal to or greater than 1.4.0_01 is requested.
To request a particular version, you should specify a particular dot-dot release (e.g., 1.4.2* as shown above). Specifying a dot-dot-dot release (e.g., 1.4.2_02) is possible but not recommended - since it might force your customers to use an unsupported JRE. Specifying a dot-dot release assures that your customers always will download the latest supported release.