Java Platform, Standard Edition Deployment Guide
Contents    Previous   

34 Java Rich Internet Applications Enhancements in JDK 7

This chapter provides an overview of new and changed deployment features in JDK 7.

The following sections describe the improvements and the release in which they were introduced.

34.3 Enhancements in JDK 7 Update 40

The JDK 7u40 release includes the following enhancements:

In addition, Chapter 24, "Rich Internet Application Deployment Process" provides a look at how the deployment of RIAs is handled.

34.4 Enhancements in JDK 7 Update 25

The JDK 7u25 release includes the following security enhancements:

In addition, the Section 23.5, "Security Dialogs" section provides information on the prompts that are shown when a RIA is started, and Deployment Best Practices in the Java Tutorial provide suggestions for deploying your RIA.

34.5 Enhancements in JDK 7 Update 21

This release includes the following security enhancements for running rich internet applications (RIAs), which are Java applets and Java Web Start applications:

34.8 Enhancements in JDK 7 Update 2

This release introduces the following improvements for web-deployed applications:

  • Java SE includes JavaFX: JDK 7 Update 2 and later includes the JavaFX SDK. See JavaFX 2.0.2 Release Notes for more information.

  • Non-blocking installation of JRE and JavaFX using Deployment Toolkit: The web page continues to accept user input while Deployment Toolkit downloads and installs the required components. See 7052499 for details.

  • Reduced footprint of signed JAR files: This release provides a new signing method that enables you to sign a JAR file as one large object instead of signing every JAR entry individually. This saves up to 10% of the total JAR size. Note: Users must run JRE 7 Update 2 or later to be able to use these JARs. See 7049193 and the section Sign the JAR Files in Packaging (the information in this section also applies to Java SE).

  • Caching certificate details in the JNLP file for signed applications: For an application that uses security, a security dialog will present the cached certificates immediately for user approval while downloading the application in the background. An older JRE will ignore this functionality; it will present the certificate information after the application is downloaded. See 7049169 and the section Embed Signing Certificate into Deployment Descriptor in Packaging (the information in this section also applies to Java SE).

  • Caching enabled by default: Caching of network content for application code running in Web Start mode is now enabled by default. This allows application improved performance and consistency with applet execution mode. To ensure the latest copy of content is used, the application can use URLConnection.setUseCaches(false) or request header Cache-Control values no-cache/no-store.

  • Embedded JNLP support for Web Start: The Deployment Toolkit can use a copy of a JNLP file embedded into a web page to launch an application. This helps to reduce number of network connections needed for the first start of a Web Start application from the browser. See 7052492 and the section Embed Deployment Descriptor into Web Page in Packaging (the information in this section also applies to Java SE).

  • Ability to pass secure JVM arguments to the Web Start application from inside the web page using Deployment Toolkit: This helps to avoid JVM relaunch due to JVM configuration mismatch and also helps to pass dynamic parameters from the web page. See 7072364 and the section Platform in Deployment in the Browser (the information in this section also applies to Java SE).

  • Improvements for handling content with gzip encoding: The deployment cache will keep application content in compressed form and return it to the application as-is with gzip content-encoding in the HTTP header. This makes behavior more consistent across different execution modes (first launch versus subsequent launch, cache enabled versus cache disabled). See 6575586 for more details.

  • Improved support for JNLP applications: JavaFX applications are more cleanly uninstalled; see 7085171 and 7053087. Recognition of JNLP install hints is improved; see 7046670.

  • Startup improvements: Startup has been improved for specific scenarios; see 7099086 and 7098160 for details.

  • New setting, Insecure JRE versions, in Java Control Panel: If users have a version of Java on their system that is below the security baseline, a warning message is displayed before an application or an applet can be run using that version. You can control this warning message with the Java Control Panel Advanced tab setting, Insecure JRE versions, which will set the property deployment.insecure.jres in the deployment.properties file to one of the following values:

    Value of deployment.insecure.jres property Value of Insecure JRE versions setting Description
    NEVER Do not use insecure JRE versions Untrusted content will always run with the default JRE.
    PROMPT Prompt user before using insecure JRE versions Users will see warning dialogs; this is the default value.
    ALWAYS Allow using insecure JRE versions (not recommended) Untrusted content will run with the requested JRE without any prompting.

    See Chapter 21, "Deployment Configuration File and Properties" for more information about the deployment.properties file.

