Java EE stands for Java Enterprise Edition. Java EE extends the Java SE (which stands for Java Standard Edition). Java EE is a set of technologies and related specifications that are oriented towards the development of large-scale enterprise applications. Java EE is developed in a community driven process. So far the following versions of Java EE have been released:
And Java EE 8 is expected to be released on the first half of 2017.
A key concept of the Java EE is that every Java EE version is comprised by a set of specific technologies. These technologies address specific JSRs (Java Specification Requests). In order for a programmer to use these technologies he needs to download an implementation of the Java EE technology specifications. The Java Community provides a reference implementation for each technology but other Java EE compliant technologies are developed and can also be used. The community provides a set of tests, namely the Java Compatibility Kit (JCK) that can be used by the developers of a JSR implementation to check if it is compliant or not with the JSR. The following table gives an overview of the technologies that comprise Java EE 7 and the related JSR that define the specs.
Java EE 7 Technology | JSR |
---|---|
Java Platform, Enterprise Edition 7 (Java EE 7) | JSR 342 |
Java API for WebSocket | JSR 356 |
Java API for JSON Processing | JSR 353 |
Java Servlet 3.1 | JSR 340 |
JavaServer Faces 2.2 | JSR 344 |
Expression Language 3.0 | JSR 341 |
JavaServer Pages 2.3 | JSR 245 |
Standard Tag Library for JavaServer Pages (JSTL) 1.2 | JSR 52 |
Batch Applications for the Java Platform | JSR 352 |
Concurrency Utilities for Java EE 1.0 | JSR 236 |
Contexts and Dependency Injection for Java 1.1 | JSR 346 |
Dependency Injection for Java 1.0 | JSR 330 |
Bean Validation 1.1 | JSR 349 |
Enterprise JavaBeans 3.2 | JSR 345 |
Interceptors 1.2 (Maintenance Release) | JSR 318 |
Java EE Connector Architecture 1.7 | JSR 322 |
Java Persistence 2.1 | JSR 338 |
Common Annotations for the Java Platform 1.2 | JSR 250 |
Java Message Service API 2.0 | JSR 343 |
Java Transaction API (JTA) 1.2 | JSR 907 |
JavaMail 1.5 | JSR 919 |
Java API for RESTful Web Services (JAX-RS) 2.0 | JSR 339 |
Implementing Enterprise Web Services 1.3 | JSR 109 |
Java API for XML-Based Web Services (JAX-WS) 2.2 | JSR 224 |
Web Services Metadata for the Java Platform | JSR 181 |
Java API for XML-Based RPC (JAX-RPC) 1.1 (Optional) | JSR 101 |
Java APIs for XML Messaging 1.3 | JSR 67 |
Java API for XML Registries (JAXR) 1.0 | JSR 93 |
Java Authentication Service Provider Interface for Containers 1.1 | JSR 196 |
Java Authorization Contract for Containers 1.5 | JSR 115 |
Java EE Application Deployment 1.2 (Optional) | JSR 88 |
J2EE Management 1.1 | JSR 77 |
Debugging Support for Other Languages 1.0 | JSR 45 |
Java Architecture for XML Binding (JAXB) 2.2 | JSR 222 |
Java API for XML Processing (JAXP) 1.3 | JSR 206 |
Java Database Connectivity 4.0 | JSR 221 |
Java Management Extensions (JMX) 2.0 | JSR 003 |
JavaBeans Activation Framework (JAF) 1.1 | JSR 925 |
Streaming API for XML (StAX) 1.0 | JSR 173 |