GlassFish

Differences between revisions 1 and 10 (spanning 9 versions)
Revision 1 as of 2008-12-04 18:37:36
Size: 1998
Comment:
Revision 10 as of 2009-01-26 17:08:19
Size: 4394
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Background ==

[[http://www.glassfish.org|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).
Line 4: Line 8:
It is a dynamically extensible and embeddable platform that is modular. 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.


== Release Note ==
Provide a modular, lightweight, highly productive Java EE server for users to to deploy against.
Line 7: Line 17:

This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified.

== Use Cases ==

== Assumptions ==
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.
Line 15: Line 20:
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|https://glassfish.dev.java.net/downloads/v3-prelude.html]] for more info.
Line 16: Line 22:
You can have subsections that better describe specific parts of the issue. Expected to have a release in June which will be JavaEE6 certified.
Line 19: Line 25:

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

=== UI Changes ===

Should cover changes required to the UI, or specific UI that is required to implement this

=== Code Changes ===

Code changes should include an overview of what needs to change, and in some cases even the specific details.

=== Migration ===

Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.

== Test/Demo Plan ==

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.
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]
Line 44: Line 31:

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.
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.
Line 49: Line 35:
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.  1. Status of Java EE/J2EE container in Ubuntu
 2. GlassFish v2 in Ubuntu - status
 3. GlassFish v3 in Ubuntu 'universe' and 'main'
  * Features
  * Intended Audience
  * Roadmap
Line 51: Line 42:
----
CategorySpec
== BOF Summary ==

Attendees:

Abhijit Kumar
Jerome Dochez
Ken Drachnik
Ludovic Champenois
Matthias Klose
Nitya Doraisamy
Thierry Carrez

There is a project on packaging [[https://blueprints.launchpad.net/ubuntu/+spec/maven-packaging-support|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.

Background

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).

Summary

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.

Release Note

Provide a modular, lightweight, highly productive Java EE server for users to to deploy against.

Rationale

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.

Design

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.

Implementation

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]

Unresolved issues

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

  1. Status of Java EE/J2EE container in Ubuntu
  2. GlassFish v2 in Ubuntu - status

  3. GlassFish v3 in Ubuntu 'universe' and 'main'

    • Features
    • Intended Audience
    • Roadmap

BOF Summary

Attendees:

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.

GlassFish (last edited 2009-01-26 17:08:19 by nitya-doraisamy)