J2EESupport

Differences between revisions 2 and 13 (spanning 11 versions)
Revision 2 as of 2008-05-28 14:39:09
Size: 5436
Editor: lns-bzn-48f-81-56-218-246
Comment:
Revision 13 as of 2008-06-16 14:44:52
Size: 11973
Editor: lns-bzn-48f-81-56-218-246
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Contents'''[[BR]][[TableOfContents]]||
Line 3: Line 5:
== Tomcat 6 == == Tomcat 5.5 ==
Line 6: Line 8:
|| 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 ||
|| Builds from source : || Yes ||
|| Packaged : || Yes (5.5.25 in Universe) ||
|| Maintainability : || Good ||
Line 25: Line 12:
|| Release cycle logic : || none, bugfixes only ||
|| Version : || 5.5.26 ||
|| Current version : || 5.5.26 ||
Line 45: Line 31:
== 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 (but not too complicated) ||
|| Maintainability : || Good ||
|| Compatibility : || Servlet/JSP : 2.5/2.1 ||
|| Current version : || 6.0.16 ||
|| Link : || http://tomcat.apache.org/ ||

 * Tomcat is now downstream of Glassfish, lost contributors from Sun.
 * Used by developers and as a servlet container inside other products, rarely in production by itself.

Random packaging notes :
 * Fix `commons-daemon.home=${base.path}` in build.properties
 * Needs libecj-java as additional build dep + force `jdt.jar=/usr/share/java/ecj.jar`
 * Needs to pull native connectors source as well and edit `tomcat-native.tar.gz=...`
 * No need to copy all jars to lib/ at packaging time, use the depends ones
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 48: Line 53:
|| Builds from source : || not with OpenJDK6 ||
|| Packaged : || no. Uses Maven. ||
|| Maintainability : || fair ||
|| Builds from source : || Yes (with OpenJDK + patch from Geronimo), but pulls lots of deps that might not ||
|| Packaged : || No. See below for options ||
|| Maintainability : || Good, reactive upstream ||
Line 52: Line 57:
|| Release cycle logic : || "release often" (every 2-4 months) ||
|| Version : || 2.1.1 ||
|| Current version : || 2.1.1 ||
Line 56: Line 60:
Notes :
 * Robust
 * "release often" (every 2-4 months)
Line 59: Line 62:
 * Increasing marketshare
Line 62: Line 64:

Running Geronimo binary :
 * Does not run with OpenJDK-6 (keystore issue). Requires Sun JDK >=1.5
 * Nice admin UI
 * Best admin UI : modular, professional-looking

Running Geronimo :
 * Running instructions recommend Sun JDK >=1.5
 * tomcat6-j2EE version does not run with OpenJDK-6
   * Invalid keystore format issue : http://pastebin.ca/1032465
   * Known issue in OpenJDK : http://www.nabble.com/OpenJDK---Glassfish-Client-td17512837.html
 * jetty6-j2EE version runs with OpenJDK-6
Line 69: Line 76:
 * 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 the version check
   * `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

== 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/ ||
 * Building with gcj
   * Very (really) slow - aborted
 * Building with OpenJDK-6
   * Need to override JDK version check in build.xml
   * Fails with `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)
   * Build instructions require Sun's JDK 1.5.
   * Geronimo team provided patch to build under 1.6 @ https://issues.apache.org/jira/browse/GERONIMO-4089
   * Very reactive help on FreeNode #geronimo, by Kevan Miller (kevan) and Jarek Gawor (jgawor)
   * Builds with `MAVEN_OPTS="-Xmx768m -XX:MaxPermSize=256m"` in ~/.mavenrc
   * Tests at the end of the build fail with loader constraint violation error : http://pastebin.ca/1032462
   * Runs OK, tests are OK when run separately

Packaging Geronimo :
   * Geronimo uses all the features of Maven to pull as much external stuff as it can
   * Must ensure we have source code for everything that is pulled, and that everything would be a ''main'' target
   * Solution 1 : use maven to build
     * Might need to patch maven to support this mode
     * Package all required dependencies and maven plugins (462 jarfiles of which only 123 are already packaged)
     * Package all required dependencies of dependencies (if any)
     * Add all .pom files to the source
     * run "mvn -o" to force offline mode
     * might not work as maven wants multiple versions of the same jar
   * Solution 2 : use ant to build, together with maven-ant-helper (current Debian way)
     * need to reinvent the build system and reimplement all required maven tasks (normally handled by plugins)
     * Package all required dependencies (393 jarfiles of which 123 are already packaged)
     * Package all required dependencies of dependencies (if any)
     * Figure out the best order in which to build
     * This should work, but lots of work to package initially and to maintain (to build something big that heavily relies on Maven to build, you basically have to create and maintain a Debianized mirror of the Maven artifact repositories).
   * Geronimo ships with a few (20) slightly-modified third-party JAR files with a Maven hack to make sure those are picked instead of the regular ones that Maven would fetch. It is mostly Apache-projects packages for which Geronimo needs a patch that hasn't made it into a release. Geronimo doesn't provide the patchfiles used to build those (though in some cases you can find them in the third-party project bugzilla or VCS with minimal research).
Line 92: Line 109:
|| Builds from source : || no (being worked on) ? ||
|| Packaged : || in Multiverse (v2) ||
|| Maintainability : || good ||
|| Builds from source : || No (being worked on) ||
|| Packaged : || in Multiverse (V2 UR1) - builds from binaries ||
|| Maintainability : || Good support from Sun ||
Line 96: Line 113:
|| Release cycle logic : || ||
|| V
ersion : || V2 UR2 ||
|| Current version : || V2 UR2 ||
Line 100: Line 116:
== JBOSS == Two sources in multiverse :
 * glassfish (builds from source : glassfish-activation, glassfish-appserv, glassfish-jmac-api, glassfish-mail, glassfish-javaee, glassfish-toplink-essentials) : incomplete GlassFish with the build-from-source bits
 * glassfishv2 (builds from binary blobs : glassfishv2-bin, glassfishv2, glassfishv2-doc) : complete GF by Sun

Running glassfishv2 :
 * Install fails at configure glassfish-v2 : missing English.pm in @INC while running /usr/share/glassfishv2/config/install/install.pl (missing libtimedate-perl package in depends)
 * Invalid keystore format running with OpenJDK-6 (same error as Glassfish), runs OK with Sun's JDK
 * Good admin UI, but ''way'' too much Sun-branded

== 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 support from Sun ||
|| Compatibility : || J2EE v5 ||
|| Current version : || V3TP2 (incomplete : see http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishV3TP2Content ) ||
|| Link : || https://glassfish.dev.java.net/ ||

 * Alpha code
 * Only the framework and web container in V3TP2
 * Build system :
   * 60 external JARs required to compile or at runtime, of which 6 are already in Main, 7 in Universe and 1 in Multiverse (see [http://people.ubuntu.com/~koon/gf3_external_deps.ods list])
   * Using Maven pulls 82 more JARs (+34 slightly different versions) of which 17 are already packaged

== JOnAS 4 ==
|| Type : || J2EE application server (uses Tomcat or Jetty) ||
|| License : || LGPL 2.1 ||
|| Builds from source : || see below ||
|| Packaged : || No ||
|| Maintainability : || Questionable ||
|| Compatibility : || J2EE v1.4 ||
|| Current version : || 4.9.2 (released May 23, 2008) ||
|| Link : || http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/ ||

 * Twice a year, a new JOnAS release is delivered
 * Can make use of pristine Tomcat 5.5 or Jetty 5.1
 * Looks less ''finished'' than Geronimo, more a research testbed than an enterprise-ready solution

Building JonAS4 :
 * "Source" package includes 134 pre-built jars, difficult to tell if they all build from source
 * Sources build with gcj
 * Does not build using OpenJDK-6 (`org.objectweb.jonas.dbm.JManagedConnection is not abstract and does not override abstract method...`)

== JOnAS 5 ==
Line 102: Line 162:
|| Builds from source : || ? ||
|| 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" ||

Notes
 * Questionable maintenance relationship.

== JeTTY 6 ==
|| Type : || Servlet container ||
|| License : || Apache 2.0 ||
|| Builds from source : || ? ||
|| Packaged : || yes, in Universe ||
|| Maintainability : || good upstream ||
|| Compatibility : || Servlet/JSP 2.5/2.1 ||
|| Release cycle logic : || ||
|| Version : || ||

== JOnAS ==
|| Type : || J2EE application server ||
|| Builds from source : || ? ||
|| Packaged : || no ||
|| Maintainability : || ? ||
|| Compatibility : || J2EE v1.4 as of JOnAS 4.4 ||
|| Release cycle logic : || ||
|| Version : || ||

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

== Resin ==
|| Type : || ? ||
|| License : || LGPL 2.1 ||
Line 139: Line 165:
|| Maintainability : || ? ||
|| Compatibility : || ? ||
|| Release cycle logic : || ||
|| Version : || ||
|| Maintainability : || Questionable ||
|| Compatibility : || Release version 5.1 (Nov 08) targets J2EEv5 compliance ||
|| Current version : || 5.0.3RC (no stable release yet) ||
|| Link : || http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/ ||

 * New architecture, OSGi based (like Glassfish v3)
 * Can't make it start
   * `NoClassDefFoundError: org/ow2/jonas/commands/admin/ClientAdmin`

== JBOSS AS 5 ==
|| Type : || J2EE application server ||
|| License : || LGPL ||
|| Builds from source : || see below ||
|| Packaged : || No (only JBoss Common in Universe) ||
|| Maintainability : || Questionable ||
|| Compatibility : || J2EE v1.5 ||
|| Current version : || 5.0.0Beta4 ||
|| Link : || http://www.jboss.org/jbossas/ ||

 * Market leader for FOSS J2EE appservers
 * Admin UI makes use of Java applets, seems less accessible than Geronimo's one

Building JBOSS AS :
 * "Source" package includes 295 pre-built jars, difficult to tell if they all build from source
 * JBOSS AS sources don't build with our current Ant (1.7)
 * JBOSS AS sources build OK with Ant 1.6.5

== 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 ||
|| Current version : || 5.1.14 ||
|| Link : || http://www.mortbay.org/jetty-6/ ||

 * More an integration component than a full-featured application server
 * No admin UI

== Jetty 6.1 ==
|| Type : || Servlet container ||
|| License : || Apache 2.0 ||
|| Builds from source : || See below ||
|| Packaged : || No. Maven pulls 94 jars, most of them are already packaged. ||
|| Maintainability : || Good upstream ||
|| Compatibility : || Servlet/JSP 2.5/2.1 ||
|| Current version : || 6.1.10 ||
|| Link : || http://www.mortbay.org/jetty-6/ ||

 * More an integration component than a full-featured application server
 * No admin UI

Building 6.1 from source :
 * Does not build with gcj
 * Uses maven + a cvs task at one point to pull even more
 * Compilation fails with OpenJDK-6, complaining about Sun proprietary API and [that] may be removed in a future release

== Resin 3.1 Open Source version ==
|| Type : || Java/PHP application server ||
|| License : || GPL ||
|| Builds from source : || Where's the source ? ||
|| Packaged : || No ||
|| Maintainability : || Questionable ||
|| Compatibility : || No certification, but J2EEv5 features (Servlet 2.5 / JSP 2.1 / EJB 3.0) ||
|| Current 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

Ubuntu server J2EE support options

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

Current 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

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 (but not too complicated)

Maintainability :

Good

Compatibility :

Servlet/JSP : 2.5/2.1

Current version :

6.0.16

Link :

http://tomcat.apache.org/

  • Tomcat is now downstream of Glassfish, lost contributors from Sun.
  • Used by developers and as a servlet container inside other products, rarely in production by itself.

Random packaging notes :

  • Fix commons-daemon.home=${base.path} in build.properties

  • Needs libecj-java as additional build dep + force jdt.jar=/usr/share/java/ecj.jar

  • Needs to pull native connectors source as well and edit tomcat-native.tar.gz=...

  • No need to copy all jars to lib/ at packaging time, use the depends ones

Geronimo

Type :

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

License :

Apache License v 2.0

Builds from source :

Yes (with OpenJDK + patch from Geronimo), but pulls lots of deps that might not

Packaged :

No. See below for options

Maintainability :

Good, reactive upstream

Compatibility :

J2EE v5 since Geronimo 2.0.1

Current version :

2.1.1

Link :

http://geronimo.apache.org/

  • "release often" (every 2-4 months)
  • Right featureset/Ubuntu-style management options
  • Modular design. Technologically on par with JBoss and Glassfish v+1.
  • Good upstream maintenance relationship.
  • Best admin UI : modular, professional-looking

Running Geronimo :

Building Geronimo :

  • Should be built as modular packages with a few metapackages (geronimo-miniG-tomcat, geronimo-J2EE-tomcat...)
  • Building with gcj
    • Very (really) slow - aborted
  • Building with OpenJDK-6
    • Need to override JDK version check in build.xml
    • Fails with 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)

    • Build instructions require Sun's JDK 1.5.
    • Geronimo team provided patch to build under 1.6 @ https://issues.apache.org/jira/browse/GERONIMO-4089

    • Very reactive help on FreeNode #geronimo, by Kevan Miller (kevan) and Jarek Gawor (jgawor)

    • Builds with MAVEN_OPTS="-Xmx768m -XX:MaxPermSize=256m" in ~/.mavenrc

    • Tests at the end of the build fail with loader constraint violation error : http://pastebin.ca/1032462

    • Runs OK, tests are OK when run separately

Packaging Geronimo :

  • Geronimo uses all the features of Maven to pull as much external stuff as it can
  • Must ensure we have source code for everything that is pulled, and that everything would be a main target

  • Solution 1 : use maven to build
    • Might need to patch maven to support this mode
    • Package all required dependencies and maven plugins (462 jarfiles of which only 123 are already packaged)
    • Package all required dependencies of dependencies (if any)
    • Add all .pom files to the source
    • run "mvn -o" to force offline mode
    • might not work as maven wants multiple versions of the same jar
  • Solution 2 : use ant to build, together with maven-ant-helper (current Debian way)
    • need to reinvent the build system and reimplement all required maven tasks (normally handled by plugins)
    • Package all required dependencies (393 jarfiles of which 123 are already packaged)
    • Package all required dependencies of dependencies (if any)
    • Figure out the best order in which to build
    • This should work, but lots of work to package initially and to maintain (to build something big that heavily relies on Maven to build, you basically have to create and maintain a Debianized mirror of the Maven artifact repositories).
  • Geronimo ships with a few (20) slightly-modified third-party JAR files with a Maven hack to make sure those are picked instead of the regular ones that Maven would fetch. It is mostly Apache-projects packages for which Geronimo needs a patch that hasn't made it into a release. Geronimo doesn't provide the patchfiles used to build those (though in some cases you can find them in the third-party project bugzilla or VCS with minimal research).

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 UR1) - builds from binaries

Maintainability :

Good support from Sun

Compatibility :

J2EE v5

Current version :

V2 UR2

Link :

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

Two sources in multiverse :

  • glassfish (builds from source : glassfish-activation, glassfish-appserv, glassfish-jmac-api, glassfish-mail, glassfish-javaee, glassfish-toplink-essentials) : incomplete GlassFish with the build-from-source bits

  • glassfishv2 (builds from binary blobs : glassfishv2-bin, glassfishv2, glassfishv2-doc) : complete GF by Sun

Running glassfishv2 :

  • Install fails at configure glassfish-v2 : missing English.pm in @INC while running /usr/share/glassfishv2/config/install/install.pl (missing libtimedate-perl package in depends)
  • Invalid keystore format running with OpenJDK-6 (same error as Glassfish), runs OK with Sun's JDK
  • Good admin UI, but way too much Sun-branded

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 support from Sun

Compatibility :

J2EE v5

Current version :

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

Link :

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

  • Alpha code
  • Only the framework and web container in V3TP2
  • Build system :
    • 60 external JARs required to compile or at runtime, of which 6 are already in Main, 7 in Universe and 1 in Multiverse (see [http://people.ubuntu.com/~koon/gf3_external_deps.ods list])

    • Using Maven pulls 82 more JARs (+34 slightly different versions) of which 17 are already packaged

JOnAS 4

Type :

J2EE application server (uses Tomcat or Jetty)

License :

LGPL 2.1

Builds from source :

see below

Packaged :

No

Maintainability :

Questionable

Compatibility :

J2EE v1.4

Current version :

4.9.2 (released May 23, 2008)

Link :

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

  • Twice a year, a new JOnAS release is delivered
  • Can make use of pristine Tomcat 5.5 or Jetty 5.1
  • Looks less finished than Geronimo, more a research testbed than an enterprise-ready solution

Building JonAS4 :

  • "Source" package includes 134 pre-built jars, difficult to tell if they all build from source
  • Sources build with gcj
  • Does not build using OpenJDK-6 (org.objectweb.jonas.dbm.JManagedConnection is not abstract and does not override abstract method...)

JOnAS 5

Type :

J2EE application server

License :

LGPL 2.1

Builds from source :

?

Packaged :

No

Maintainability :

Questionable

Compatibility :

Release version 5.1 (Nov 08) targets J2EEv5 compliance

Current version :

5.0.3RC (no stable release yet)

Link :

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

  • New architecture, OSGi based (like Glassfish v3)
  • Can't make it start
    • NoClassDefFoundError: org/ow2/jonas/commands/admin/ClientAdmin

JBOSS AS 5

Type :

J2EE application server

License :

LGPL

Builds from source :

see below

Packaged :

No (only JBoss Common in Universe)

Maintainability :

Questionable

Compatibility :

J2EE v1.5

Current version :

5.0.0Beta4

Link :

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

  • Market leader for FOSS J2EE appservers
  • Admin UI makes use of Java applets, seems less accessible than Geronimo's one

Building JBOSS AS :

  • "Source" package includes 295 pre-built jars, difficult to tell if they all build from source
  • JBOSS AS sources don't build with our current Ant (1.7)
  • JBOSS AS sources build OK with Ant 1.6.5

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

Current version :

5.1.14

Link :

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

  • More an integration component than a full-featured application server
  • No admin UI

Jetty 6.1

Type :

Servlet container

License :

Apache 2.0

Builds from source :

See below

Packaged :

No. Maven pulls 94 jars, most of them are already packaged.

Maintainability :

Good upstream

Compatibility :

Servlet/JSP 2.5/2.1

Current version :

6.1.10

Link :

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

  • More an integration component than a full-featured application server
  • No admin UI

Building 6.1 from source :

  • Does not build with gcj
  • Uses maven + a cvs task at one point to pull even more
  • Compilation fails with OpenJDK-6, complaining about Sun proprietary API and [that] may be removed in a future release

Resin 3.1 Open Source version

Type :

Java/PHP application server

License :

GPL

Builds from source :

Where's the source ?

Packaged :

No

Maintainability :

Questionable

Compatibility :

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

Current 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

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