J2EESupport
4307
Comment:
|
8964
|
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 5: | Line 7: |
|| License : || Apache License v 2.0 || | |
Line 6: | Line 9: |
|| Packaged : || no. Need to workaround Ant download || || Maintainability : || good || || Compatibility : || Servlet/JSP 2.5/2.1 || || Release cycle logic : || none || || Version : || 6.0.16 || |
|| 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/ || |
Line 12: | Line 15: |
Notes : * Tomcat is downstream of Glassfish. * Lost contributers from Sun. |
* 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 18: | Line 26: |
|| Builds from source : || yes || || Packaged : || yes (5.5.25 in Universe) || || Maintainability : || good || |
|| License : || Apache License v 2.0 || || Builds from source : || Yes || || Packaged : || Yes (5.5.25 in Universe) || || Maintainability : || Good || |
Line 22: | Line 31: |
|| Release cycle logic : || none, bugfixes only || || Version : || 5.5.26 || |
|| Current version : || 5.5.26 || || Link : || http://tomcat.apache.org/ || |
Line 42: | Line 51: |
|| Type : || Modular (Servlet container or J2EE application server, uses Tomcat or JeTTY) || || Builds from source : || not with OpenJDK6 || || Packaged : || no. Uses Maven. || || Maintainability : || fair || |
|| 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). Uses maven. || || Packaged : || No. Lots of missing deps (Geronimo's maven build process pulls 517 jar/war/car) || || Maintainability : || Good || |
Line 47: | Line 57: |
|| Release cycle logic : || "release often" (every 2-4 months) || || Version : || 2.1.1 || |
|| Current version : || 2.1.1 || || Link : || http://geronimo.apache.org/ || |
Line 51: | Line 61: |
* Robust | * "release often" (every 2-4 months) |
Line 53: | Line 63: |
* Increasing marketshare | |
Line 57: | Line 66: |
Running Geronimo binary : * Does not run with OpenJDK-6 (keystore issue). Requires Sun JDK >=1.5 |
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 63: | 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 * Geronimo recommends building with Sun's JDK 1.5. |
* 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 |
Line 68: | Line 87: |
== Glassfish v3 == | == GlassFish v3 == |
Line 70: | Line 89: |
|| Builds from source : || No ? || | || License : || CDDLv1 + GPLv2 with exceptions (see [https://glassfish.dev.java.net/downloads/v3/tp2-third-party-readme.txt here]) || || Builds from source : || No || |
Line 74: | Line 94: |
|| Release cycle logic : || || || Version : || Does not exist yet (August ?) || |
|| Current version : || V3TP2 (incomplete : see http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishV3TP2Content ) || || Link : || https://glassfish.dev.java.net/ || |
Line 77: | Line 97: |
Notes : * Includes Felix |
* Alpha code * Only the framework and web container in V3TP2 |
Line 82: | Line 102: |
|| Builds from source : || no (being worked on) ? || || Packaged : || in Multiverse (v2) || |
|| 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 || |
Line 86: | Line 107: |
|| Release cycle logic : || || || Version : || || |
|| Current version : || V2 UR2 || || Link : || https://glassfish.dev.java.net/ || |
Line 89: | Line 110: |
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 |
|
Line 90: | Line 114: |
== JBOSS == | 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 == JOnAS 4 == || Type : || J2EE application server (uses Tomcat or Jetty) || || License : || LGPL 2.1 || || Builds from source : || ? || || Packaged : || No || || Maintainability : || ? || || 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 == JOnAS 5 == |
Line 92: | Line 135: |
|| License : || LGPL 2.1 || | |
Line 93: | Line 137: |
|| 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 || || Current version : || 5.0.3RC (no stable release yet) || || Link : || http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/ || |
Line 99: | Line 143: |
Notes * Questionable maintenance relationship. |
* New architecture, OSGi based (like Glassfish v3) * Can't make it start * `NoClassDefFoundError: org/ow2/jonas/commands/admin/ClientAdmin` |
Line 102: | Line 147: |
== JeTTY 6 == | == 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/ || == Jetty 6.1 == |
Line 106: | Line 161: |
|| Packaged : || yes, in Universe || | || Packaged : || No || |
Line 109: | Line 164: |
|| Release cycle logic : || || || Version : || || |
|| Current version : || 6.1.10 || || Link : || http://www.mortbay.org/jetty-6/ || |
Line 112: | Line 167: |
== 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) || || 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 == JBOSS AS 5 == |
Line 114: | Line 183: |
|| License : || LGPL || || Builds from source : || ? || || Packaged : || no (only JBoss Common in Universe) || || Maintainability : || ?? || || Compatibility : || J2EE v1.5 || || Current version : || 5.0.0Beta4 || || Link : || http://www.jboss.org/jbossas/ || == JBOSS Web == || Type : || Web server, servlet container, PHP/CGI || || License : || LGPL || |
|
Line 116: | Line 196: |
|| 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 || || Current version : || JBoss Web 2.1.0 + JBoss Native 2.0.4 || || Link : || http://www.jboss.org/jbossweb/ || |
ContentsBRTableOfContents |
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 (but not too complicated) |
Maintainability : |
Good |
Compatibility : |
Servlet/JSP : 2.5/2.1 |
Current version : |
6.0.16 |
Link : |
- 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
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 : |
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 : |
Yes (with OpenJDK + patch from Geronimo). Uses maven. |
Packaged : |
No. Lots of missing deps (Geronimo's maven build process pulls 517 jar/war/car) |
Maintainability : |
Good |
Compatibility : |
J2EE v5 since Geronimo 2.0.1 |
Current version : |
2.1.1 |
Link : |
Notes :
- "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.
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
- Nice admin UI
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
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 |
Current version : |
V3TP2 (incomplete : see http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishV3TP2Content ) |
Link : |
- Alpha code
- Only the framework and web container in V3TP2
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 |
Compatibility : |
J2EE v5 |
Current version : |
V2 UR2 |
Link : |
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
JOnAS 4
Type : |
J2EE application server (uses Tomcat or Jetty) |
License : |
LGPL 2.1 |
Builds from source : |
? |
Packaged : |
No |
Maintainability : |
? |
Compatibility : |
J2EE v1.4 |
Current version : |
4.9.2 (released May 23, 2008) |
Link : |
- 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
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 |
Current version : |
5.0.3RC (no stable release yet) |
Link : |
- New architecture, OSGi based (like Glassfish v3)
- Can't make it start
NoClassDefFoundError: org/ow2/jonas/commands/admin/ClientAdmin
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 : |
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 |
Current version : |
6.1.10 |
Link : |
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) |
Current version : |
3.1.6 |
Link : |
- 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 |
Current version : |
5.0.0Beta4 |
Link : |
JBOSS Web
Type : |
Web server, servlet container, PHP/CGI |
License : |
LGPL |
Builds from source : |
? |
Packaged : |
no |
Maintainability : |
?? |
Compatibility : |
Servlet/JSP 2.5/2.1 |
Current version : |
JBoss Web 2.1.0 + JBoss Native 2.0.4 |
Link : |
J2EESupport (last edited 2009-03-18 07:41:03 by terbium)