# Java EE 5: Overview

Using the Java™ Platform, Enterprise Edition (Java EE) architecture, you can build distributed Web and enterprise applications. This architecture helps you focus on presentation and application issues, rather than on systems issues.

You can use the Java EE 5 tools and features to create applications that are structured around modules with different purposes, such as Web sites and Enterprise JavaBeans™ (EJB) applications. When you use EJB 3.0 components, you can create a distributed, secure application with transactional support. When you develop applications that access persistent data, you can use the new Java Persistence API (JPA). This standard simplifies the creation and use of persistent entities, as well as adding new features. For developing presentation logic, you can use technologies such as JavaServer Pages (JSP) or JavaServer Faces (JSF).

Using the Java EE 5 Platform Enterprise Edition (Java EE) , you can develop applications more quickly and conveniently than in previous versions. The Java EE 5 platform replaces Java 2 Enterprise Edition (J2EE), version 1.4. The product tools support for both versions. Java EE 5 significantly enhances ease of use providing

- Reduced development time
- Reduced application complexity
- Improved application performance

Java EE 5 provides a simplified programming model, including the following tools:

- Inline configuration with annotations, making deployment descriptors now optional
- Dependency injection, hiding resource creation and lookup from application code
- Java persistence API (JPA) allows data management without explicit SQL or JDBC
- Use of plain old Java objects (POJOs) for Enterprise JavaBeans and Web services

Java EE 5 provides simplified packaging rules for enterprise applications:

- Web applications us .WAR files
- Resource adapters use .RAR files
- Enterprise applications use .EAR files
- The `lib` directory contains shared .JAR files
- A .JAR file with `Main-Class` implies an application client
- A .JAR file with @Stateless annotation implies an EJB application
- Many simple applications no longer require deployment descriptors, including
  - EJB applications (.JAR files)
  - Web applications that use JSP technology only
  - Application clients
  - Enterprise applications (.EAR files)

Java EE 5 provides simplified resource access using dependency injection:

- In the Dependency Injection pattern, an external entity automatically supplies an object's dependencies.
  - The object need not request these resources explicitly
- In Java EE 5, dependency injection can be applied to all resources that a component needs
  - Creation and lookup of resources are hidden from application code
- Dependency injection can be applied throughout Java EE 5 technology:
  - EJB containers
  - Web containers
  - Clients
  - Web services

Parent topic: Developing Java EE Applications