J2EESupport

Differences between revisions 2 and 3
Revision 2 as of 2008-05-28 14:39:09
Size: 5436
Editor: lns-bzn-48f-81-56-218-246
Comment:
Revision 3 as of 2008-05-28 16:14:39
Size: 7691
Editor: lns-bzn-48f-81-56-218-246
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Issues to discuss at Server Team meeting =
 * Best technical target : modular, servlet container, monolithic J2EE ?
 * Maven (needed to build all modular targets : Geronimo and GlassfishV3) : how to make it compatible with Debian package building in the timeframe ?
 * Targeting Main inclusion would push lots of packages (javalibs/mavenplugins...) in Main
Line 46: Line 51:
|| Type : || Modular (Servlet container or J2EE application server, uses Tomcat or JeTTY) || || Type : || Modular (Servlet container or J2EE application server, uses Tomcat or Jetty) ||
Line 71: Line 76:
 * Fails to build using openjdk-6-jdk, even if overriding the version check  * Fails to build using openjdk-6-jdk :
   *
even if overriding JDK version check in build.xml
   * `MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"` in ~/.mavenrc
Line 77: Line 84:
   * Geronimo team (Kevan Miller) is willing to help us overcome that building obstacle
Line 100: Line 108:
== JBOSS == == JOnAS 4 ==
|| Type : || J2EE application server (uses Tomcat or Jetty) ||
|| License : || LGPL 2.1 ||
|| Builds from source : || ? ||
|| Packaged : || No ||
|| Maintainability : || ? ||
|| Compatibility : || J2EE v1.4 ||
|| Release cycle logic : || twice a year, a new JOnAS release is delivered ||
|| Version : || 4.9.2 ||
|| Link : || http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/ ||

== JOnAS 5 ==
Line 102: Line 121:
|| License : || LGPL 2.1 ||
Line 103: Line 123:
|| Packaged : || no. Only JBoss Common in Universe ||
|| Maintainability : || ?? ||
|| Compatibility : || J2EE v1.4 as of JBOSS 4 ||
|| Release cycle logic : || ~ twice a year ||
|| Version : || 5.0 "really soon" ||
|| Packaged : || No ||
|| Maintainability : || ? ||
|| Compatibility : || Release version 5.1 (Nov 08) targets J2EEv5 compliance ||
|| Release cycle logic : || twice a year, a new JOnAS release is delivered ||
|| Version : || 5.0.3RC (no stable release yet) ||
|| Link : || http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/ ||
Line 109: Line 130:
Notes
 * Questionable maintenance relationship.
== Jetty 5.1 ==
|| Type : || Servlet container ||
|| License : || Apache 2.0 ||
|| Builds from source : || yes? ||
|| Packaged : || yes, in Universe (5.1.14) ||
|| Maintainability : || good upstream ||
|| Compatibility : || Servlet/JSP 2.4/2.0 ||
|| Release cycle logic : || ||
|| Version : || 5.1.14 ||
|| Link : || http://www.mortbay.org/jetty-6/ ||
Line 112: Line 141:
== JeTTY 6 == == Jetty 6.1 ==
Line 116: Line 145:
|| Packaged : || yes, in Universe || || Packaged : || No ||
Line 120: Line 149:
|| Version : || || || Version : || 6.1.10 ||
|| Link : || http://www.mortbay.org/jetty-6/ ||
Line 122: Line 152:
== JOnAS == == Resin 3.1 Open Source version ==
|| Type : || Java/PHP application server ||
|| License : || GPL ||
|| Builds from source : || where's the source ? ||
|| Packaged : || No ||
|| Maintainability : || ?? ||
|| Compatibility : || No certification, but J2EEv5 features (Servlet 2.5 / JSP 2.1 / EJB 3.0) ||
|| Release cycle logic : || ||
|| Version : || 3.1.6 ||
|| Link : || http://caucho.com/resin/doc/ ||

 * Enterprise-ready version is "Resin Professional", not open source
 * Difficulty to find anything on their website
 * Need partnership with Caucho if we choose that option

== JBOSS AS 5 ==
Line 124: Line 169:
|| License : || LGPL ||
|| Builds from source : || ? ||
|| Packaged : || no (only JBoss Common in Universe) ||
|| Maintainability : || ?? ||
|| Compatibility : || J2EE v1.5 ||
|| Release cycle logic : || ~ twice a year ||
|| Version : || 5.0.0Beta4 ||
|| Link : || http://www.jboss.org/jbossas/ ||

