Java EE

Java Platform, Enterprise Edition or Java EE (formerly known as Java 2 Platform, Enterprise Edition or J2EE until the name was changed to Java EE in version 1.5), is a programming platform—part of the Java Platform—for developing and running distributed multitier architecture Java applications, based largely on modular software components running on an application server. The Java EE platform is defined by a specification. Similar to other Java Community Process specifications, Java EE is also considered informally to be a standard because providers must agree to certain conformance requirements in order to declare their products as Java EE compliant; albeit with no ISO or ECMA standard.

Java EE includes several API specifications, such as JDBC, RMI, e-mail, JMS, web services, XML, etc, and defines how to coordinate them. Java EE also features some specifications unique to Java EE for components. These include Enterprise JavaBeans, servlets, portlets (following the Java Portlet specification), JavaServer Pages and several web service technologies. This allows the developer to create an enterprise application that is portable between platforms and scalable, while integrating with legacy technologies. Other added bonuses are, for example, that the application server can handle the transactions, security, scalability, concurrency and management of the components that are deployed to it, meaning that the developers can concentrate more on the business logic of the components rather than infrastructure and integration tasks.

History

The original J2EE specification was developed by Sun Microsystems.

Starting with J2EE 1.3, the specification was developed under the Java Community Process. JSR 58 specifies J2EE 1.3 and JSR 151 specifies the J2EE 1.4 specification.

The J2EE 1.3 SDK was first released by Sun as a beta in April 2001. The J2EE 1.4 SDK beta was released by Sun in December 2002.

The Java EE 5 specification was developed under JSR 244 and the final release was made on May 11, 2006.

The Java EE 6 specification is being developed under JSR 313 and is scheduled for release in 2008.

General APIs

The Java EE APIs includes several technologies that extend the functionality of the base Java SE APIs.

javax.ejb.*

The Enterprise JavaBeans API defines a set of APIs that a distributed object container will support in order to provide persistence, remote procedure calls (using RMI or RMI-IIOP), concurrency control, and access control for distributed objects.

javax.naming

The javax.naming, javax.naming.directory, javax.naming.event, javax.naming.ldap and javax.naming.spi packages define the Java Naming and Directory Interface (JNDI) API.

java.sql, javax.sql

The java.sql and javax.sql packages define the Java Database Connectivity (JDBC) API.

java.transaction.*

These packages define the Java Transaction API (JTA).

javax.xml.*

These packages define the JAXP API. This is used for XML parsing.

xml is a language used in java 2 platform, enterprise Edition(section)

javax.jms.*

These packages define the Java Message Service (JMS) API.

javax.jws.*

These packages define the JAX-WS API responsible for web services support.

Low cost development

One of the benefits of Java EE as a platform is that it is possible to get started with little or no cost. The Java EE implementation from Sun Microsystems can be downloaded for free, and there are a great many open source tools available to extend the platform or to simplify development.

Examples of third party open source Java development tools include:

  • NetBeans IDE, a Java based integrated development environment (IDE)
  • The Eclipse platform, a Java based IDE
  • Jedit, an opensource, Java based text editor
  • Apache Ant, an automated build tool
  • Apache Maven, an automated build and dependency management tool
  • JUnit, a framework for automating unit tests
  • Apache Tomcat, a Servlet/JSP web container
  • Jetty, a web server and Servlet/JSP web container
  • Struts, a framework for developing Java EE web applications
  • Jakarta JMeter, a load testing tool for web servers
  • JasperReports, a report writer
  • OpenXava, an open source framework for easy development of J2EE business application
  • Spring Framework

Java EE 5 application server certified

  • WebLogic Application Server 10.0 from BEA Systems
  • GlassFish, an open-source application server from Sun
  • SAP NetWeaver Application Server, Java EE 5 Edition from SAP
  • JEUS 6, a Linux specific Application Server from TmaxSoft

J2EE 1.4 application server certified

  • JBoss, an open-source application server from JBoss. A beta version of the JEE 5 version is available but this version is not certified [1].
  • Pramati Server 5.0
  • Geronimo, an open-source application server from Apache
  • JOnAS, an open-source application server from ObjectWeb
  • Oracle Application Server 10g
  • Resin, an application server with integrated XML support
  • SAP NetWeaver Application Server, Java EE 5 Edition from SAP
  • Sun Java System Web Server
  • Sun Java System Application Server
  • IBM WebSphere Application Server (WAS)

J2EE 1.3 application server certified

  • JRun Application Server from Macromedia

JAVA EE
GlassFish
Seasar
Oracle Application
Server
JavaServer Pages
EasyBeans