1. Introduction 1.1. Project/Component Working Name: GlassFish v3 Packaging 1.2. Name(s) and e-mail address of Document Author(s)/Supplier: Snjezana Sevo-Zenzerovic: snjezana.sevo-zenzerovic@sun.com 1.3. Date of This Document: 10/26/2009 2. Project Summary 2.1. Project Description: This project defines product packaging used to deliver the content of GlassFish v3 release as standalone product distribution. 2.2. Risks and Assumptions: Project depends on the stability and support for its imported interfaces (mainly IPS). It also depends on the timely delivery and support of package content files. 3. Problem Summary 3.1. Problem Area: GlassFish v3 release has to be delivered as standalone product installation integrated into Update Center 2.0 content delivery mechanism based on Image Packaging System (IPS). 3.2. Justification: File layout and packaging are essential product interfaces. 4. Technical Description: 4.1. Details: Product packages will be organized based on functional component boundaries and will be mapped to OSGi bundles. Package naming and versioning will follow IPS Packaging Best Practices document (see section 5 for link). Although this document does not cover any other package based distributions of GlassFish v3 release, following similar file layout and packaging structure will be strongly recommended for any other distributions based on this release (for instance, eventual RPM package based distribution) to the extent that is possible given the packaging and file layout rules imposed to such distributions. 4.2. Bug/RFE Number(s): N/A 4.3. In Scope: Packaging for standalone IPS image based distribution of GlassFish v3 release. 4.4. Out of Scope: Packaging for any other distributions based on GlassFish v3 release and packaging for additional product functionality delivered in subsequent GlassFish v3 releases or offered as additional content through update center. 4.5. Interfaces: 4.5.1 Exported Interfaces Interface: GlassFish v3 IPS Packages Stability: Uncommitted Former Stability (if changing): N/A Comments: Described in section 4.5.1.1 4.5.1.1 GlassFish v3 IPS Packages Following IPS packages will be produced by GlassFish v3 build and used to create GlassFish v3 distributions. Package Name Description Dependency felix Felix OSGi framework none glassfish-hk2 HK2 framework none glassfish-grizzly Grizzly NIO framework none for GlasFish nucleus glassfish-nucleus Nucleus components felix, glassfish-hk2, glassfish-grizzly, pkg-java glassfish-grizzly-full Grizzly NIO framework glassfish-grizzly for GlassFish web/full glassfish-corba-base CORBA for Glassfish none web distribution glassfish-common Common utilitis and glassfish-nucleus, components (including glassfish-grizzly-full, deployment, security) glassfish-corba-base glassfish-javahelp JavaHelp for GlassFish none glassfish-upgrade Upgrade tool glassfish-common, glassfish-javahelp glassfish-registration Registration glassfish-common glassfish-management RESTful management glassfish-common, jersey glassfish-jca JCA glassfish-common, glassfish-jta glassfish-jpa JPA glassfish-jca glassfish-jta Local transaction glassfish-common support glassfish-jsf JSF glassfish-web glassfish-web Web container glassfish-common glassfish-jcdi JCDI glassfish-web glassfish-jdbc JDBC glassfish-common glassfish-gui Admin GUI glassfish-registration, glassfish-web glassfish-ejb-lite Lightweight EJB glassfish-common glassfish-common-full Commons for Glassfish glassfish-common full distribution glassfish-corba CORBA for GlassFish glassfish-corba-base full distribution glassfish-jts XA Transaction support glassfish-jta, glassfish-corba-base glassfish-jms JMS glassfish-common glassfish-ejb Full EJB container glassfish-ejb-lite, glasfish-corba glassfish-cmp CMP container glassfish-ejb glassfish-scripting Scripting (jRuby) glassfish-nucleus support metro Metro web services stack glassfish-common jersey Jersey RESTful web glassfish-common services In addition to these packages, following IPS packages delivered by other teams will be included in GlassFish v3 distributions: Package Name Description Dependency pkg-java pkg Java API none mq-core Message Queue core none mq-server Message Queue server mq-core mq-config-gf MQ configuration for mq-server GlassFish mq-bin-exe MQ Windows utilities mq-core mq-bin-sh MQ Unix utilities mq-core javadb-client JavaDB client javadb-common javadb-common JavaDB commons none javadb-core JavaDB server javadb-common Distributions will also contain following incorporation and metapackages used to control the content and the versioning of particular distribution: glassfish-web-incorporation - incorporation package for GlassFish web profile distribution glassfish-full-incorporation - incorporation package for GlassFish full profile distribution glassfish-web-profile - metapackage for GlassFish web profile distribution glassfish-full-profile - metapackage for GlassFish full profile distribution 4.5.2 Imported interfaces Interface: Image Packaging System (IPS) Stability: Uncommitted Exporting Project: http://opensolaris.org/os/project/pkg/ Comments: IPS is ported to non-Solaris platforms by Update Center 2.0 project 4.6. Doc Impact: This project impacts product documentation in areas which need to reference package names and content, mostly installation and upgrade guides. 4.7. Admin/Config Impact: Project defines the packaging of product files, including those used for product configuration. However, domain configuration files themselves are not under package system control. 4.8. HA Impact: N/A 4.9. I18N/L10N Impact: 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. -l10n. 4.10. Packaging & Delivery: The proposal itself defines product packaging and delivery. 4.11. Security Impact: N/A 4.12. Compatibility Impact Package names and content are consistent with those used for GlassFish v3 Prelude release. Compared to previous major release (v2), this release uses new packaging format (IPS). 4.13. Dependencies: Proposal depends on the delivery of all GlassFish v3 release product components defined in IPS package interface and it is sensitive to changes in product content and OSGi bundling. 5. Reference Documents: In addition to imported interface documents referenced in section 4.5.2. following documents are of interest: * OSGi Integration One-pager http://wiki.glassfish.java.net/Wiki.jsp?page=V3FunctionalSpecs * IPS Packaging Best Practices - guidelines on IPS package naming and versioning http://ipshowto.org 6. Schedule: 6.1. Projected Availability: December 2009