Java 2 Platform, Enterprise Edition
|
Java 2 Platform, Enterprise Edition or J2EE is a programming platform for developing and running distributed multi-tier architecture applications, based largely on modular components running on an application server. The J2EE platform is defined by a specification. J2EE is also considered informally to be a language or standard because providers must agree to certain conformance requirements in order to declare their products as J2EE compliant; albeit with no ISO or ECMA standard.
J2EE includes several API specifications, for example JDBC, client-side applets, RPC, CORBA, and defines how to coordinate them. J2EE features some specifications unique to J2EE for components. These include Enterprise Java Beans, Servlets, Java Server Pages and several Web Services technologies. This allows the developer to create an enterprise application that is portable between platforms and scalable, while integrating with several legacy technologies.
Contents |
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 (http://geronimo.apache.org/), 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).
J2EE vs. LAMP
The LAMP architecture (Linux, Apache Web Server, MySQL database server, PHP) is a popular choice for developing Web Applications, as it is somewhat easy to use, it is very cheap (all software involved is free) and there are several applications available that can be installed easily.
A similar architecture can be achieved by substituting the PHP component (which performs the business logic) with a J2EE Container.
Publications
- J2EE Developer's Handbook, 2003 Sam's Publishing. Paul J. Perrone (et al), ISBN 0-672-32348-6
External links
- Sun's J2EE page (http://java.sun.com/j2ee/) - official documentation
- JavaRSS.com (http://www.javarss.com/) A Java portal of Java websites rich in Java & J2EE News, Articles, Blogs, Groups and Forums.
- Leading Adapter Provider (http://www.librados.com/) - Librados Adapters
- Javalobby.org (http://www.javalobby.org/) - popular Java, JSP & J2EE developer forums
- TheServerSide.com (http://www.theserverside.com/) - popular discussion site for J2EE developers
- Microsoft .NET vs. J2EE: How Do They Stack Up? (http://java.oreilly.com/lpt/a/1799) Jim Farley (http://www.oreillynet.com/pub/au/582) 08/01/2000. (O'Reilly (http://www.oreilly.com) 2004.)
- JavaToolbox (http://JavaToolbox.com) List of the available development tools and libraries for Java/J2EE
- Java BluePrints (http://java.sun.com/blueprints) - Sun's best practices for Java 2, Enterprise Edition application development.
Examples of J2EE application servers include:
- JBoss Application Server (http://www.jboss.org/products/jbossas)
- JRun by Macromedia (http://www.macromedia.com/software/jrun/)
- JOnAS by ObjectWeb consortium (Java Open Application Server, http://jonas.objectweb.org)
- Geronimo Application Server by Apache Software Foundation (http://geronimo.apache.org)
- Sun Java System Application Server (http://www.sun.com/software/products/appsrvr/home_appsrvr.xml)
- BEA WebLogic (http://bea.com/framework.jsp?CNT=index.htm&FP=/content/products/server)
- WebSphere Application Server by IBM (http://www-306.ibm.com/software/webservers/appserv/was/features)
- Borland Enterprise Server (http://www.borland.com/bes/appserver)
- Orion Application Server by IronFlare (http://www.orionserver.com)
- J2EE Architects Handbook (http://www.dvtpress.com/javaarch)
- More: Certified J2EE servers list (http://java.sun.com/j2ee/compatibility.html)de:Java 2 Platform Enterprise Edition
es:J2EE fr:Java 2 Enterprise Edition he:J2EE lt:J2EE nl:Java 2 Enterprise Edition ja:Java 2 Platform, Enterprise Edition pl:J2EE ru:J2EE zh:J2EE