Java EE application deployment

Registered by Thierry Carrez

Provide a Java EE stack for application deployment.

Blueprint information

Status:
Not started
Approver:
Jos Boumans
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Deferred
Milestone target:
None

Related branches

Sprints

Whiteboard

UDS discussion notes

== User stories ==
User story: As a system administrator, I want to deploy an enterprise Java application such as HR Access. I install Ubuntu Server Edition, obtain the necessary prerequisites from the Ubuntu package repositories, and follow the ISV's instructions to get the application up and running.

== Karmic situation ==
 * Tomcat6 (main)
 * Jetty6 libraries (main)
 * Jetty 5 (universe)
 * JBoss 4.2 ? (universe)
 * Some glassfish libraries (universe)
 * glassfishv2 (multiverse, removed in karmic)
 * Websphere CE (Hardy partner)
 * geronimo (not packaged)
   - has a very precise requirement for the version of Java it wants
   - have a few geronimo packages in main for APIs
 * Alfresco
   - package pulls in 40-something Jars that aren't properly distro packaged
 * Other than Windows, Ubuntu is top for Eclipse development and deployment
 * Java developers will go to great effort to have same versions of libraries (eg as Windows developers)
 * JavaEE specific tools and enterprise tools have overlap

== Objectives ==
 * JavaEE 5 certified stack ?
 * Enterprise-friendly Java deployment env ?
   * Manage multiple machines
 * Need to decide which parts of the stack to include and support
   * more costly to address glassfish, geronimo, spring
   * but less costly for JBoss 5
 * Investigate cost of JBoss 4 and 5 in main
   * Makes it easier to bring in spring
     * unfortunately only enterprise paid spring pacakge is maintained long enough for main
 * Debian has some usable java packaging going on
 * OEM can depend on tomcat-common package, but ship their own additional things
   * Can try to make more friendly tomcat packaging (eg for deployment of jars)
 * Test suite enabled for packages entering main (not really the case currently)
   * Need a java expert to fix the test cases that fail.
 * Make sure stack we provide is current for all the applications we are using.
   * More stuff makes it harder to maintain a current stack of libraries
   * has no equivalent of soname so it's harder to track versioned dependencies
   * Java 7 may have some dependency support but that's a ways off
 * Focus more on development and certification than with deployed applications ?
 * Helping Eclipse and plugins get into Ubuntu proper (use PPAs for the multiple versions?)
   * Upstream Eclipse has some problems when people try and use on Ubuntu.

== Components ==
 * JDK
  * OpenJDK 6
  * Sun JDK 5
  * Sun JDK 6
 * JSP reference server
  * Apache Tomcat
 * J2EE application server
  * Glassfishv2
  * Jboss
  * Apache Geronimo
 * Application Framework
  * Spring
 * Hibernate/Toplink(now in glassfish)
 * ??? MuleESB or Apache Synapse

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.