Ed Ort Introduces the Java EE 6 Platform
In this week's java.net Spotlight, we're featuring Ed Ort's new three-part article series, Introducing the Java EE 6 Platform. Ed Ort is a Sun Developer Network staff writer; he's written extensively about database, programming, and web services technology.
Part 1 of the series looks at the goals of the Java EE 6 platform. These include:
- More flexible technology stack
- Enhanced extensibility
- Further ease of development
Among the leading new Java EE 6 technologies, Ed cites the Java API for RESTful Web Services (JAX-RS), JSR 311. JAX-RS:
enables you to rapidly build lightweight web services that conform to the Representational State Transfer (REST) style of software architecture. An important concept in REST is the existence of resources, each of which can be referred to with a global identifier, that is, a URI. In particular, data and functionality are considered resources that can be identified and accessed through URIs. To manipulate these resources, components of the network, clients and servers, communicate through a standardized interface such as HTTP and a small, fixed set of verbs - GET, PUT, POST, and DELETE - and exchange representations of these resources.
Ed then provides an example of JAX-RS in action, in a code example.
Ed also covers Contexts and Dependency Injection (CDI), JSR 299, in Java EE 6:
These services allow Java EE components, including EJB session beans and JavaServer Faces (JSF) managed beans, to be bound to lifecycle contexts, to be injected, and to interact in a loosely coupled way by firing and observing events. Perhaps most significantly, CDI unifies and simplifies the EJB and JSF programming models. It allows enterprise beans to replace JSF managed beans in a JSF application.
An code example of CDI in action is provided.
The first article in the series completes with a discussion of Bean Validation, JSR 303, and example code.
Part 2 in the series covers Java EE 6's enhanced web tier capabilities, support for web fragments in Servlet 3.0, shared framework pluggability, asynchronous processing in Servlet 3.0, simplified page authoring in JSF 2.0, facelets, templating, composite components, JSF 2.0 AJAX support, and other Servlet 3.0 and JSF 2.0 new features.
Part 3 of the series talks about ease of use improvements, the no-interface view, singletons, asynchronous session bean invocation, simplified packaging, EJB 3.1 features, Java Persistence API 2.0, object/relational mapping enhancements, Java Persistence Query Language enhancements, the Criteria API, pessimistic locking support, annotations in Java EE components, profiles and pruning, the Web Profile, and more.
All in all, Ed Ort's Introducing the Java EE 6 Platform series is a comprehensive overview of what's new in Java EE 6. It's a good place to start if you've heard the news that Java EE 6 was approved, but haven't yet had a chance to learn what's actually in it.
Alan Bateman asks Is the JDK losing its edge(s)?:
One of the goals for JDK 7 is to get us to a modular platform. Getting there will be hard as it's a very interconnected code base with many undesirable dependencies between APIs and different areas of the implementation. These dependencies have built up over many years and releases. To give an example (from a couple of builds ago but mostly applicable to JDK 6 too): Suppose you are using the Logging API (meaning java.util.logging)...
Josh Marinacci announced the JFXStudio Challenge Winner: Holiday:
The JFXStudio is proud to announce the winner of Challenge:Holiday. The winner is Jeff Friesen with his entry: Happy Holidays. Be sure to turn on the sound. Jeff will receive a twenty dollar gift certificate and a badge to put on his home page. Congratulations Jeff! ...
For the purpose of implementing a SSO (Single Sign On) system into our application, I investigated the use of spring-security and successfully implemented it using NTLM and Crowd...
Remi Forax asks Tailcall anyone?:
Last June, Arnold Schwaighofer push a patch to mlvm repository that
allow to transform tail call invocation
of a method to a jump.
Even if this transformation is classical in language like Lisp, Scheme or Caml,
the JVM was not offering any help to optimize this kind of call until this patch.
Recently, Tom Davies
the patch in order to be used with a more recent jdk7 beta VM. Really cool, indeed....
Fabrizio Giudici talks about focus on A single thing at a time:
You know, everybody has been saying it for years, that when we design a software in object-oriented way we must focus on one single thing at a time. Baby steps. It means setting small, reasonable goals; one tiny step at a time. It's one of the most important best practices for software development...
Our current Spotlight is Ed Ort's three part article series, Introducing the Java EE 6 Platform: "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..."
Our current java.net Poll asks "Do you plan to upgrade to NetBeans IDE 6.8?" Voting will run through Thursday or Friday (depending on where you live).
We have a new java.net Feature Article, my recent Interview with Java Champion Adam Bien: Java EE 8, Closures, and More. We're also featuring Jeff Friesen's Learn about JavaFX's APIs for Reading RSS and Atom Newsfeeds, which introduces you to the RSS and Atom APIs in JavaFX 1.2.
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:
- January 11: Java Training Philippines
- January 15: Spring Grails Asia 2010
- January 25: Developing Java Web Applications
- March 17-19: TheServerSide Java Symposium 2010
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