Java EE version history
Encyclopedia
The Java Platform, Enterprise Edition
Java Platform, Enterprise Edition
Java Platform, Enterprise Edition or Java EE is widely used platform for server programming in the Java programming language. The Java platform differs from the Java Standard Edition Platform in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier...

 or Java EE (formerly known as Java 2 Platform, Enterprise Edition or J2EE) has undergone several changes since 1.0 as well as numerous additions of new specifications.

J2EE 1.2 (December 12, 1999)

The specification download page.

List of specifications:
  • Enterprise JavaBean
    Enterprise JavaBean
    Enterprise JavaBeans is a managed, server-side component architecture for modular construction of enterprise applications.The EJB specification is one of several Java APIs in the Java EE specification. EJB is a server-side model that encapsulates the business logic of an application...

    s Specification (EJB), Version 1.1
  • JavaServer Pages
    JavaServer Pages
    JavaServer Pages is a Java technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types...

     Specification (JSP), Version 1.1
  • Java Servlet
    Java Servlet
    A servlet is a Java programming language class used to extend the capabilities of servers that host applications accessed via a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers...

     Specification, Version 2.2
  • JDBC API, Version 2.0
  • Java Naming and Directory Interface
    Java Naming and Directory Interface
    The Java Naming and Directory Interface is a Java API for a directory service that allows Java software clients to discover and look up data and objects via a name. Like all Java APIs that interface with host systems, JNDI is independent of the underlying implementation...

     Specification (JNDI), Version 1.2
  • Java Message Service
    Java Message Service
    The Java Message Service API is a Java Message Oriented Middleware API for sending messages between two or more clients. JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914...

     (JMS), Version 1.0.2
  • Java Transaction API
    Java Transaction API
    The Java Transaction API is one of the Java Enterprise Edition APIs allowing distributed transactions to be done across multiple XA resources in a Java environment. JTA is a specification developed under the Java Community Process as JSR 907...

     (JTA), Version 1.0.1
  • Java Transaction Service
    Java transaction service
    The Java Transaction Service is a specification for building a transaction manager that maps onto the Object Management Group Object Transaction Service used in the Common Object Request Broker Architecture architecture...

     (JTS), Version 0.95
  • JavaMail
    Javamail
    JavaMail is a Java API used to receive and send email via SMTP, POP3 and IMAP. JavaMail is built into the Java EE platform, but also provides an optional package for use in Java SE.On March 2, 2009, JavaMail 1.4.2 was released....

     API Specification Version 1.1
  • JavaBeans Activation Framework
    JavaBeans Activation Framework
    JavaBeans Activation Framework, or JAF, enables developers to:It also enables you to dynamically register types of arbitrary data and actions associated with particular kinds of data. Additionally, it enables a program to dynamically provide or retrieve JavaBeans that implement actions associated...

     Specification (JAF), Version 1.0

J2EE 1.3 (September 24, 2001)

Developed under JSR 58

