Find JSRs
Submit this Search


Ad Banner
 
 
 
 

Summary  |  Proposal  |  Detail (Summary & Proposal)
JSRs: Java Specification Requests
JSR 38: Application Installation API Specification

Stage Access Start Finish
Maintenance Draft Review Download page 15 Jan, 2003 18 Feb, 2003
Final Release Download page 06 Nov, 2002  
Final Approval Ballot View results 10 Sep, 2002 23 Sep, 2002
Proposed Final Draft Download page 08 Apr, 2002  
Public Review Download page 05 Mar, 2002 04 Apr, 2002
Community Draft Ballot View results 19 Feb, 2002 25 Feb, 2002
Community Review Login page 24 Jan, 2002 25 Feb, 2002
CAFE   09 Oct, 1999 22 Nov, 1999
JSR Approval   02 Oct, 1999 08 Oct, 1999
Status: Maintenance
JCP version in use: 2.1
Java Specification Participation Agreement version in use: 1.0


Description:
This proposal is to develop a set of Java APIs that will enable cross-platform installation and de-installation of JavaTM applications as well as platform-specific applications.

Please direct comments on this JSR to the Spec Lead(s)
Team

Specification Leads
  Paul Lovvik Sun Microsystems, Inc.
Expert Group
  Hewlett-Packard iPlanet Sun Microsystems, Inc.
  Zero G Software

Updates to the Original JSR

The following updates have been made since the original request.

2004.04.14: Sun took over as Maintenance Lead of this JSR.
2002.11.06: JPL took over as Maintenance Lead of this JSR.


Original Java Specification Request (JSR)

Identification | Request | Contributions

Section 1: Identification

Submitting Participant #1: Defense Information Systems Agency (DISA)
Name of Contact Person: Thomas McVittie
E-Mail Address: thomas.i.mcvittie@jpl.nasa.gov
Telephone Number: +1 818-393-5052
Fax Number: +1 818-393-5151
Submitting Participant #2: Sun Microsystems
Name of Contact Person: Eric Nielsen
E-Mail Address: eric.nielsen@eng.sun.com
Telephone Number: +1 650-786-7081
Fax Number: +1 650-786-5734

Other Companies who endorse this JSR:

  • IBM
  • InstallShield

Section 2: Request

2.1 Please describe the proposed Specification:
This is a proposal to develop a set of Java APIs that would enable cross platform installation and de-installation of applications. The functionality desired would allow installation of Java applications as well as platform-specific applications. The desired user experience should provide for a GUI-based approach and a command-line capability and support both attended and unattended software installation.

The specification will provide a set of Java APIs to support the installation, de-installation, and non-intereference of applications. It is expected that non-Java, platform specific executables can be installed as well as Java applications.

Our intent is to provide a royalty-free install API capable of installing applications and data on multiple platforms.

2.2 What is the target Java platform?
While it is expected that all Java platforms can use this installation capability, the J2SETM and J2EETM platforms are the primary targets for this JSR.
2.3 What need of the Java community will be addressed by the proposed specification?
This API will address the need within the Java community for a set of APIs to address the installation and removal of applications, both Java-based as well as platform-specific, in a consistent manner that preserves the integrity of the platform and any other applications installed on the platform. The intent is to provide the capability for developers to provide a single Java executable that can perform at a minimum the following functions:
  • collect system information such as installation location, platform type, disk resources, etc.,
  • determine adequacy of resources such as disk space, system revision levels, etc.,
  • obtain installation preferences and license information from user,
  • identify any system conflicts that may arise between applications to be installed and existing system (e.g. port usage conflicts or shared library dependencies),
  • install appropriate executables on system and perform any post install tasks needed for proper application operation.
2.4 Why isn't this need met by existing specifications?
No existing specifications address this need.
2.5 Please give a short description of the underlying technology or technologies:
We expect to leverage existing work by Sun Microsytems, IBM and InstallShield using the WebStart 3.0 APIs to provide a Wizard-like functionality for handling the machine-user dialog. Additional effort is needed to address the issues of non-interference with other applications currently installed, and to ensure subsequent application installation is aware of the requirements of previously installed applications.
2.6 Is there a proposed package name for the API Specification?
Not at this time.
2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?
While the proposed specification may enable the installation of platform-specific applications, the specifications will not have any such dependencies.
2.8 Are there any security issues that cannot be addressed by the current security model?
No.
2.9 Are there any internationalization or localization issues?
Standard Java internationalization methods will be sufficient for this API. The API will include panels that provide user instruction and request user interaction. These blocks of text should be included with the API, so localized resource bundles will likely be part of the reference implementation.
2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?
No.

Section 3: Contributions

3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.
The javadoc for WebStart API 3.0 is available and can be used as a starting point for the specification process

The javadoc is available by downloading and installing the Web Start SDK from http://www.sun.com/solaris/webstart/wizards

3.2 Explanation of how these items might be used as a starting point for the work.
We can use this specification as a starting point because it provides the basic functionality required by any install solution. We are planing to enhance those capabilities.