GlassFish is an open source Java application server. The project was launched in mid 2005 and the first version v1 was released in May 2006 (integrated to multiverse for Feisty release). The next version v2 was released in Sep 2007 (integrated to multiverse for Gutsy release).
GlassFish v3 Prelude is a lightweight Web 2.0 development and deployment platform built on a modular OSGi-based architecture. It is a dynamically extensible and embeddable platform that will support multiple configurations to address a broad set of user classifications. GlassFish will shed the "one size fits all" approach typically found with application servers available today.
The upcoming GlassFish v3 release will implement Java EE 6 standard including an API to support REST based web services and further ease of development and application packaging. Some of the other features are -- support for scripting using Java based languages like jRuby, Groovy and jython, continued focus on ease of use through industry leading administration console and support for IDEs like NetBeans and Eclipse.
Provide a modular, lightweight, highly productive Java EE server for users to to deploy against.
Support for up-and-coming Java EE and web services standards as well as popular scripting languages and open source frameworks is a requirements in the enterprise world.
GlassFish v3's current release, Prelude is a lightweight Web 2.0 platform. It provides a web container which can be extended to Java EE 6 technologies which are currently in preview status. See https://glassfish.dev.java.net/downloads/v3-prelude.html for more info.
Expected to have a release in June which will be JavaEE6 certified.
Glassfish v3 will need to be fully built from source to be included in 'universe' and then 'main'. Glassfish v3 uses maven to build and pulls down several external jars that are required at compile time.
- Packaging effort is required for the external jars
- It includes own update center to deliver patches and additional modules. The update center needs to be either modified to provide Ubuntu packages or possibly disabled
- Since current version is V3 prelude, more packaging will be required as product adds JavaEE 6 technologies
GlassFish v3 File Layout [GlassFishV3FileLayout]
GlassFish build relies on Maven to download dependencies from repositories. Updates are needed in Ubuntu's Maven packages for the build to leverage installed packages etc for the source build to meet 'main' requirements. Maven is getting used more frequently in Java projects and having a strategy about how to handle projects built using maven will help GlassFish as well as other Java based projects that need to integrate in Ubuntu.
BoF agenda and discussion
- Status of Java EE/J2EE container in Ubuntu
GlassFish v2 in Ubuntu - status
GlassFish v3 in Ubuntu 'universe' and 'main'
- Intended Audience
Abhijit Kumar Jerome Dochez Ken Drachnik Ludovic Champenois Matthias Klose Nitya Doraisamy Thierry Carrez
There is a project on packaging maven such that it uses a local repository. More information is available at https://wiki.ubuntu.com/JavaTeam/Specs/MavenSupportSpec. The maven specification is going to be implemented before code freeze for Jaunty release.
The available release of GlassFish, v3 Prelude does not have full Java EE support but it is moving in that direction. GlassFish v2, in 'multiverse' has full Java EE support. For a complete list of differences between v2 and v3, see https://glassfish.dev.java.net/public/comparing_v2_and_v3.html
GlassFish v3 Prelude architecture is more suitable for Ubuntu. By addressing the maven issue, the major roadblock in GlassFish v3 getting packaged for Ubuntu is removed. There was a consensus in packaging GlassFish v3 Prelude for integration into 'universe' repository.
Further discussion on how to get early access to packaged maven and how to identify packaging tasks for GlassFish will happen off-line.