== JBOSS Web ==
|| Type : || Web server, servlet container, PHP/CGI ||
|| License : || LGPL ||
Line 126: Line 183:
|| Maintainability : || ? ||
|| Compatibility : || J2EE v1.4 as of JOnAS 4.4 ||
|| Release cycle logic : || ||
|| Version : || ||

Notes :
 * Decreasing marketshare
 * Not sure of upstream maintainability.

== Resin ==
|| Type : || ? ||
|| Builds from source : || ? ||
|| Packaged : || No ||
|| Maintainability : || ? ||
|| Compatibility : || ? ||
|| Release cycle logic : || ||
|| Version : || ||
|| Maintainability : || ?? ||
|| Compatibility : || Servlet/JSP 2.5/2.1 ||
|| Release cycle logic : || ||
|| Version : || JBoss Web 2.1.0 + JBoss Native 2.0.4 ||
|| Link : || http://www.jboss.org/jbossweb/ ||

Issues to discuss at Server Team meeting

  • Best technical target : modular, servlet container, monolithic J2EE ?
  • Maven (needed to build all modular targets : Geronimo and GlassfishV3) : how to make it compatible with Debian package building in the timeframe ?

  • Targeting Main inclusion would push lots of packages (javalibs/mavenplugins...) in Main

Ubuntu server J2EE support options

Tomcat 6

Type :

Servlet container

License :

Apache License v 2.0

Builds from source :

Yes, with openjdk (not with gcj -- missing J2SE 1.5 Socket.setPerformancePreferences methods)

Packaged :

no. Need to workaround Ant download

Maintainability :

good

Compatibility :

Servlet/JSP : 2.5/2.1

Release cycle logic :

none

Version :

6.0.16

Link :

http://tomcat.apache.org/

Notes :

  • Tomcat is downstream of Glassfish.
  • Lost contributers from Sun.

Tomcat 5.5

Type :

Servlet container

License :

Apache License v 2.0

Builds from source :

yes

Packaged :

yes (5.5.25 in Universe)

Maintainability :

good

Compatibility :

Servlet/JSP 2.4/2.0

Release cycle logic :

none, bugfixes only

Version :

5.5.26

Link :

http://tomcat.apache.org/