34.9 Enhancements in Java SE 7

In addition, the following enhancements are introduced:

Area: DeploymentStandard/Platform: JDK 7Synopsis: Previously, the pack200 tool segmented its output by default. As of this release, the pack200 tool will create one large segment per jar file. Therefore, if deployers have jar files larger than the virtual memory available on the end-user's systems, it is recommended that either the input jar file be split, or suitably segmented by using the command-line flag "--segment-limit=nnnnn" or the equivalent property "SEGMENT_LIMIT".RFE: 6575357

Area: DeploymentStandard/Platform: JDK 7Synopsis: On Windows XP machines, the default cache directory is now under $USER\Local Settings\Application Data\Sun\Java\Deployment\cache. If needed, you may customize it to point to a network share folder for a single application cache across domain machines.RFE: 7012538

Area: DeploymentStandard/Platform: JDK 7Synopsis: The optional applet parameter, jnlp_embedded, provides the option to cache JNLP content on the HTML page and shortens applet launch time by skipping network access. The jnlp_embedded parameter has as its value the base64 encoded content of the applet JNLP file. For example:

<applet width="710" height="540" >
 <param name="jnlp_href" value="launch.jnlp"/>
 <param name="jnlp_embedded"
 value="PD94bWwgdmVyc2lvbj0iMS4wIiB . . . dC1kZXNjPg0KPC9qbmxwPg0K"/>
 <param name="draggable" value="true"/>
</applet>

When present, the jnlp_embedded parameter value replaces the content of the JNLP value pointed to by the jn.p_href parameter. The value of jnlp_ref is then optional and only used as a backup when the content of jnlp_embedded is invalid. There are a few restrictions on the embedded JNLP content:

  • The attribute href from element jnlp should be relative.

  • The attribute codebase from element jnlp should be empty (which means the codebase value will be derived from the document base URL).

RFE: 6990877

Area: DeploymentStandard/Platform: JDK 7Synopsis: As of JDK 7, clearing the cache works as follows:

  • Only non-installed resources are removed from the cache when invoking javaws -XClearCache.

  • Both installed and non-installed resources are removed by invoking javaws -uninstall.

  • The "Delete Temporary Files" dialog, in JCP, previously had two checkboxes, both checked by default: "Applications and Applets", and "Trace and Log files". As of JDK 7, there will be three checkboxes, with the first two checked by default: "Trace and Log Files", "Cached Applications and Applets", and "Installed Applications and Applets".

  • Only installed applications will have an entry in the Add/Remove panel.

RFE: 6873615

Area: JNLP FilesStandard/Platform: JDK 7Synopsis: In order to support debugging of Java Web Start applications, the -XX:HeapDumpOnOutOfMemoryError flag is now supported in JNLP files for trusted applications.RFE: 6664424

Area: JNLP FilesStandard/Platform: JDK 7Synopsis: Previous versions of Java Web Start did not correctly implement section 6.0.10 of the JNLP Specification. With this fix, fine-grained values for the "os" attribute, such as os="Windows\ XP", os="Windows\ Vista", and os="Windows\ 7", will work as expected. Values such as os="Win", and os="Windows" will continue to match all Windows platforms. As of this release, os="Windows\ Vista Windows\ 7" will only match Vista or Windows 7 and not Windows XP.RFE: 7014170

Area: PluginStandard/Platform: JDK 7Synopsis: A message stating that the first generation of the Java plugin is deprecated is now printed to the log file and to the Java console whenever plugin 1 is used.RFE: 7027792

Area: PluginStandard/Platform: JDK 7Synopsis: On Windows, the tray icon is now disabled by default. To enable the tray icon, use the Windows Start menu.RFE: 6694710

Area: PluginStandard/Platform: JDK 7Synopsis: The 64-bit toolkit is now supported on 64-bit Windows platforms.RFE: 6492139

Area: PluginStandard/Platform JDK 7Synopsis: Previously, the persistence API provided only temporary persistence for applets. When the VM exited, the data was lost. Data can be persisted via any of the standard Java mechanisms, through the use of LiveConnect to store data in the page DOM, or using one of the JNLP services.RFE: 6992419

Area: PluginStandard/Platform: JDK 7Synopsis: Google Chrome is now supported by the DT Plugin.RFE: 6907245

Contents    Previous   

Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved.