Java EE FAQ

Open all Close all

    Java Platform, Enterprise Edition

  • Q: What is the Java Platform, Enterprise Edition (Java EE)?

    Java Platform, Enterprise Edition (Java EE) is the industry standard for developing portable, robust, scalable and secure server-side Java applications. Building on the solid foundation of Java SE, Java EE provides component development, web services, management, and communications APIs that make it the industry standard for implementing enterprise class service-oriented architecture (SOA) and Web 2.0 applications.

  • Q: What are the main benefits of the Java EE platform?
    • Developer productivity. Java EE 6 delivers a plain old java object (POJO) and convention over configuration approach to development. Developers begin with POJOs and annotate them with additional capabilities, such as transaction-enabled business components (i.e. @Stateless), value constraints with Bean Validation (i.e. @Max), and database persistence (@Entity). Annotations can virtually replace XML configuration, greatly simplifying development.
    • Feature rich platform. The Java EE platform provides a rich set of features out of the box, avoiding an explosion of non-standard, non-integrated APIs. The result is a pre-tested, pre-integrated platform offered by multiple vendors.
    • Web Profile. For applications that do not need the power and enterprise connectivity of the full Java EE platform, Java EE 6 introduced the lightweight Web Profile optimized for web applications. Developers can rapidly create rich user interfaces that integrate with transactional business components and databases for departmental or outward-facing web applications.
    • Faster solutions delivery time to market. The Java EE platform uses "containers" to simplify development. Java EE containers provide for the separation of business logic from resource and lifecycle management, which means that developers can focus on writing business logic -- their value-add -- rather than writing enterprise infrastructure. For example, the Enterprise JavaBeans (EJB) container handles distributed communication, threading, scaling, transaction management, etc. Similarly, Java Servlets simplify web development by providing infrastructure for component, communication, and session management in a web container that is integrated with a web server.
    • Freedom of choice. Java EE technology is a set of standards that many vendors can implement. The vendors are free to compete on implementations but not on standards or APIs. Oracle supplies a comprehensive Java EE Compatibility Test Suite (CTS) to Java EE licensees. The Java EE CTS helps ensure compatibility among the application server vendors which facilitates portability for the applications and components written for the Java EE platform. The Java EE platform brings Write Once, Run Anywhere (WORA) to the server.
    • Complete web services support. The Java EE platform provides a framework for developing and deploying web services on the Java platform. The Java API for XML Web Services (JAX-WS) enables Java technology developers to develop SOAP-based interoperable and portable web services. Developers use the standard JAX-WS programming model to develop SOAP-based web service clients and endpoints. A web service endpoint is described using a Web Services Description Language (WSDL) document. JAX-WS enables clients to invoke web services developed across heterogeneous platforms. In a similar manner, JAX-WS web service endpoints can be invoked by heterogeneous clients.
    • By offering one platform with faster solution delivery time to market, freedom of choice, and simplified connectivity, the Java EE platform helps IT by reducing Total Cost of Ownership (TCO) and simultaneously avoiding single-source lock-in for their enterprise software needs.
  • Q: Where can I get more information about the Java EE platform?

    The most effective way to learn about Java EE and what's new in the Java EE 6 platform is to get hands on experience with the APIs by using the Java EE 6 SDK. The Java EE 6 SDK provides a Java EE 6-compatible application server as the foundation to develop and deploy Web Services-enabled, multi-tier enterprise applications. You can download the Java EE 6 SDK and begin today.

    For beginners, the Java EE documentation page provides links to a wide variety of self-paced learning materials, such as tutorials and FAQs.

    Oracle Education provides many training courses, which can lead to one of three certifications: Certified Web Component Developer, Certified Business Component Developer, or Certified Enterprise Architect.

  • Q: Are there compatibility tests for the Java EE platform?

    Yes. The Java EE Compatibility Test Suite (CTS) is available for the Java EE platform. The Java EE CTS contains thousands of compatibility tests for Java EE 6. The suite tests compatibility by performing specific application functions and checking results. For example, to test the JPA call to persist an entity, an EJB test component makes a call to persist an object and then a call is made to check that the object was persisted.

  • Q: What is the difference between being a Java EE licensee and being Java EE compatible?

    A Java EE licensee has signed a commercial distribution license for Java EE. That means the licensee has the compatibility tests and has made a commitment to compatibility. It does not mean the licensee's products are necessarily compatible yet. Look for the Java Compatible, Enterprise Edition brand which signifies that the specific branded product has passed the Compatibility Test Suite (CTS) and is compatible.

  • Q: What is the importance of being Java EE compatible?

    Java EE technology and its success is predicated on compatibility which brings Java technology's mission of "Write Once, Run Anywhere" capability to the server. Developers can write applications to the Java EE specification -- and companies can purchase such applications -- and be assured that they are portable across all the Java Compatible, Enterprise Edition products available today.

    Multiple Java EE-compatible applications servers may be found on the Java EE 6 compatibility page.

  • Q: What tools can I use to build Java EE applications?

    There are numerous choices of tools available for developing Java and Java EE applications. You can download the open source NetBeans IDE for free at http://netbeans.org. Many of the Java EE compatible vendors offer tools that support any Java EE-compatible application server.

    Java EE 6

  • Q: What's new in the Java EE 6 platform?

    The article "Introducting the Java EE 6 Platform" covers in detail what is new in the Java EE 6 platform, including Servlet 3.0, EJB 3.1, Context and Dependency Inject for Java (CDI), and much more.

  • Q: What technologies are included in the Java EE 6 platform?

    This is covered in detail on the Java EE 6 Technologies page.

  • Q: Why move to Java EE 6?

    Java EE 6 is the latest version of the premier platform for developing robust, scalable enterprise applications. Here are some highlights and themes for Java EE 6:

    • Developer productivity. One of the primary focus of Java EE 6 is ease of development. With Java EE 6, there is less code to write -- much of the boilerplate code has been removed, defaults are used whenever possible, and annotations are used extensively to reduce the need for XML configuration.
    • Flexible and lightweight. Along with a simpler development model in Java EE 6, the newly introduced Web Profile offers a lightweight runtime designed to efficiently run web aplications. As application needs grow to require messaging, remote access to business components, etc, enterprises can upgrade their Java EE runtime to one that supports the full Java EE platform.
  • Q: Can applications written for prior versions of Java EE run in a Java EE 6 implementation?

    Java EE applications that are written to the J2EE 1.3, J2EE 1.4, or Java EE 5 specification will run on a Java EE 6 implementation. Backwards compatibility is a requirement of the specification.

    Java EE 6 Software Development Kit (SDK)

  • Q: What is the Java EE 6 SDK?

    The Java EE 6 SDK is a free integrated development kit that one can use to build, test and deploy Java EE 6-based applications. Included in the SDK is GlassFish Server 3.1, which implements the latest Java EE 6 technologies and provides features aimed at improving developer productivity.

  • Q: How can I get the Java EE 6 SDK?

    The Java EE 6 SDK may be downloaded for free.

  • Q: Can I use it in production?

    Yes, however it is recommended to use a commercially supported application server for production deployments.

  • Q: How is the SDK related to Project GlassFish?

    The GlassFish Server contained within the Java EE 6 SDK is based on the bits developed by Oracle engineers and community contributors within the GlassFish community.