GlassFish Server Open Source Edition 3.1 - Packaging One Pager
GlassFish Open Source Edition 3.1 Packaging 1.2. Name(s) and e-mail address of Document Author(s)/Supplier:Snjezana Sevo-Zenzerovic: snjezana@java.net 1.3. Date of This Document:07/26/2010 2. Project Summary |
Package Name | Description | Depends on | Comments |
---|---|---|---|
shoal | Shoal GMS framework | glassfish-nucleus | Standalone package for Shoal. Need to be able to remove it and replace with other GMS framework such as Coherence. |
glassfish-cluster | Product-wide clustering support implementation. | glassfish-common, shoal(optional) | |
glassfish-ha | HA support | glassfish-common | |
glassfish-jms-ra | Generic RA and JMS JCA | glassfish-jms | Required for WebSphere/WebLogic interop. Available in stable update center repository only; this would replace current glassfish-generic-ra package. |
glassfish-ant-tasks | GlassFish Ant tasks library | - | Available as contrib update center repository content only. |
felix-gui | Felix Admin Console | glassfish-osgi-http | Available as contrib update center repository content only. |
These existing IPS packages will be updated with significant new content or have updated package dependencies:
Package Name | Description | New content/dependency | Comments |
---|---|---|---|
glassfish-nucleus | Nucleus package | Deployment versioning support | |
glassfish-common | Commons package | Clustering and HA API | |
glassfish-web | Web container package | Additional clustering/HA support | |
glassfish-ejb-lite | EJB lite container package | Additional OSGi support | |
glassfish-ejb | Full EJB container package | Additional clustering/HA support | |
glassfish-jca | JCA package | Additional OSGi support | |
glassfish-jpa | JPA package | Additional OSGi support | |
glassfish-jms | JMS package | Additional clustering/HA support | |
metro | Metro package | Additional clustering/HA support | |
glassfish-gui | Core admin console package | New dependency on glassfish-management |
This existing package will be obsoleted:
Package Name | Description | Comments |
---|---|---|
glassfish-scripting | JRuby scripting support package | May require publishing of one-off empty placeholder package in order to handle upgrades from 3.0 and 3.0.1 |
N/A
glassfish-scripting IPS package.
This project impacts product documentation in areas which need to reference package names and content, such as administration, installation and upgrade guides.
Project defines the packaging of product files, including those used for product configuration. However, domain and server instance configuration files themselves are not under package system control.
Project defines packaging of clustering/HA support files, but at this point does not have other impact on clustering and HA implementation.
Additional localized content will be delivered following Java and OSGi guidelines and locale specific files will be packaged into IPS packages which will be named according to the base package for English version, i.e.<base package name>-l10n. Such packages will have defined dependency on their corresponding base package.
See section 4.5.1.1.
Installation impact is minimal since installer uses pre-assembled installation image archive as its payload content. This isolates installer implementation from changes in package list used for particular GlassFish distribution.
Product upgrades from previous Glassfish 3.x releases will be handled by pkg(5) framework. Care will be taken during package content design to ensure preservation of existing product configuration files which can be modified by user, such as asenv.conf and asenv.bat and existing domain configuration directories. Existing metapackages and incorporation packages will be used to automatically install new packages during existing installation update.
There is no direct impact of this project on side-by-side upgrades since domain configuration files are not under package control.
Project defines file ownership and permissions for all product files which are under IPS packaging control and this mechanism will be used to restrict access to product files.
Package names and content are consistent with those used in previous GlassFish 3.x releases.
Project depends on all GlassFish modules which produce content that needs to be included in the GlassFish distribution, including their transitive dependencies.
Product packages have defined dependencies in order to ensure consistent content of installed product image. In 3.1 release, package dependencies will be more strictly enforced than in previous 3.x releases since package dependency will generally specify both package name and its version up to the level of particular promoted build. This rule may be relaxed for packages which contain independently versioned external content provided that project delivering such packages guarantees their compatibility with multiple GlassFish promoted builds. One example of such package would be jersey.
Project will also continue delivering metapackages (glassfish-web-profile and glassfish-full-profile) and incorporation packages (glassfish-web-incorporation and glassfish-full-incorporation). Metapackages specify set of all packages which are part of particular product distribution (either web profile or full platform) as dependency so the presence of metapackage ensures that no content will be missing from installed image. Incorporation packages also specify dependency on all distribution packages using "incorporates" type dependency which sets both lower and upper bound on package version. However, this type of dependency does not enforce the presence of dependency packages in installed image, so both metapackages and incorporation packages are required to control both aspects of installed image consistency, i.e. the presence of installed packages and their exact versions.
This feature is implicitly tested through product functional testing since functional areas will be affected by missing or corrupted files or incorrect permissions.
Specific tests for packager and distribution assembly modules will also be developed. These tests will check for inconsistencies between staged content and corresponding IPS package content and track changes in the package content such as addition and removal of product files.