2015-05-29 9 views
41

Ich möchte EJB Ohr in einem Server bereitstellen, aber ich bin wirklich verwirrt über die Auswahl eines Servers zwischen tomcat, TomEE und TomEE Plus.Was ist der Unterschied zwischen Tomcat und TomEE, TomEE und TomEE Plus?

  1. Was sind die Unterschiede zwischen Tomcat und TomEE?
  2. Was sind die neuen Funktionen in TomEE und TomEE Plus?
  3. In welchen Fällen macht es Sinn, sich für TomEE und TomEE Plus zu entscheiden?

so brauche ich einige Vorschläge, um eine informierte Entscheidung treffen zu können.

Antwort

54

Dies ist Funktionen Vergleichsmatrix zwischen Tomcat, TomEE und TomEE+:

enter image description here (Quelle: http://tomee.apache.org/comparison.html)

1.Tomcat vs TomEE
Tomcat ist Servlet-Container, Support-Servlet, JSP-Technologie. TomEE ist umfangreicher als Tomcat, unterstützt viele andere Java EE-Technologien (spezifiziert durch JSR-xxx).

2. Vergleichen TomEE vs TomEE +

TomEE enthält:
CDI - Apache OpenWebBeans
EJB - Apache OpenEJB
JPA - Apache OpenJPA
JSF - Apache MyFaces
JSP - Apache Tomcat
JSTL - Apache Tomcat
JTA - Apache Geronimo Transaktion
Servlet - Apache Tomcat
Javamail - Apache Geronimo Java Mail
Bean Validation - Apache BVAL

TomEE +
Die TomEE Plus-Distribution fügt die folgenden:
JAX-RS - Apache CXF
JAX-WS - Apache CXF
JMS - Apache ActiveMQ
Steckverbinder - Apache Geronimo Stecker

(Quelle: http://tomee.apache.org/apache-tomee.html)
Was in Tomcat ist neu? Cource finden Tomcat change log.
Was ist neu in TomEE plus? siehe TomEE change log.

3. wählen TomEE oder TomEE Plus?
Siehe Funktionen Matrix an dem oben Ihre Funktionen in Ihrer Anwendung auswählen, was Sie verwenden werden. Dann wählen Sie Servlet container/Web profile application server/Application server selbst.

+0

Können Sie mir helfen, eine Sache zu räumen, den Begriff der Unterstützung hier, ob es der Anwendungsserver die Bibliothek beispielsweise JPA mit OpenJPA liefert, wie es Implementierung ist oder mehr als zum Beispiel mit Tomcat, die nicht JPA unterstützt , so können wir verwenden Hibernate nicht die weitere Implementierung von JPA ist? –

+0

Sie JPA mit Apache Tomcat verwenden kann (ich bin sicher, 100%), die Sie hinzufügen müssen Abhängigkeit in Ihrer Anwendung-PPV implementieren. Zum Beispiel: https://stackoverflow.com/a/7230084/3728901 –

7

Apache Tomcat ist ein Java-Servlet-Container, der die folgenden Spezifikationen implementiert:

  1. Java Servlet-Spezifikation
  2. Java ServerPages (JSP)
  3. Expression Language (EL)
  4. WebSocket

Die von Ihnen gewählte Version von Tomcat bestimmt die Versionen der oben genannten Spezifikationen unterstützt.

Apache TomEE ist ein Java EE Web Profile-zertifizierter Stack, der auf einer Apache Tomcat-Basis basiert, die mit zusätzlichen verwandten Technologien integriert ist.Es fügt Implementierungen für die folgenden Spezifikationen (das Apache-Projekt in Klammern verwenden):

  1. CDI - Apache OpenWebBeans
  2. EJB - Apache OpenEJB
  3. JPA - Apache OpenJPA
  4. JSF - Apache MyFaces
  5. JSP - Apache Tomcat
  6. JSTL - Apache Tomcat
  7. JTA - Apache Geronimo Transaktion
  8. Servlet - Apache Tomcat
  9. Javamail - Apache Geronimo Java Mail
  10. Bean Validation - Apache BVAL

Apache TomEE + ergänzt:

  1. JAX-RS - Apache CXF
  2. JAX-WS - Apache CXF
  3. JMS - Apache ActiveMQ
  4. Verbindung Ctor - Apache Geronimo-Connector

Beachten Sie, dass all dies von einigen offensichtlichen Stellen auf diesen Apache Web-Sites zur Verfügung stand:

Wenn ich richtig verstehe, die ganze EAR-Sache wurde zugunsten gut-alter WAR-Dateien aufgegeben. Wenn Sie jedoch eine EAR-Datei bereitstellen müssen, werden Sie sehr wahrscheinlich Apache TomEE benötigen. Apache Tomcat weiß sicherlich nicht, was es mit einer EAR-Datei zu tun hat.