Current package problems :

  • dependency on JRE (java2-runtime), should be on JDK (java2-compiler) (LP: #179447, #112626)
  • file permissions incompatible with admin interface (LP: #234127, #220871)
  • incompatibility with openjdk (LP: #229404, #212521)
  • 5.5.26 needed to fix CVE-2007-5333 (LP: #220540, #228665)

Additional packages needed in main to build :

  • libcommons-daemon-java
  • libcommons-digester-java
  • libcommons-el-java
  • libcommons-fileupload-java
  • libcommons-httpclient-java
  • libcommons-launcher-java
  • libcommons-modeler-java
  • libstruts1.2-java

Geronimo

Type :

Modular (Servlet container or J2EE application server, uses Tomcat or Jetty)

License :

Apache License v 2.0

Builds from source :

not with OpenJDK6

Packaged :

no. Uses Maven.

Maintainability :

fair

Compatibility :

J2EE v5 since Geronimo 2.0.1

Release cycle logic :

"release often" (every 2-4 months)

Version :

2.1.1

Link :

http://geronimo.apache.org/

Notes :

  • Robust
  • Right featureset/Ubuntu-style management options
  • Increasing marketshare
  • Modular design. Technologically on par with JBoss and Glassfish v+1.
  • Good upstream maintenance relationship.

Running Geronimo binary :

  • Does not run with OpenJDK-6 (keystore issue). Requires Sun JDK >=1.5

  • Nice admin UI

Building Geronimo :

  • Should be built as modular packages with a few metapackages (geronimo-miniG-tomcat, geronimo-J2EE-tomcat...)
  • Maven-based build process pulls lots of deps in ~/.m2 -> difficulty to debianize

  • Very (really) slow using gcj - aborted
  • Fails to build using openjdk-6-jdk :
    • even if overriding JDK version check in build.xml
    • MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m" in ~/.mavenrc

    • org.apache.geronimo.axis2.pojo.POJOWebServiceContext is not abstract and does not override abstract method <T>getEndpointReference(java.lang.Class<T>,org.w3c.dom.Element...) in javax.xml.ws.WebServiceContext

    • JDK 1.6 incompatibility (new getEndpointReference abstract method in jax-ws)
  • Geronimo recommends building with Sun's JDK 1.5.
    • <kevan> jgawor: have you looked at getting geronimo to build with a 1.6 jdk?

    • <jgawor> kevan: no. i was going to worry about it when we start working on jaxws 2.1

    • Geronimo team (Kevan Miller) is willing to help us overcome that building obstacle

Glassfish v3

Type :

Modular (Servlet container or J2EE application server)

License :

CDDLv1 + GPLv2 with exceptions (see [https://glassfish.dev.java.net/downloads/v3/tp2-third-party-readme.txt here])

Builds from source :

No ?

Packaged :

No (uses Maven)

Maintainability :

good

Compatibility :

J2EE v5

Release cycle logic :

Version :

V3TP2 (incomplete : see http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishV3TP2Content )

Link :

https://glassfish.dev.java.net/

GlassFish v2

Type :

J2EE application server

License :

CDDLv1 + GPLv2 with exceptions (see [http://wiki.java.net/bin/view/Projects/GlassFishCodeDependencies here])

Builds from source :

no (being worked on) ?

Packaged :

in Multiverse (v2)

Maintainability :

good

Compatibility :

J2EE v5

Release cycle logic :

Version :

V2 UR2

Link :

https://glassfish.dev.java.net/

JOnAS 4

Type :

J2EE application server (uses Tomcat or Jetty)

License :

LGPL 2.1

Builds from source :

?

Packaged :

No

Maintainability :

?

Compatibility :

J2EE v1.4

Release cycle logic :

twice a year, a new JOnAS release is delivered

Version :

4.9.2

Link :

http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/

JOnAS 5

Type :

J2EE application server

License :

LGPL 2.1

Builds from source :

?

Packaged :

No

Maintainability :

?

Compatibility :

Release version 5.1 (Nov 08) targets J2EEv5 compliance

Release cycle logic :

twice a year, a new JOnAS release is delivered

Version :

5.0.3RC (no stable release yet)

Link :

http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/

Jetty 5.1

Type :

Servlet container

License :

Apache 2.0

Builds from source :

yes?

Packaged :

yes, in Universe (5.1.14)

Maintainability :

good upstream

Compatibility :

Servlet/JSP 2.4/2.0

Release cycle logic :

Version :

5.1.14

Link :

http://www.mortbay.org/jetty-6/

Jetty 6.1

Type :

Servlet container

License :

Apache 2.0

Builds from source :

?

Packaged :

No

Maintainability :

good upstream

Compatibility :

Servlet/JSP 2.5/2.1

Release cycle logic :

Version :

6.1.10

Link :

http://www.mortbay.org/jetty-6/

Resin 3.1 Open Source version

Type :

Java/PHP application server

License :

GPL

Builds from source :

where's the source ?

Packaged :

No

Maintainability :

??

Compatibility :

No certification, but J2EEv5 features (Servlet 2.5 / JSP 2.1 / EJB 3.0)

Release cycle logic :

Version :

3.1.6

Link :

http://caucho.com/resin/doc/

  • Enterprise-ready version is "Resin Professional", not open source
  • Difficulty to find anything on their website
  • Need partnership with Caucho if we choose that option

JBOSS AS 5

Type :

J2EE application server

License :

LGPL

Builds from source :

?

Packaged :

no (only JBoss Common in Universe)

Maintainability :

??

Compatibility :

J2EE v1.5

Release cycle logic :

~ twice a year

Version :

5.0.0Beta4

Link :

http://www.jboss.org/jbossas/

JBOSS Web

Type :

Web server, servlet container, PHP/CGI

License :

LGPL

Builds from source :

?

Packaged :

no

Maintainability :

??

Compatibility :

Servlet/JSP 2.5/2.1

Release cycle logic :

Version :

JBoss Web 2.1.0 + JBoss Native 2.0.4

Link :

http://www.jboss.org/jbossweb/

J2EESupport (last edited 2009-03-18 07:41:03 by terbium)