List of specifications:
  • Enterprise JavaBean
    Enterprise JavaBean
    Enterprise JavaBeans is a managed, server-side component architecture for modular construction of enterprise applications.The EJB specification is one of several Java APIs in the Java EE specification. EJB is a server-side model that encapsulates the business logic of an application...

    s Specification (EJB), Version 2.0
  • JavaServer Pages
    JavaServer Pages
    JavaServer Pages is a Java technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types...

     Specification (JSP), Version 1.2
  • Java Servlet
    Java Servlet
    A servlet is a Java programming language class used to extend the capabilities of servers that host applications accessed via a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers...

     Specification, Version 2.3
  • JDBC API, Version 2.1
  • Java Naming and Directory Interface
    Java Naming and Directory Interface
    The Java Naming and Directory Interface is a Java API for a directory service that allows Java software clients to discover and look up data and objects via a name. Like all Java APIs that interface with host systems, JNDI is independent of the underlying implementation...

     Specification (JNDI), Version 1.2
  • Java Message Service
    Java Message Service
    The Java Message Service API is a Java Message Oriented Middleware API for sending messages between two or more clients. JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914...

     (JMS), Version 1.0.2
  • Java Transaction API
    Java Transaction API
    The Java Transaction API is one of the Java Enterprise Edition APIs allowing distributed transactions to be done across multiple XA resources in a Java environment. JTA is a specification developed under the Java Community Process as JSR 907...

     (JTA), Version 1.0.1
  • Java Transaction Service
    Java transaction service
    The Java Transaction Service is a specification for building a transaction manager that maps onto the Object Management Group Object Transaction Service used in the Common Object Request Broker Architecture architecture...

     (JTS), Version 1.0
  • JavaMail
    Javamail
    JavaMail is a Java API used to receive and send email via SMTP, POP3 and IMAP. JavaMail is built into the Java EE platform, but also provides an optional package for use in Java SE.On March 2, 2009, JavaMail 1.4.2 was released....

     API Specification Version 1.1
  • JavaBeans Activation Framework
    JavaBeans Activation Framework
    JavaBeans Activation Framework, or JAF, enables developers to:It also enables you to dynamically register types of arbitrary data and actions associated with particular kinds of data. Additionally, it enables a program to dynamically provide or retrieve JavaBeans that implement actions associated...

     Specification (JAF), Version 1.0
  • J2EE Connector Architecture, Version 1.0
  • Java API for XML Processing
    Java API for XML Processing
    The Java API for XML Processing, or JAXP , is one of the Java XML programming APIs. It provides the capability of validating and parsing XML documents...

     (JAXP), Version 1.0
  • Java Authentication and Authorization Service
    Java Authentication and Authorization Service
    Java Authentication and Authorization Service, or JAAS, pronounced "Jazz", is a Java security framework for user-centric security to augment the Java code-based security...

     (JAAS), Version 1.0

J2EE 1.4 (November 11, 2003)

Developed under JSR 151

List of specifications:
  • Enterprise JavaBean
    Enterprise JavaBean
    Enterprise JavaBeans is a managed, server-side component architecture for modular construction of enterprise applications.The EJB specification is one of several Java APIs in the Java EE specification. EJB is a server-side model that encapsulates the business logic of an application...

    s Specification (EJB), Version 2.1
  • JavaServer Pages
    JavaServer Pages
    JavaServer Pages is a Java technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types...

     Specification (JSP), Version 2.0 (JSR 152)
    • JavaServer Pages Standard Tag Library
      JavaServer Pages Standard Tag Library
      The JavaServer Pages Standard Tag Library , is a component of the Java EE Web application development platform. It extends the JSP specification by adding a tag library of JSP tags for common tasks, such as XML data processing, conditional execution, loops and internationalization...

       (JSTL), Version 1.1 (JSR 52)
  • Java Servlet
    Java Servlet
    A servlet is a Java programming language class used to extend the capabilities of servers that host applications accessed via a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers...

     Specification, Version 2.4
  • JDBC API, Version 3.0
  • Java Naming and Directory Interface
    Java Naming and Directory Interface
    The Java Naming and Directory Interface is a Java API for a directory service that allows Java software clients to discover and look up data and objects via a name. Like all Java APIs that interface with host systems, JNDI is independent of the underlying implementation...

     Specification (JNDI), Version 1.2
  • Java Message Service
    Java Message Service
    The Java Message Service API is a Java Message Oriented Middleware API for sending messages between two or more clients. JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914...

     (JMS), Version 1.1
  • Java Transaction API
    Java Transaction API
    The Java Transaction API is one of the Java Enterprise Edition APIs allowing distributed transactions to be done across multiple XA resources in a Java environment. JTA is a specification developed under the Java Community Process as JSR 907...

     (JTA), Version 1.0.1B
  • Java Transaction Service
    Java transaction service
    The Java Transaction Service is a specification for building a transaction manager that maps onto the Object Management Group Object Transaction Service used in the Common Object Request Broker Architecture architecture...

     (JTS), Version 1.0
  • JavaMail
    Javamail
    JavaMail is a Java API used to receive and send email via SMTP, POP3 and IMAP. JavaMail is built into the Java EE platform, but also provides an optional package for use in Java SE.On March 2, 2009, JavaMail 1.4.2 was released....

     API Specification, Version 1.2
  • JavaBeans Activation Framework
    JavaBeans Activation Framework
    JavaBeans Activation Framework, or JAF, enables developers to:It also enables you to dynamically register types of arbitrary data and actions associated with particular kinds of data. Additionally, it enables a program to dynamically provide or retrieve JavaBeans that implement actions associated...

     Specification (JAF), Version 1.0
  • J2EE Connector Architecture, Version 1.5
  • Java API for XML Processing
    Java API for XML Processing
    The Java API for XML Processing, or JAXP , is one of the Java XML programming APIs. It provides the capability of validating and parsing XML documents...

     (JAXP), Version 1.2
  • Java Authentication and Authorization Service
    Java Authentication and Authorization Service
    Java Authentication and Authorization Service, or JAAS, pronounced "Jazz", is a Java security framework for user-centric security to augment the Java code-based security...

     (JAAS), Version 1.0
  • Java Authorization Service Provider Contract for Containers (JACC), Version 1.0
  • Web Services for J2EE, Version 1.0
  • Java API for XML-based RPC (JAX-RPC), Version 1.0
  • Java API for XML Registries
    Java API for XML Registries
    Java API for XML Registries defines a standard API for Java platform applications to access and programmatically interact with various kinds of metadata registries. The JAXR API was developed under the Java Community Process as JSR 93....

     (JAXR), Version 1.0
  • Java Management Extensions
    Java Management Extensions
    Java Management Extensions is a Java technology that supplies tools for managing and monitoring applications, system objects, devices and service oriented networks. Those resources are represented by objects called MBeans...

     (JMX), Version 1.1
  • Java 2 Platform, Enterprise Edition Management Specification, Version 1.0
  • Java 2 Platform, Enterprise Edition Deployment Specification, Version 1.0

