Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between Tomcat and TomEE, TomEE and TomEE Plus

I want to deploy EJB ear in a server but I am really confused about choosing a server among tomcat, TomEE and TomEE Plus.

  1. What are the differences between Tomcat and TomEE?
  2. What are the new features in TomEE and TomEE Plus?
  3. In which case(s) does it make sense to go for TomEE and TomEE Plus?

so I need some suggestions in order to be able to make an informed decision.

like image 204
Sasikumar Murugesan Avatar asked May 29 '15 17:05

Sasikumar Murugesan


People also ask

What is the difference between Tomcat and TomEE?

The primary difference between Tomcat and TomEE is that Tomcat supports servlets and JSPs, whereas TomEE boasts a more extensive set of technologies based on JSRs, such as EJBs and CDI.

What is Apache TomEE plus?

Apache TomEE, pronounced "Tommy", is an all-Apache Java EE 6 Web Profile certified stack where Apache Tomcat is top dog. Apache TomEE is assembled from a vanilla Apache Tomcat zip file. We start with Apache Tomcat, add our jars and zip up the rest. The result is Tomcat with added EE features - TomEE.

What is TomEE server?

Apache TomEE (pronounced "Tommy") is the Java Enterprise Edition of Apache Tomcat (Tomcat + Jakarta EE = TomEE) that combines several Java enterprise projects including Apache OpenEJB, Apache OpenWebBeans, Apache OpenJPA, Apache MyFaces and others.

Is TomEE a application server?

Apache TomEE, pronounced “Tommy”, is an all-Apache Jakarta EE 9.1 certified application server extends Apache Tomcat that is assembled from a vanilla Apache Tomcat zip file.


2 Answers

This is functions comparison matrix between Tomcat, TomEE and TomEE+:

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

1. Tomcat vs TomEE
Tomcat is servlet container that supports servlet and JSP technology. TomEE is more extensive than Tomcat supporting many other Java EE technologies (specificed by JSR-xxx).

2. Compare TomEE vs TomEE+

TomEE contains:
CDI - Apache OpenWebBeans
EJB - Apache OpenEJB
JPA - Apache OpenJPA
JSF - Apache MyFaces
JSP - Apache Tomcat
JSTL - Apache Tomcat
JTA - Apache Geronimo Transaction
Servlet - Apache Tomcat
Javamail - Apache Geronimo JavaMail
Bean Validation - Apache BVal

TomEE+
The TomEE Plus distribution adds the following:
JAX-RS - Apache CXF
JAX-WS - Apache CXF
JMS - Apache ActiveMQ
Connector - Apache Geronimo Connector

(Source: http://tomee.apache.org/apache-tomee.html)
What is new in Tomcat? Of cource, see Tomcat change log.
What is new in TomEE plus? see TomEE change log.

3. Choose TomEE or TomEE plus?
See functions matrix at the above, pick your functions in your application what you will use. Then choose Servlet container/ Web profile application server / Application server by yourself.

like image 156
Do Nhu Vy Avatar answered Oct 09 '22 17:10

Do Nhu Vy


Apache Tomcat is a Java servlet container which implements the following specifications:

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

The version of Tomcat you choose will dictate the versions of the above specifications that are supported.

Apache TomEE is a Java EE Web Profile-certified stack which is built on top of an Apache Tomcat base integrated with additional related technologies. It adds implementations for the following specifications (using the Apache project shown in parentheses):

  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 Transaction
  8. Servlet - Apache Tomcat
  9. Javamail - Apache Geronimo JavaMail
  10. Bean Validation - Apache BVal

Apache TomEE+ adds:

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

Note that all of this was available from some obvious places on these Apache web sites:

  • Apache TomEE
  • Apache Tomcat

If I understand correctly, the whole EAR thing has been abandoned in favor of good-old WAR files. But, if you have to deploy an EAR file, you are more than likely going to require Apache TomEE. Apache Tomcat certainly doesn't know what the heck to do with an EAR file.

like image 27
Christopher Schultz Avatar answered Oct 09 '22 18:10

Christopher Schultz