GlassFish Server Open Source Edition 3.1 - Installer

Introduction

This installation and uninstallation program will provide support for easy installation and configuration of features provided by GlassFish 3.1. Improvements to user experience where ever possible would also be addressed.

Scope

Feature ID Priority Description Eng Response Owner(s) Estimate (Man Days) Source of Requirement Status / Comments
INST-001 P1 Support for OS Services for DAS and Instances Yes Sathyan Catari   Feature parity with 2.1 and extension of support to cover non-windows platforms also.  
INST-002 P1 Installed files/directories adhering to security policy Yes Sathyan Catari   Oracle's security guidelines  
INST-003 P1 Signed executables on Windows platform Yes Sathyan Catari   Windows security  
INST-004 P2 Option to skip DAS (domain) setup Yes Sathyan Catari   Feature parity Remote node installation
INST-005 P2 HPUX support No Sathyan Catari   Product level platform support Not yet investigated.
INST-006 P3 Option to setup the whole Cluster Yes Sathyan Catari   Better experience for users getting exposed to GlassFish clusters setup a cluster with a domain and 2 local instances.
INST-007 P3 Support Custom/Complete/Typical installation mode Yes Sathyan Catari   User experience improvements  
INST-008 P3 User experience improvements Yes Sathyan Catari   Community/Customer forum better log, error, status messages.

Feature Overview

The features that this version of installer support can be grouped into the following categories.

  • 1). Features that support cluster configuration.
  • 2). Compliance features.
  • 3). user experience improvements.

1). Cluster configuration features.

  • GlassFish 3.0.x installers did not provide a way to configure the supported web server(s) and application server, to enable Load Balancing plugin. Initially this resulted in bad user experience given the number of manual steps to perform the configuration. However, this tedious process was automated using IzPack installer script and the same was provided outside product bundle as a separate utility. In this release, the users will be given an option to run the tool during installation time with the necessary arguments. The tool, however would be kept as a separate entity away from installer so that configuration of Load Balancing plugin can be done outside of installation. Keeping it separate will also help users installing community bundles, where this feature will not be supported through installation.
    NOTE: This is dropped after the initial evaluation revealed increase in size of overall bundle by 15MB.
  • To support the cases where the installation machine might participate only as a "node" in the cluster and not as the "server", an option will be introduced to skip domain admin server creation. We are also evaluating a potential "cluster" option that creates a domain with 2 instances.
  • Installations will provide an option to configure the server as a service, in all of the supported OS where create-service command is supported.

2). Compliance features

  • Permissions

The files/directories installed by this program will adhere to Oracle's security policy guidelines.

  • Passwords

Exposing or accepting plain-text passwords in silent installer state-file will be removed and encryption
of such passwords will be enforced.

  • Signed executable on windows

The installer and uninstaller executables on windows platform will be signed appropriately with Oracle
as the publisher.

3). User experience features

  • Support for remote MQ installation.

This is to support the scenario where the application server may connect/store/retrieve messages to a message queue provider running on a remote machine. Currently we bundle and install message queue without giving the users an option to skip the configuration. In this version, there will be an option to skip message queue configuration during GlassFish installation.
NOTE: Dropped after asarch discussion.

  • Custom/typical/complete installation mode.
    The classification would be based on how much user input is required and the extent of configuration to be done by installer.
  • Improvements to log messages, meaningful error messages, better status messages on progress will also be provided.
  • JDK Selection option will be enabled on Mac and HPUX.

Design Document

Milestone Schedule

Item # Date/Milestone Feature-ID Description QA/Docs Handover? Status / Comments
#1 MS2&4 INST-001 Support creation/removal of services YES  
#2 MS3 INST-002 Installed files/directories adhering to security policy YES  
#3 MS2 INST-003 Signed executables on Windows platform YES  
#4 MS3 INST-004 Option to skip DAS (domain) setup YES  
#5 MS4 INST-005 HPUX support YES
#6 MS4 INST-006 Option to setup the whole cluster YES  
#7 MS4&5 INST-007 Support Custom/Complete/Typical installation mode YES  
#8 MS5 INST-008 Customizable JDK location on Mac OS YES  
#9 MS5 INST-009 User experience improvements YES  

Task List

Task Target Milestone Start End Date Owner(s) Feature ID Status / Comments
Draft initial installer spec MS1     Sathyan Catari N/A Done
Incorporate review feedback and finalize spec MS1     Sathyan Catari N/A Done
Analysis and selection of framework MS1     Sathyan Catari N/A Done - use Open Installer
Generate signed exe using signtool MS2     Sathyan Catari INST-003 Done, will have to redo once Oracle certificate file is available.
build automation of signed exe generation MS2     Sathyan Catari INST-003 Done
Create and implement rules interface MS2     Sathyan Catari INST-002 Done
Integrate rules interface with installer MS2     Sathyan Catari INST-002 Done
Skip domain creation user interface changes MS3     Sathyan Catari INST-004 Done
Integrate skip domain creation option(GUI & Silent) MS3     Sathyan Catari INST-004 Done
Component metadata changes to support skip domain option MS3     Sathyan Catari INST-004 Done
User interface changes for Services support MS3     Sathyan Catari INST-001 Done
Integrate services support(GUI & Silent) on windows/solaris MS3     Sathyan Catari INST-001 Done
Configure cluster user interface changes MS4     Sathyan Catari INST-006 Started
Integrate Configure Cluster option(GUI & Silent) MS4     Sathyan Catari INST-006 Started
Component metadata changes to support Configure Cluster option MS4     Sathyan Catari INST-006 Started
Installation type user interface changes MS4,5     Sathyan Catari INST-007 Depending on approval of "Cluster configuration" feature. An approval means this feature pushed to MS5.
Integrate Installation type option(GUI & Silent) MS4,5     Sathyan Catari INST-004 Depending on approval of "Cluster configuration" feature.
Component metadata changes to support Installation type option MS4,5     Sathyan Catari INST-004 Depending on approval of "Cluster configuration" feature.
Integrate delete service support MS4     Sathyan Catari INST-001  
Extend service support for Linux and Mac MS4     Sathyan Catari INST-001  
OpenInstaller changes for HPUX support MS4     Sathyan Catari INST-005  
Wrapper changes to support HPUX MS4     Sathyan Catari INST-005  
Key/Value pair cleanup for silent installer statefile MS5     Sathyan Catari INST-008  
Extend JDK selection support for Mac/HpUX MS5     Sathyan Catari INST-004  
User experience improvements MS5     Sathyan Catari INST-008  

Dev Tests

  • Coming soon

References

Email Alias