Java 2 Platform, Enterprise Edition or J2EE is a Standard (albeit with no ISO or ECMA standard) for developing distributed Multi-tier architecture applications, based on modular components running on an application server. It uses several technologies, including JDBC and CORBA, and extends their functionality with Enterprise Java Beans, Java Servlets, Java Server Pages and XML technologies. This allows the developer to create an Enterprise Application that is portable between platforms and scalable, while integrating with several legacy technologies.
General APIs
The J2EE APIs includes several technologies that extend the functionality of the base J2SE 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 communication (using RMI), concurrency control, and access control for distributed objects .
javax.servlet
The Servlets API defines a set of APIs between a web container and a servlet that is responsible for processing requests and issuing responses.
javax.servlet.jsp
The javax.servlet.jsp and javax.servlet.jsp.tagext packages define the JavaServer Pages API.
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 J2EE as a platform is that it is possible to get started with little, or no, expenditure. The J2EE implementation from Sun 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, a Java based integrated development environment
- The Eclipse platform, a Java based integrated development environment
- Jakarta Tomcat, a Servlet/JSP web container
- Jakarta JMeter, a load testing tool for web servers
- Apache Ant, an automated build tool
- JUnit, a framework for automating unit tests
- Jasper Reports , a report writer
- JBoss, an open-source application server
- Geronimo, an open-source application server
- JOnAS, an open-source application server
- Novell exteNd
- Jetty
- Struts, a framework for developing J2EE web applications
J2EE vs. .NET
Arguments abound about the merits of J2EE vs. Microsoft's .NET. One "consensus" is that J2EE is best for multiplatform architectures, whereas .NET should be used for a strictly Microsoft platform (and not to be migrated to for non-Microsoft platform integration).
Publications
- J2EE Developer's Handbook, 2003 Sam's Publishing. Paul J. Perrone (et al), ISBN 0-672-32348-6
External links
Examples of J2EE application servers include: