java-ee Getting started with java-ee What is Java EE?


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:

  • J2EE 1.2 (December12, 1999)
  • J2EE 1.3 (September 24, 2001)
  • J2EE 1.4 (November 11, 2003)
  • Java EE 5 (May 11, 2006)
  • Java EE 6 (December 10, 2009)
  • Java EE 7 (April 5, 2013)

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 TechnologyJSR
Java Platform, Enterprise Edition 7 (Java EE 7)JSR 342
Java API for WebSocketJSR 356
Java API for JSON ProcessingJSR 353
Java Servlet 3.1JSR 340
JavaServer Faces 2.2JSR 344
Expression Language 3.0JSR 341
JavaServer Pages 2.3JSR 245
Standard Tag Library for JavaServer Pages (JSTL) 1.2JSR 52
Batch Applications for the Java PlatformJSR 352
Concurrency Utilities for Java EE 1.0JSR 236
Contexts and Dependency Injection for Java 1.1JSR 346
Dependency Injection for Java 1.0JSR 330
Bean Validation 1.1JSR 349
Enterprise JavaBeans 3.2JSR 345
Interceptors 1.2 (Maintenance Release)JSR 318
Java EE Connector Architecture 1.7JSR 322
Java Persistence 2.1JSR 338
Common Annotations for the Java Platform 1.2JSR 250
Java Message Service API 2.0JSR 343
Java Transaction API (JTA) 1.2JSR 907
JavaMail 1.5JSR 919
Java API for RESTful Web Services (JAX-RS) 2.0JSR 339
Implementing Enterprise Web Services 1.3JSR 109
Java API for XML-Based Web Services (JAX-WS) 2.2JSR 224
Web Services Metadata for the Java PlatformJSR 181
Java API for XML-Based RPC (JAX-RPC) 1.1 (Optional)JSR 101
Java APIs for XML Messaging 1.3JSR 67
Java API for XML Registries (JAXR) 1.0JSR 93
Java Authentication Service Provider Interface for Containers 1.1JSR 196
Java Authorization Contract for Containers 1.5JSR 115
Java EE Application Deployment 1.2 (Optional)JSR 88
J2EE Management 1.1JSR 77
Debugging Support for Other Languages 1.0JSR 45
Java Architecture for XML Binding (JAXB) 2.2JSR 222
Java API for XML Processing (JAXP) 1.3JSR 206
Java Database Connectivity 4.0JSR 221
Java Management Extensions (JMX) 2.0JSR 003
JavaBeans Activation Framework (JAF) 1.1JSR 925
Streaming API for XML (StAX) 1.0JSR 173