Java EE application deployment

Registered by Thierry Carrez

Provide a Java EE stack for application deployment.

Blueprint information

Not started
Jos Boumans
Needs approval
Series goal:
Milestone target:

Related branches



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.