What is the difference between Tomcat and TomEE, TomEE and TomEE Plus
Apache Tomcat is a Java servlet container which implements the following specifications:
- Java Servlet Specification
- Java ServerPages (JSP)
- Expression Language (EL)
- 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):
- 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
Apache TomEE+ adds:
- JAX-RS - Apache CXF
- JAX-WS - Apache CXF
- JMS - Apache ActiveMQ
- 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.
This is functions comparison matrix between Tomcat, TomEE and TomEE+:
(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.