Java EE 5 (May 11, 2006)

Developed under JSR 244

List of specifications:
  • Enterprise JavaBean
    Enterprise JavaBean
    Enterprise JavaBeans is a managed, server-side component architecture for modular construction of enterprise applications.The EJB specification is one of several Java APIs in the Java EE specification. EJB is a server-side model that encapsulates the business logic of an application...

    s Specification (EJB), Version 3.0
  • Java Persistence API
    Java Persistence API
    The Java Persistence API, sometimes referred to as JPA, is a Java programming language framework managing relational data in applications using Java Platform, Standard Edition and Java Platform, Enterprise Edition....

     (JPA), Version 1.0

  • JavaServer Pages
    JavaServer Pages
    JavaServer Pages is a Java technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types...

     Specification (JSP), Version 2.1
  • Java Servlet
    Java Servlet
    A servlet is a Java programming language class used to extend the capabilities of servers that host applications accessed via a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers...

     Specification, Version 2.5
  • JavaServer Faces
    JavaServer Faces
    JavaServer Faces is a Java-based Web application framework intended to simplify development integration of web-based user interfaces....

     (JSF), Version 1.2
  • JavaServer Pages Standard Tag Library
    JavaServer Pages Standard Tag Library
    The JavaServer Pages Standard Tag Library , is a component of the Java EE Web application development platform. It extends the JSP specification by adding a tag library of JSP tags for common tasks, such as XML data processing, conditional execution, loops and internationalization...

     (JSTL), Version 1.2

  • JDBC API, Version 3.0
  • Java Naming and Directory Interface
    Java Naming and Directory Interface
    The Java Naming and Directory Interface is a Java API for a directory service that allows Java software clients to discover and look up data and objects via a name. Like all Java APIs that interface with host systems, JNDI is independent of the underlying implementation...

     Specification (JNDI), Version 1.2
  • Java Message Service
    Java Message Service
    The Java Message Service API is a Java Message Oriented Middleware API for sending messages between two or more clients. JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914...

     (JMS), Version 1.1
  • Java Transaction API
    Java Transaction API
    The Java Transaction API is one of the Java Enterprise Edition APIs allowing distributed transactions to be done across multiple XA resources in a Java environment. JTA is a specification developed under the Java Community Process as JSR 907...

     (JTA), Version 1.1
  • Java Transaction Service
    Java transaction service
    The Java Transaction Service is a specification for building a transaction manager that maps onto the Object Management Group Object Transaction Service used in the Common Object Request Broker Architecture architecture...

     (JTS), Version 1.0
  • JavaMail
    Javamail
    JavaMail is a Java API used to receive and send email via SMTP, POP3 and IMAP. JavaMail is built into the Java EE platform, but also provides an optional package for use in Java SE.On March 2, 2009, JavaMail 1.4.2 was released....

     API Specification, Version 1.4
  • JavaBeans Activation Framework
    JavaBeans Activation Framework
    JavaBeans Activation Framework, or JAF, enables developers to:It also enables you to dynamically register types of arbitrary data and actions associated with particular kinds of data. Additionally, it enables a program to dynamically provide or retrieve JavaBeans that implement actions associated...

     Specification (JAF), Version 1.1
  • J2EE Connector Architecture, Version 1.5
  • Java API for XML Processing
    Java API for XML Processing
    The Java API for XML Processing, or JAXP , is one of the Java XML programming APIs. It provides the capability of validating and parsing XML documents...

     (JAXP), Version 1.3
  • Java Authentication and Authorization Service
    Java Authentication and Authorization Service
    Java Authentication and Authorization Service, or JAAS, pronounced "Jazz", is a Java security framework for user-centric security to augment the Java code-based security...

     (JAAS), Version 1.0
  • Java Authorization Service Provider Contract for Containers(JACC), Version 1.1

  • Web Services for Java EE, Version 1.2
  • Java API for XML-based RPC (JAX-RPC), Version 1.1
  • Java API for XML Registries
    Java API for XML Registries
    Java API for XML Registries defines a standard API for Java platform applications to access and programmatically interact with various kinds of metadata registries. The JAXR API was developed under the Java Community Process as JSR 93....

     (JAXR), Version 1.0
  • Java Management Extensions
    Java Management Extensions
    Java Management Extensions is a Java technology that supplies tools for managing and monitoring applications, system objects, devices and service oriented networks. Those resources are represented by objects called MBeans...

    , Version 1.2
  • Java Platform, Enterprise Edition Management Specification, Version 1.1
  • Java Platform, Enterprise Edition Deployment Specification, Version 1.1
  • Java API for XML-based Web Services (JAX-WS), Version 2.0
  • Java Architecture for XML Binding
    Java Architecture for XML Binding
    Java Architecture for XML Binding allows Java developers to map Java classes to XML representations. JAXB provides two main features: the ability to marshal Java objects into XML and the inverse, i.e. to unmarshal XML back into Java objects...

     (JAXB), Version 2.0
  • SOAP with Attachments API for Java
    SAAJ
    The SOAP with Attachments API for Java or SAAJ provides a standard way to send XML documents over the Internet from the Java platform.SAAJ enables developers to produce and consume messages conforming to the SOAP 1.1 specification and SOAP with Attachments note.Developers can also use it to write...

     (SAAJ), Version 1.3
  • Web Services Metadata for the Java Platform, Version 2.0
  • Streaming API for XML
    StAX
    Streaming API for XML is an application programming interface to read and write XML documents, originating from the Java programming language community.Traditionally, XML APIs are either:...

     (StAX), Version 1.0

