blob: 4f417b31cb3efbf19c010985d994fcc0ea9dad8b [file] [log] [blame]
Title: Comparison
Apache OpenEJB and Apache TomEE are born from the same project and community. They differ in two major ways, only one of them technical:
- TomEE incorporates two additional projects; Tomcat and MyFaces
- TomEE, as a name, more easily implies the breadth of technologies included
Effectively, TomEE is a superset of OpenEJB. They share the same code and TomEE grew out of OpenEJB.
Note: this table is for TomEE 1.x, TomEE 7 comments are under it.
<table>
<tr>
<th></th>
<th>Tomcat</th>
<th>TomEE</th>
<th>TomEE JAX-RS (~ Microprofile)</th>
<th>TomEE+</th>
<th>TomEE PluME</th>
<th>OpenEJB</th>
</tr>
<tr>
<td>Java Servlets</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td></td>
</tr>
<tr>
<td>Java ServerPages (JSP)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td></td>
</tr>
<tr>
<td>Java ServerFaces (JSF)</td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td></td>
</tr>
<tr>
<td>Java Transaction API (JTA)</td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>Java Persistence API (JPA)</td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>Java Contexts and Dependency Injection (CDI)</td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>Java Authentication and Authorization Service (JAAS)</td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>Java Authorization Contract for Containers (JACC)</td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>JavaMail API</td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>Bean Validation</td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>Enterprise JavaBeans</td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>Java API for RESTful Web Services (JAX-RS)</td>
<td></td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>Java API for XML Web Services (JAX-WS)</td>
<td></td>
<td></td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>Java EE Connector Architecture</td>
<td></td>
<td></td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>Java Messaging Service (JMS)</td>
<td></td>
<td></td>
<td></td>
<td>(/)</td>
<td>(/)</td>
<td>(/)</td>
</tr>
<tr>
<td>EclipseLink</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>(/)</td>
<td></td>
</tr>
<tr>
<td>Mojarra</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>(/)</td>
<td></td>
</tr>
</table>
TomEE 7 targets JavaEE 7 and implements these specifications (in parenthesis the distibution(s) containing it if not part of the basic packages):
* WebSocket JSR 356
* JSON-P JSR 353
* Servlet 3.1 JSR 340
* JSF 2.2 JSR 344
* EL 3.0 JSR 341
* JSP 2.3 JSR 245
* JSTL 1.2 JSR 52
* JBatch (plus) JSR 352
* Concurrency utilities for EE JSR 236
* CDI 1.2, DI, Interceptors 1.2, Common Annotations JSR 346 + JSR 330 + JSR 318 + JSR 250
* Bean Validation 1.1 JSR 349
* EJB 3.2 JSR 345
* JavaEE Connector JSR 322
* JPA 2.1 JSR 338 (WARNING: openjpa based distributions provide a JPA 2.0 runtime)
* JMS 2.0 JSR 343 (layer based on ActiveMQ 5 / JMS 1.1 for default distributions)
* JTA 1.2 JSR 907
* Javamail 1.4 (NOTE: EE 7 requires 1.5)
* JAX-RS 2.0 JSR 339
* JAX-WS 2.2 JSR 224
* JAXB 2.2 JSR 222
* and more inherited from TomEE 1/JavaEE 6