The Java Platform, Enterprise Edition or Java EE has undergone several changes
since 1.0 as well as numerous additions of new specifications.
JPE Announcement of the JPE project at Sun.
J2EE 1.2 J2EE 1.3
J2EE 1.3 abandoned support for the heavy-weight distributed object
model(RMI-IIOP/CORBA) entirely, in favor of XML-based solution. Added JavaServer
Pages Standard Tag Library, Java Authentication and Authorization Service
and J2EE Connector Architecture. J2EE 1.4
In response to emerging web services, J2EE 1.4 added XML-based web services
support. This version also added component-based JavaServer Faces
technology intended to replace JSP. Java EE 5
In response to the complaints and heavyweight troublesome impression about
J2EE when developers reluctantly use and light-weight SpringHibernate framework
is increasingly popular, J2EE was rebranded as Java EE 5 which comes in
line with Java SE 1.5, trying to make EJB lighter weight by replacing entity
bean with independent JPA. It also added Java API for XML-based Web Services and
SOAP with Attachments API for Java, with the former text-based and asynchronous,
the latter either binary-based or text-based but synchronous which is
intended to be a simpler replacement for RMI-IIOP/CORBA.
Java EE 6 Starting from Java EE 6, Java EE is
trying to incorporate and standardize concepts/features from and merge with
Spring framework. The SOAP with Attachments API for Java is now part of
Java SE 6, and is thus available to Java EE 6 applications without needing to be
included in the EE specification. The Java API for RESTful Web Services is now
included in Java EE. Java EE 6 also standardized DI, AOP and others from
Spring into Contexts and Dependency Injection for Java, Dependency Injection
for Java, Bean Validation, Managed Beans, and Interceptors.
Java EE 6 introduced the concept of profile, which represents a
configuration of the platform suited to a particular class of applications. The
Web Profile offers a complete stack, with technologies addressing
presentation and state management, core web container functionality, business
logic, transactions, persistence and more.
Java EE 6 also started pruning process which would prune and deprecate old and
unused APIs. Java EE 6 was first going to be
developed under JSR 313 but was canceled. Java EE 6 was developed under
JSR 316 and released on December 10, 2009.
The development was plagued with controversy, although passed by 14 yes
votes, 1 no vote, and 1 abstention, members aired concerns relating to the
licensing terms applied by Sun Microsystems.
IBM's "yes" vote was caveated with: IBM's vote is based on the technical
merits of this JSR and is not a vote on the licensing terms. IBM supports
licensing models that create an open and level playing field by allowing third
parties to create independent implementations of Java Specifications
and that do not allow individuals or companies to exercise unnecessary
control for proprietary advantage. We support open source as a licensing model
for contributions in the JCP, and would hope others will support this direction.
This comment is not necessarily directed at the current business or license terms
for this JSR, however, it is a statement of IBM's preferred licensing model.
Intel's was caveated with: The Spec Lead has told us there are no
"field of use restrictions" on implementations for this particular JSR.
The Apache open letter about Java SE claimed that a confidential license for
a required JCP test suite restricts how Independent Implementations of that JCP
spec can be used. Licenses to test for JCP compatibility must not be used to
limit or restrict competing, compatible implementations; licenses containing
such limitations do not meet the requirements of the JSPA, the agreement
under which the JCP operates. For every JCP ballot, we will ask the Spec Lead
whether such restrictions exist in their license.
Red Hat commented: The spec lead of the EE6 specification
has confirmed that the EE6 TCK would contain no "field of use restrictions",
as originally raised by Apache with regard to another JSR. That is a good
thing. However, in the absence of an explicit JSPA rule that would forbid
such field-of-use restrictions, we will remain worried that a similar issue
might resurface anytime, for any JSR. Consequently, in the future, for any
submitted JSR, we will specifically expect the spec lead to provide clear
information on that aspect and take the answer in account when casting our vote.
Apache voted NO with the following comment:
The Apache Software Foundation's vote is based on the point of view that this
spec lead - Sun - is in violation of the JSPA and therefore shouldn't be allowed
to start another JSR until the above matter is resolved. This vote is not a
comment on the technical merits of the JSR. If not for the issue of the spec
lead, the ASF would have otherwise voted "yes".
Java EE 7 In keeping up with the HTML5 trend, Java
EE 7 added Java API for WebSocket, Java API for JSON Processing, and Servlet
async and non-blocking NIO which was a primary reason Play Framework was
started. In response to emerging big data trend, Java EE 7 added a complete
solution for Batch Applications for the Java Platform. Java EE 7 also added
features trying to make developer's life easier, improving developer's
productivity. Java EE 8
The main focus of Java EE 8 is on support for HTML5 and the emerging HTTP
2.0 standard; enhanced simplification and managed bean integration; and
improved infrastructure for applications running in the cloud, continuing the
direction of improved simplification, while extending the range of the Java EE
platform to encompass emerging technologies in the web space and in
cloud technology. support for the emerging HTTP 2.0
standard support for server-sent events
Java API for JSON Binding action-based Model View Controller to
complement the component-based JSF JCache
more cloud support(configuration, multiple tenants, security, REST-based
APIs for monitoring and management) In accordance with the pruning process
defined by the Java EE 6 specification, it is considered designating the
following as Proposed Optional in this release:
the EJB 2.x client view APIs and support for CORBA IIOP interoperability.
References External links
Java EE 6 SDK Downloads An Introduction to the Java EE 5
Platform JSR 316
Java version history