Site icon Geeknizer

Java EE 6 Feature Overview

Java EE 6Java EE 6 just got released yesterday, here is everything you need to know about, in brief.

A look back: Java EE 5 was a remarkable step towards a mature, widely deployed, well supported server-side development platform. EJB 3.0 was re-engineered to ease, the Entity Bean model was stripped and replaced by JPA as the persistence paradigm, JSF was introduced as the standard presentation tier framework and JAX-WS 2.0 replaced JAX-RPC as the SOAP web services API. The focus of Java EE 5 was squarely on reducing complexity by embracing the concepts of annotations, POJO programming, zero-configuration systems.

Overview

Java EE 6 is next big step in the journey towards the idea of a “simple, streamlined and well-integrated platform”. Java EE 6 includes a rich paradigm of innovations best reflected in the technologies that comprise the platform including brand new APIs like WebBeans 1.0 and JAX-RS 1.1, JPA 2.0 or even mature APIs like Servlet 3.0, EJB 3.1

JSR 316: JavaTM Platform, Enterprise Edition 6 (Java EE 6) Specification.

Let’s give each one of the features a brief look:

Pruning

Pruning the Dead meat: The Java EE platform is gainging weight since it’s initial launch in 1999. The idea now is to cut the dead (least used) stuff off. Java EE 6 begins the essential process of carefully pruning  APIs to make the platform more lightweight and to make room for healthier growth. Few APIs that are chopped off and why:

“Pruning” an API essentially means that an application server vendor need not support these technologies, what this doesn’t mean is that you cannot support those APIs, few larger vendors will probably continue supporting them atleast for some time.

Profiles

What is the biggest  major criticism of Java EE? Its simply too large. The fact is, majority of Java web applications do not utilize/leverage   the full Java EE stack. So why is that stuff still in there?

Profiles are designed to address this issue. Profiles are essentially sub-sets of Java EE APIs geared towards a particular class of applications in mind. For example, the proposed Java EE Web Profile will only include APIs that are likely to be used in most Java web applications. The idea isn’t new,  Java ME supports the idea of Profiles already.

Although Java EE 6 defines the rules for creating new Profiles through separate JSRs, only one Profile, the Web Profile is included in platform this time. Detailed chart of Profiles can be found at Sun’s documentation.

Web Beans 1.0:

WebBeans is perhaps the most groundbreaking API developed in the Java EE 6 time-frame. WebBeans fills a number of gaps in Java EE. Although WebBeans is inspired by Seam, Google Guice as well as Spring, it does not directly mirror any of them. Indeed, WebBeans adds a number of unique innovations of its own. Here’s brief on it:

WebBeans adds a lot of other very cool features that pave way to nextgen web applications.

Read More: Detailed Spec for Web Beans

JSF 2.0:

JSF appears to be holding ground in the Web UI layer. However, there are a number of valid concerns around the usability and robustness of JSF. JSF 2.0 meets these concerns, and adds all new graded stuff:

Read More: JSF 2.0 Detailed Spec

EJB 3.1:

EJB 3.0 was relatively well-received by the community due to the ease it introduced. EJB 3.1 targets to continue the trend with groundbreaking new EJB 3.1 features:

Read More: EJB 3.1 Detailed Spec

JPA 2.0:

Now, JPA has been officially separated from EJB as a distinct API in its own. JPA has been a success. It enjoys great adoption rates and first-class vendor support. JPA 2.0 aims to add to the trend by adding new features:

Read More: JPA 2.0 Detailed Spec

Servlet 3.0:

Servlet 3.0 changes have generated quite a bit of excitement and is likely to be very well-received by the community:

Read More: Servlet 3.0 Detailed Spec

JAX-RS 1.1:

REST is increasingly gaining traction as an alternative web services development paradigm. We know of the advantages from REST vs. SOAP

Much like JAX-WS abstracts away the low-level details of the SOAP protocol, JAX-RS is designed to reduce REST development to POJO programming and annotation based configuration. Here is a high level view of JAX-RS:

Overall, JAX-RS has many other powerful features that make REST development a breeze, just like JAX-WS makes SOAP development almost transparent.

Read More: JAX-RS Detailed Spec

What’s More

We have covered the most important ones, Few we didn’t include are Enterprise Web services 1.3, JAX-WS 2.2, JAXB 2.2, XML Messaging and more. You can check them out at the official Java EE 6 Technologies page.

Right now, Netbeans 6.8, GlassFish Tools Bundle for Eclipse 1.2 Release Candidate are the only IDEs  and GlassFish3.1 is the only application server that fully support Java EE 6.

Refrences:  Java EE6 Detailed Overview, official Java EE 6 Technologies, theserverside, and devx

Exit mobile version