Java EE 6 (Dec 10, 2009)

Developed under JSR 316

List of specifications:
Web Services Technologies:
  • Java API for RESTful Web Services (JAX-RS), Version 1.1 JSR 311
  • Implementing Enterprise Web Services, Version 1.3 JSR 109
  • Java API for XML-Based Web Services (JAX-WS), Version 2.2 JSR 224
  • Java Architecture for XML Binding
    Java Architecture for XML Binding
    Java Architecture for XML Binding allows Java developers to map Java classes to XML representations. JAXB provides two main features: the ability to marshal Java objects into XML and the inverse, i.e. to unmarshal XML back into Java objects...

     (JAXB), Version 2.2 JSR 222
  • Web Services Metadata for the Java Platform JSR 181
  • Java API for XML-based RPC (JAX-RPC), Version 1.1 JSR 101
  • Java APIs for XML Messaging, Version 1.3 JSR 67
  • Java API for XML Registries
    Java API for XML Registries
    Java API for XML Registries defines a standard API for Java platform applications to access and programmatically interact with various kinds of metadata registries. The JAXR API was developed under the Java Community Process as JSR 93....

     (JAXR), Version 1.0 JSR 93


Web Application Technologies:
  • Java Servlet
    Java Servlet
    A servlet is a Java programming language class used to extend the capabilities of servers that host applications accessed via a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers...

    , Version 3.0 JSR 315
  • JavaServer Faces
    JavaServer Faces
    JavaServer Faces is a Java-based Web application framework intended to simplify development integration of web-based user interfaces....

     (JSF), Version 2.0 JSR 314
  • JavaServer Pages
    JavaServer Pages
    JavaServer Pages is a Java technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types...

     (JSP), Version 2.2/Expression Language , Version 2.2 JSR 245
  • JavaServer Pages Standard Tag Library
    JavaServer Pages Standard Tag Library
    The JavaServer Pages Standard Tag Library , is a component of the Java EE Web application development platform. It extends the JSP specification by adding a tag library of JSP tags for common tasks, such as XML data processing, conditional execution, loops and internationalization...

     (JSTL), Version 1.2 JSR 52
  • Debugging Support for Other Languages, Version 1.0 JSR 45


