Java EE application deployment
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
- Started by
- Completed by
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/
* ??? MuleESB or Apache Synapse