Jakarta EE
Java platform editions |
---|
|
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. 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.
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.
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.
The Servlets API defines a set of APIs between a web container and a servlet that is responsible for processing requests and issuing responses.
The javax.servlet.jsp
and javax.servlet.jsp.tagext
packages define the JavaServer Pages API.
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.
The java.sql
and javax.sql
packages define the Java Database Connectivity (JDBC) API.
These packages define the Java Transaction API (JTA).
These packages define the JAXP API.
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:
- Jdeveloper IDE, a Java based integrated development environment
- NetBeans IDE, a Java based integrated development environment
- The Eclipse platform, a Java based integrated development environment
- Jedit, an opensource, Java based integrated development environment
- Apache Ant, 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 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 that Java EE 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).
==================================================================
Totally incorrect assumption: .NET is both cross platform as well as cross language. More than 20 languages support .NET specification till date. .NET specification is an approved ECMA/ISO standard (unlike Java which is still controlled by Sun). Visit http://www.mono-project.com for further details. Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix. While it is true that Microsoft .Net Framework SDK can also be used to develop Windows specific applications, but one can develop strict CLR/CLS/CTS compliant application without using Windows specific or non-CLS features so that they can be truely cross-platform, cross-language and interoperable applications.
Publications
- Perrone, Paul J. (2003). J2EE Developer's Handbook. Indianapolis, Indiana: Sam's Publishing. ISBN 0-672-32348-6.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help)
- 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
- Java EE 8 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
- 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)