Enterprise Application Technologies:
  • Enterprise JavaBean
    Enterprise JavaBean
    Enterprise JavaBeans is a managed, server-side component architecture for modular construction of enterprise applications.The EJB specification is one of several Java APIs in the Java EE specification. EJB is a server-side model that encapsulates the business logic of an application...

    s Specification (EJB), Version 3.1 JSR 318
  • Java Persistence API
    Java Persistence API
    The Java Persistence API, sometimes referred to as JPA, is a Java programming language framework managing relational data in applications using Java Platform, Standard Edition and Java Platform, Enterprise Edition....

     (JPA), Version 2.0 JSR 317
  • Contexts and Dependency Injection for Java (Web Beans 1.0) JSR 299
  • Dependency Injection for Java, Version 1.0 JSR 330
  • Bean Validation, Version 1.0 JSR 303
  • Java EE Connector Architecture, Version 1.6 JSR 322
  • Common Annotations for the Java Platform, Version 1.1 JSR 250
  • Java Message Service
    Java Message Service
    The Java Message Service API is a Java Message Oriented Middleware API for sending messages between two or more clients. JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914...

     API, Version 1.1 JSR 914
  • Java Transaction API
    Java Transaction API
    The Java Transaction API is one of the Java Enterprise Edition APIs allowing distributed transactions to be done across multiple XA resources in a Java environment. JTA is a specification developed under the Java Community Process as JSR 907...

     (JTA), Version 1.1 JSR 907
  • JavaMail
    Javamail
    JavaMail is a Java API used to receive and send email via SMTP, POP3 and IMAP. JavaMail is built into the Java EE platform, but also provides an optional package for use in Java SE.On March 2, 2009, JavaMail 1.4.2 was released....

     API, Version 1.4 JSR 919


Management and Security Technologies:
  • Java Authentication Service Provider Interface for Containers JSR 196
  • Java Authorization Contract for Containers, Version 1.3 JSR 115
  • Java EE Application Deployment, Version 1.2 JSR 88
  • J2EE Management, Version 1.1 JSR 77


Java EE-related Specs in Java SE 6:
  • Java API for XML Processing (JAXP), Version 1.3 JSR 206
  • JDBC Java Database Connectivity, Version 4.0 JSR 221
  • Java Management Extensions
    Java Management Extensions
    Java Management Extensions is a Java technology that supplies tools for managing and monitoring applications, system objects, devices and service oriented networks. Those resources are represented by objects called MBeans...

     (JMX), Version 2.0 JSR 255
  • JavaBeans Activation Framework
    JavaBeans Activation Framework
    JavaBeans Activation Framework, or JAF, enables developers to:It also enables you to dynamically register types of arbitrary data and actions associated with particular kinds of data. Additionally, it enables a program to dynamically provide or retrieve JavaBeans that implement actions associated...

    Specification (JAF), Version 1.1 JSR 925
  • Streaming API for XML (StAX), Version 1.0 JSR 173


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 (Apache), and 1 abstention (Borland), 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 (i.e. the SE TCK licensing). 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 (by SUNW or not), 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”.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK