blob: d2e76de21a7670fb9c3ed43a042948fb6bc8c74d [file] [log] [blame]
= Comparison
:index-group: General Information
:jbake-date: 2018-12-05
:jbake-type: page
:jbake-status: published
:icons: font
:y: icon:check[role="green"]
:n: icon:times[role="red"]
:c: icon:file-text-o[role="blue"]
Apache TomEE has four distributions, each supporting a slightly different set of technologies and aimed to give you a choice in what you want included out-of-the-box. When in doubt, choose Apache TomEE Plume.
== Synthesis of differences between flavors
[cols="5,5*^1",options="header"]
|===
||Tomcat|TomEE WebProfile|TomEE MicroProfile|TomEE Plus|TomEE Plume
|Jakarta Annotations, Servlet, JSP, JSTL, EL, WebSocket, +
Jakarta Authentication, Security, ...|{y}|{y}|{y}|{y}|{y}
|Jakarta CDI, DI, EJB, JPA, JTA, JSF, JSON, JAXB, ... +
Jakarta RESTful Web Services (JAX-RS)||{y}|{y}|{y}|{y}
|MicroProfile Config, Metrics, OpenAPI, OpenTracing, ... +
MicroProfile Type-safe Rest Client|||{y}|{y}|{y}
|Jakarta Authorization, Batch, Connectors, Messaging (JMS), ... +
Jakarta SOAP Web Services (JAX-WS)||||{y}|{y}
|Jakarta Faces (JSF) implementation||MyFaces|MyFaces|MyFaces|*Mojarra*
|Jakarta Persistence (JPA) implementation(s)||OpenJPA|OpenJPA|OpenJPA|OpenJPA, *EclipseLink*
|===
== Detailed list of Jakarta EE and MicroProfile Specifications
[cols="5,5*^1",options="header"]
|===
||Tomcat|TomEE WebProfile|TomEE MicroProfile|TomEE Plus|TomEE Plume
|Jakarta Annotations|{y}|{y}|{y}|{y}|{y}
|Jakarta Authentication (JASPIC)|{y}|{y}|{y}|{y}|{y}
|Jakarta Debugging Support for Other Languages|{y}|{y}|{y}|{y}|{y}
|Jakarta Security (Java EE Enterprise Security)|{y}|{y}|{y}|{y}|{y}
|Jakarta Server Pages (JSP)|{y}|{y}|{y}|{y}|{y}
|Jakarta Servlet|{y}|{y}|{y}|{y}|{y}
|Jakarta Standard Tag Library (JSTL)|{y}|{y}|{y}|{y}|{y}
|Jakarta Expression Language (EL)|{y}|{y}|{y}|{y}|{y}
|Jakarta WebSocket|{y}|{y}|{y}|{y}|{y}
|Jakarta Activation||{y}|{y}|{y}|{y}
|Jakarta Bean Validation||{y}|{y}|{y}|{y}
|Jakarta Contexts and Dependency Injection (CDI)||{y}|{y}|{y}|{y}
|Jakarta Dependency Injection (@Inject)||{y}|{y}|{y}|{y}
|Jakarta Enterprise Beans (EJB)||{y}|{y}|{y}|{y}
|Jakarta Faces (JSF)||{y}|{y}|{y}|{y}
|Jakarta Interceptors||{y}|{y}|{y}|{y}
|Jakarta JSON Binding (JSON-B)||{y}|{y}|{y}|{y}
|Jakarta JSON Processing (JSON-P)||{y}|{y}|{y}|{y}
|Jakarta Mail (JavaMail)||{y}|{y}|{y}|{y}
|Jakarta Managed Beans||{y}|{y}|{y}|{y}
|Jakarta Persistence (JPA)||{y}|{y}|{y}|{y}
|Jakarta RESTful Web Services (JAX-RS)||{y}|{y}|{y}|{y}
|Jakarta Transactions (JTA)||{y}|{y}|{y}|{y}
|Jakarta XML Binding (JAXB)||{y}|{y}|{y}|{y}
|MicroProfile Config|||{y}|{y}|{y}
|MicroProfile Metrics|||{y}|{y}|{y}
|MicroProfile OpenAPI|||{y}|{y}|{y}
|MicroProfile OpenTracing|||{y}|{y}|{y}
|MicroProfile Type-safe Rest Client|||{y}|{y}|{y}
|Jakarta Authorization (JACC)||||{y}|{y}
|Jakarta Batch (JBatch)||||{y}|{y}
|Jakarta Concurrency||||{y}|{y}
|Jakarta Connectors||||{y}|{y}
|Jakarta Enterprise Web Services||||{y}|{y}
|Jakarta Messaging (JMS)||||{y}|{y}
|Jakarta SOAP with Attachments||||{y}|{y}
|Jakarta Web Services Metadata||||{y}|{y}
|Jakarta XML Web Services (JAX-WS)||||{y}|{y}
|Jakarta Faces (JSF) implementation||MyFaces|MyFaces|MyFaces|*Mojarra*
|Jakarta Persistence (JPA) implementation(s)||OpenJPA|OpenJPA|OpenJPA|OpenJPA, *EclipseLink*
|===
== Implementations of Jakarta EE and MicroProfile functionalities in TomEE
[cols="<4,<4",options="header"]
|===
|Specifications|Implementations included by TomEE
|Jakarta Annotations, Servlet, Server Pages (JSP), +
Jakarta Expression Language (EL), WebSocket, +
Jakarta Authentication (JASPIC), Security, ...|Apache Tomcat
|Jakarta Standard Tag Library (JSTL)|Apache Standard Taglib Implementation
|Jakarta Faces (JSF)|Apache MyFaces (in all TomEE flavors except Plume), +
*Eclipse Mojarra (in TomEE Plume only)*
|Jakarta Bean Validation|Apache BVal
|Jakarta Contexts and Dependency Injection (CDI)|Apache OpenWebBeans
|Jakarta Enterprise Beans (EJB)|Apache OpenEJB
|Jakarta Persistence (JPA)|Apache OpenJPA (in all TomEE flavors), +
*EclipseLink (in TomEE Plume only)*
|Jakarta Transactions (JTA)|Apache Geronimo Transaction Manager
|Jakarta Mail (JavaMail)|Apache Geronimo JavaMail
|MicroProfile|Apache Geronimo MicroProfile
|Jakarta JSON Binding (JSON-B), JSON Processing (JSON-P)|Jackson, Apache Johnzon
|Jakarta XML Binding (JAXB)|Eclipse JAXB Runtime
|Web Services|Apache CXF Runtime
|Jakarta Batch (JBatch)|Apache BatchEE
|Jakarta Messaging (JMS)|Apache ActiveMQ
|===