05 April 2014
The evolution of the Java Enterprise Edition (JavaEE) platform is closely related to the evolution of the Java language and the Java Standard Edition(JavaSE) API itself.
Starting from the first Java version the basic foundation API's are layered together to offer the user a new Object Oriented, portable and flexible language.
Java has progressively evolved in terms of ease of use, and in terms of performance and flexibility, major versions like 1.5 with the inclusion of features like: Generics, Annotations, and other versions with the addition of scripting language support, and now recently in the JavaSE 8 version the inclusion of: Closures, Lambda expressions, Concurrency library for parallel computing on multi-core processors, made Java a modern and widely used programming language.
Java EE has progressed accordingly with the Java SE version, since the initial EJB and Servlet implementations which tried to bring to the user a powerful and flexible web development platform. The major version being J2EE 1.4 which brought together the necessary Web Services API and other tools.
After version 1.4 came the major version that would improve development productivity: Java EE 5, the “J2” was abandoned in the default platform name and the standard became “Java EE”. Java EE 5 presented many new features which would radically transform the way the Developer would use the platform. With the new EJB 3.0 API extensive and verbose XMLs would change place with the use of Annotations, also the new JPA API would make the Object relational mapping much easier.
JavaEE 6 introduced useful features like the support for REST based web-services with JAX-RS api, EJB Lite, dependency injection with CDI and the possiblity of using Profiles: portions of the Java EE API to be loaded isolated and on demand making the deployment of web based applications much lighter and flexible.
JavaEE 7 presented updated versions of APIs of: JSF, EJB, JMS and others, and introduced 4 new APIs: Concurrency Utilities (JSR 236), Batch Applications (JSR 352), JSON-P – Java API for JSON (JSR 353), and Java API for Websocket (JSR 356), which enhanced the support for HTML5.