Skip to main content

Ed Ort and Arun Gupta: What's New and Cool in Java EE 6

Posted by editor on December 28, 2009 at 9:24 AM PST

Today's lead Java Today story is Ed Ort's latest two-part "Deep Dive" production, Deep Dive: Java EE 6 and GlassFish v3 with Arun Gupta. Arun is a Sun Technology Evangelist who is deeply involved in the GlassFish project.

"Part 1. What's new and cool in Java EE 6" runs just over 19 minutes. After introducing Arun, Ed brings up the ease of use improvements in Java EE 6. Arun sums up the primary goals of Java EE 6 as follows:

  • More powerful and flexible
  • Easier to learn and use
  • Easier to evolve going forward

In terms of flexibility, Arun talks about the new profile capability, wherein you can create a customized subset of Java EE 6 that is targeted at a particular development environment (for example, web development) or a particular industrial vertical (for example, finance).

Arun provides code examples to demonstrate some of the new capabilities, starting out with JavaServer Faces 2.0 (JSR 314). He describes how facelets can be used as templates for multiple pages in an application, enabling convenient integration of, for example, CSS across a site's pages. He demonstrates construction of a web application using NetBeans 6.8 (RC1), GlassFish v3, and JSF 2.0 (using a facelet).

JSF 2.0 also includes AJAX support enabling updates of sections of a page, partial rendering of pages, etc. Ed asks about composite components in JSF 2.0. Arun explains that a composite component can be created out of a code fragment, for example, from within NetBeans. Arun states that the focus of JSF 2.0 is to make it easier for authors to construct pages. The ability to create composite components that can be reused is an important element in this.

Arun then talks about Servlet 3.0 (JSR 315). Here, annotations are a critical enhancement. For example, you can add an annotation to a POJO, and declare that to be your servlet. Arun demonstrates this with a code example. This new capability eliminates the need for a separate deploy step, which will save developers time especially when testing, editing, and re-testing new applications.

The next topic is EJB 3.1 (JSR 318). Here, Arun focuses on the usability improvements, which include simplified packaging, singleton session beans, application initialization and shutdown events, a cron-like timer service, and a "lite" stand-alone version for use in the Java EE 6 Web profile. Arun demonstrates this by extending the prior application, by integrating a new session bean into the servlet.

At the end of Part 1, Arun touches on a few other Java EE 6 enhancements, including JAX-RS and dependency injection.

Part 2 of the Deep Dive series focuses on "What's New and Cool in GlassFish v3."


In Java Today, Sun Senior Stafg Informati20091228.htmlon Engineer Ed Ort talks with Sun Technology Evangelist Arun Gupta in a new Deep Dive: Java EE 6 and the GlassFish v3:

Recently, Sun announced the general availability of Java Platform, Enterprise Edition (Java EE) 6 and GlassFish v3. Java Platform, Enterprise Edition (Java EE) is the industry-standard platform for building enterprise-class applications coded in the Java programming language. Based on the solid foundation of Java Platform, Standard Edition (Java SE), Java EE adds libraries and system services that support the scalability, accessibility, security, integrity, and other requirements of enterprise-class applications...

The Java ME SDK Team describes how to Use Mac AirPort to work with WinMobile handsets:

As you probably know we ship Java ME SDK with cldc java runtime for Windows Mobile. You can deploy MIDlets onto Windows Mobile handset as easy as it was an emulator. Connecting a WinMobile handset from Java ME SDK is very straightforward using activesync on windows. It's really just a matter of plugging device and runing jvm on it. Situation is different on Mac since there's no free activesync support...

Ludovic Poitou reports on how OpenDS helps load testing in the cloud:

Jason Shao explains on his blog how they do loadtesting of their web-based portal application on Amazon EC2. What raised my interest was that they've added the OpenDS ldap directory server in the image, as it was faster and easier than dealing with their usual infrastructure. This is not the first time we see customers deploying OpenDS in the cloud....


In today's Weblogs, Kumar Jayanti provides a Summary of new Security Features in Servlet 3.0:

Servlet 3.0 specification which is part of JavaEE 6 has many new features and some of them are in the area of security. The post by Ron Monzillo gives a high level summary of the security features that he added in the Servlet 3.0 specification. In this post i would like to focus on the aspect of Programmatically adding and configuring security for the servlet. Additionally i would provide links to other posts by me and team members on new security features of servlet 3.0. You can access more information about the API's from the JavaEE 6 Javadocs here...

Remi Forax is thinking about a Chistmas Gift:

Christmas holidays is one of my favourite moment in the year, I have time to see my relatives, read books, play with my kids and hack a little bit. Forewords: I think I don't like the most in the strawman proposal is that the syntax for function type and for lambda literal reuse the same symbol '#'. It's something that I've observed when teaching C. The C syntax use * when you declare a pointer type and * when you want to dereference a pointer variable. The fact that * is used twice for different meanings introduces unnecessary confusion and is a burden to understand pointers. In my opinion, we should use a new keyword lambda to define lambda literal and use # for function type...

Sebastien Dionne shows how to Enhance your javadoc with ULMGraph:

We can't live without Javadoc, but even if it useful, it's not complete. One missing thing is UML within the Javadoc. To add UML to your Javadoc, is quite simple. You need to add Graphviz into your maven build. First you need to download and install Graphviz. Go there Graphviz. After that you should add the variable GRAPHVIZ_HOME (that point to the installation folder) into your system. The last step is to add the plugin into your pom...


In the Forums, syparth has issues with Glassfihs deployment :- frequent class file replacement problem: "Hi, I have deployed my war file succesfullly on glassfish v2. Now there is some change in code , now i wnat to replace that calss file on the server at deployed war path..."

nnjones has Confusion about Insert > Model vs. Drag and Drop: "I have been trying to create an artwork module because we are bouncing around systems right now. I noticed that when I try to place a model using the Insert menu, it doesn't scale or position itself at all like the drag and drop Properties sheet. When I install that module..."

secant finds that wsimport generates undesirable Array classes: "How will I prevent wsimport from generating class like
ArrayOfHistoryPeriodDetails and method like below ? public ArrayOfHistoryPeriodDetails getHistoryPeriods(); ..."


Our current Spotlight is the Annual Developer Quiz put together by Janice Heiss: "For this quiz, SDN staff author Janice J. Heiss surveyed past interviews with leading Java developers in search of questions that might challenge, inform, entertain, amuse, and provoke you. The questions aspire to reflect both the intellectual curiosity and spirit of fun to be found in the Java community. We hope you enjoy taking this quiz... Test your knowledge of Java technology and computing..."


Our current java.net Poll asks "What was the most significant Java/JVM news/event in 2009?" Voting will run through Thursday or Friday (depending on where you live).


We have a new java.net Feature Article by JFXStudio Holiday Challenge winner Jeff Friesen, Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser. We're also still featuring my recent Interview with Java Champion Adam Bien: Java EE 8, Closures, and More.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.

-- Kevin Farnham

O'Reilly Media