Java Platform, Enterprise Edition
From Wikipedia, the free encyclopedia
| Micro Edition (ME) |
| Standard Edition (SE) |
| Enterprise Edition (EE) |
Java Platform, Enterprise Edition or Java EE (formerly known as Java 2 Platform, Enterprise Edition or J2EE up to version 1.4), 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 Java Beans, 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 the lower level maintenance tasks.
Contents |
History
The original J2EE specification was developed by Sun Microsystems. Starting with J2EE 1.3, the specification has been developed under the Java Community Process. JSR 58 specifies J2EE 1.3 and JSR 151 specifies the J2EE 1.4 specification. The Java EE 5 specification was developed under JSR 244 and the final release was made on May 11, 2006.
General APIs
The Java EE APIs includes several technologies that extend the functionality of the base Java SE APIs.
javax.ejb.*
The Enterprise Java Beans 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.
javax.jms.*
These packages define the Java Message Service (JMS) API.
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 IDE
- Apache Ant, an automated build tool
- Apache Maven, an automated build 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
- Spring Framework
Java EE 5 application server certified
- GlassFish, an open-source application server from Sun
J2EE 1.4 application server certified
- JBoss, an open-source application server from JBoss
- Geronimo, an open-source application server from Apache
- JOnAS, an open-source application server from ObjectWeb
- Resin, an application server with integrated XML support
- Sun Java System Web Server
- Sun Java System Application Server
- IBM WebSphere Application Server (WAS), a fully scalable, fully J2EE-compliant application server from IBM
Java EE vs. .NET
Arguments about the merits of Java EE vs. Microsoft's .NET abound. One "consensus" is to use Java EE when multiplatform architectures are needed though you are restricted to only using the Java language, whereas .NET should be used when support for multiple languages is required though you are resticted to only using a Microsoft platform.
Publications
- Perrone, Paul J.; Chaganti, Krishna (2003). J2EE Developer's Handbook. Indianapolis, Indiana: Sam's Publishing. ISBN 0-672-32348-6.
- Bodoff, Stephanie (2004). The J2EE Tutorial. Boston: Addison-Wesley. ISBN 0-321-24575-X.
- Solveig Haugland, Mark Cade, Anthony Orapallo: J2EE 1.4: The Big Picture, Prentice Hall, ISBN 0-13-148010-3
- Alan Monnox: Rapid J2EE Development: An Adaptive Foundation for Enterprise Applications, Prentice Hall, ISBN 0-13-147220-8
- Renaud Pawlak, Lionel Seinturier, Jean-Philippe Retaillé: Foundations of AOP for J2EE Development, ISBN 1-59059-507-6
- Christopher Judd, Hakeem Shittu: Pro Eclipse JST: Plug-ins for J2EE Development, ISBN 1-59059-493-2
See also
External links
- Sun's Official Java EE Tutorial
- Sun's Java EE Training
- Sun's Java EE page - official documentation
- J2EE 1.4 API Javadocs
- Java EE 5 technologies and JSRs
- Sun's J2EE compatibility page - certified J2EE servers
- J2EE Interview Questions
- Javalobby.org - popular Java, JSP & J2EE developer forums
- TheServerSide.com - popular discussion site for J2EE developers
- J2EE Factory to Enterprise Middleware.
- Jim Farley 1 August 2000. (O'Reilly 2004.)
- JavaToolbox List of the available development tools and libraries for Java/J2EE
- Java BluePrints - Sun's best practices for Java 2, Enterprise Edition application development.
- Detailed J2EE Tutorials - J2EE Tutorials and Help Files
- JavaRSS.com - A Java portal of Java websites rich in Java & J2EE News, Articles, Blogs, Groups, Forums and Tags
Examples of Java EE application servers include:
- BEA WebLogic (http://bea.com/framework.jsp?CNT=index.htm&FP=/content/products/server)
- Borland Enterprise Server (http://www.borland.com/bes/appserver)
- Geronimo Application Server by Apache Software Foundation (http://geronimo.apache.org)
- JBoss Application Server (http://www.jboss.org/products/jbossas)
- JOnAS by ObjectWeb consortium (Java Open Application Server, http://jonas.objectweb.org)
- JRun by Macromedia (http://www.macromedia.com/software/jrun/)
- Oracle Application Server (http://www.oracle.com/appserver)
- Orion Application Server by IronFlare (http://www.orionserver.com)
- Pramati Server (http://www.pramati.com)
- Sun Java System Application Server (http://www.sun.com/software/products/appsrvr/home_appsrvr.xml)
- WebSphere Application Server by IBM (http://www-306.ibm.com/software/webservers/appserv/was/features)
- WebObjects Application Server by Apple Computer (http://www.apple.com/webobjects)

