Sunday Jan 29, 2012

More Java EE 7 - JSF 2.2

JSF 2.2 (JSR 344) is yet another specification that's being worked on as part of the Java EE 7 effort and Arjan over at jdevelopment.nl has a detailed status covering everything new in this version of the spec.

ALT_DESCR

Part of the features discussed in this blog post are a new queue control for AJAX requests, tighter CDI integration, some Java API additions as well as life-cycle events improvements.

It's great to see community members help spread the word on the progress made and as Ed Burns, the JSF spec lead, says - "(this is) a true testament to the value of transparency."

Friday Jan 27, 2012

Tab Sweep - GlassFish patch, is PaaS Middleware over IaaS, NetBeans tips, JCP updates, ...

Note: if you're reading this using a feedreader, please make sure you've updated to the updated TheAquarium feed.

Recent Tips and News on Java, Java EE 6, GlassFish & more :

Radio Receiver

GlassFish Enterprise Server v2.1.1 Patch 15 (GlassFish for Business)
PaaS is not Middleware over IaaS (Reza)
Sneak peak at Java EE 7 - Multitenant Examples with EclipseLink (Markus)
Building and testing ADF applications with Maven, JSFUnit, Arquillian and Embedded GlassFish (Dablomatique)
NetBeans 7.1 IDE: Shelve and Un-Shelve Changes (John)
NetBeans 7.1 IDE: Inspect and Transform to JDK 7 (John)
JUG Leaders Conference (The Java blog)
New JSR now open for review (The JCP blog)
JCP EC Updates (The JCP blog)

Wednesday Jan 25, 2012

JCP.next with merged Executive Committee - JSR 355

The latest JSR filed is #355 and it's not a technical one - "JCP Executive Committee Merge". As the name implies this is about merging the current ME and SE/EE executive committees into a unified one.

If you've been following carefully the changes planned for the JCP, the 2-step process turned into a 3-step evolution:
1/ JSR 348, JCP transparency
2/ Merging the two existing Executive Committees
3/ Sorting out the more complicated legal issues

ALT_DESCR

If you're curious about the role of the executive committee members, check out this page on JCP.org. Hint: voting on JSRs is part of it, but there's more. The JSR Review Ballot starts on February 7th.

Tuesday Jan 24, 2012

New in JPA 2.1 Early Draft

Java EE 7 is moving along nicely at the speed of its various JSRs and Arun has a rundown of the new features planned for JPA 2.1 as described in the recent Early Draft document.

ALT_DESCR

The blog entry covers Stored Procedures (similar to named queries, defined on the entities themselves), bulk operations, new FUNCTION, ON, TREAT JPQL keywords, more alignment with CDI and unsynchronized persistence context.

There are more features planned for JPA 2.1 that didn't get in the early draft (such as multi-tenancy). As a reminder, EclipseLink is the reference implementation (RI) for this specification while GlassFish 4.0 will deliver the overal Java EE 7 RI.

Wednesday Dec 28, 2011

2011, a year of delivering on the roadmap

After 323 posts here on TheAquarium, 2011 is coming to an end. Let's look back at what we had hoped to achieve and how the GlassFish team (and others) delivered on the promises.

The most anticipated release after the Sun acquisition was probably the delivery of a fully-clustered GlassFish 3.1 in February (see this technical article). Soon after this release, our stats indicated massive uptake, and the follow-up 3.1.1 release aligned with Java 7, another key milestone in the Java world in 2011.

ALT_DESCR

2011 was also the year of Java EE 6 adoption with certifications from WebSphere 8, JBoss 6, Fujitsu Interstage, Apache Geronimo 3, Apache TomEE, and of course WebLogic 12c bringing the list of certified configurations to 12. It was also time to celebrate two years of Java EE 6 and GlassFish and to realize how long a way application servers had come.

Java EE 7-wise, the umbrella JSR was filed (JSR 342), with great progress on JMS 2.0, JAX-RS 2.0, javax.cache, and others, all with transparency. JavaOne was a good opportunity to recap the overall PaaS and platform rationalization direction.

We've stated the cloud and virtualization guiding principles for GlassFish evolution in September. The GlassFish 3.1.2 release is now well on its way and it is very much already possible to start playing with GlassFish 4.0 early bits (for instance to reproduce the JavaOne PaaS Keynote Demo). Finally we've also continued to deliver on portability of applications between GlassFish and WebLogic via even more sharing of components.

Other notable events include the migration of blogs and the project wiki as well as greatly improved Maven support (with Maven Central now hosting way more bits).

On the community side, we had another very successful community gathering and party at JavaOne and were very pleased to welcome an number of new faces in the engineering team. We also enjoyed a number of high-profile users such as espn, parleys, mollom, and more.

One final achievement that came in late in the year is the support of WebSocket in Grizzly. You can browse through a number of additional posts all tagged with frontpage.

Can we all do better in 2012? You bet!

You'll find other Java-related 2011 blogs on java.net as well as on the Java blog.

Wednesday Dec 07, 2011

Lesser-advertised Java EE.next JSRs

As you may have already read here, Java EE 7 (JSR 342) is well on its way with some JSRs having reached the early draft status (e.g. JAX-RS 2.0, JSF 2.2, CDI 1.1, ...).

ALT_DESCR

On the other hand, you may not have heard of the following JSRs that are all candidates for inclusion in the Java EE Platform:
State Management (JSR 350) was recently filed by Oracle to offer a standard API for a state management subsystem (examples of state include HTTPSession and any state associated with CDI scoping annotations).
Batch (JSR 352) was covered here just recently as it has recently passed the Review Ballot.
Concurrency Utilities for Java EE (JSR 236) is building on JSR-166 (java.util.concurrency) to provide a clean abstraction for threaded code in a managed environment. It has been ongoing for several years and should be revived and completed in time for Java EE 7.
Java API for JSON Processing (JSR 353) is a parsing API for manipulating (reading or writing) JSON content. Binding (JAXB-style) is not in the scope of this newly submitted JSR.

The exact list of JSRs that will be part of Java EE 7 is up to the expert group to decide. Arun has more details on the status of each JSR.

Monday Dec 05, 2011

JSR 352 is ...?

Yes, it's the "Batch" JSR and it has recently passed the Review Ballot with 12 YES votes, two NO votes (LJC and Twitter), and two non-votes.

ALT_DESCR

Note this is the first Executive Committee vote since the recent election. Comments on the vote results page indicate the reasons for the NO votes. The JSR now has a green light to form an expert group and get down to technical business.

The public project for the JSR work is at jbatch.java.net.

Thursday Dec 01, 2011

Adopt a JSR, a JUG initiative for you. Yes, you!

Adopt-a-JSR is a recent initiative by multiple JUGs (I believe the ever-active LJC started this) to encourage community participation in the JCP and more specifically in making concrete progress in developing new JSRs.

Some of that is a consequence of the JSR 348/JCP.next increased transparency and early results are very encouraging with serious progress made on the JSR-310 TCK for instance. A recently-added grid should provide and idea of the community and JUG efforts on specific JSRs.

Let's get going Duke

As the program page on java.net says - "It looks great on the CV". In fact I think that resume-wise nothing beats serious contributions to industry-wide standards or open source projects and that's probably true around the world.

Wednesday Nov 23, 2011

Geronimo 3 beta - Another Apache project now compatible with Java EE 6

You probably recall the addition of TomEE and WebSphere CE at JavaOne 2011 to the list of certified Java EE 6 products.

This time, Apache Geronimo 3 beta 1 was released with compatibility with the Java EE 6 full platform and is now listed on the Java EE Compatibility Page in both the Web Profile and Full Platform categories.

Not surprisingly, a good number of the components used in this Geronimo release are similar to those used in the TomEE certification.

Apache Geronimo

We now have 11 compatible Java EE 6 configurations to chose from and expecting more soon.

Tuesday Nov 01, 2011

New and old faces on the JCP executive committees

The results for the JCP 2011 Executive Committee (EC) Election are in.

In the SE/EE committee, Ericsson AB, SAP and Intel are all reelected with ratified seats (Intel's last term was as an open-elected member).

ALT_DESCR

Azul Systems and Twitter (which also happen to be the latest additions to OpenJDK) are the two companies filling the open-elected seats. Leaving the SE/EE committee are VMWare and Werner Keil (Werner actually "moved" to the ME committee).

With More than 23% of eligible members casting votes in this election, that's much more than the 11% seen for the 2011 EC Special Election but probably less than what one could hope for.

Full details for this vote (including results for the ME Executive Committee) are disclosed on this JCP page. The complete Executive Committees are listed on this other page (needs update as of this writing).

Thursday Oct 20, 2011

CDI 1.1 progress - yet another Early Draft

On the last day of JavaOne 2011, JBoss' Pete Muir announced that CDI 1.1 (JSR 346) had reached the early draft stage.

While a hot topic it seems, XML configuration for CDI has not yet made it into the current specification.

ALT_DESCR

Other yet-to-be-addressed features as well as other Java EE 7 areas worth tracking are listed on Pete's blog entry.

Java EE 7 is really under heavy development and bleeding edge connoisseurs are probably getting excited.

Tuesday Oct 18, 2011

JCP.next Final Approval Ballot - We have a go!

As previously explained, JSR 348 is there to change the JCP itself and add transparency to the process.

The results for the Final Approval Ballot are in with 25 YES votes, 2 ABSTAIN votes (Google and Vodafone), one NO vote and 4 non-votes (both Executive Committees were voting). And that's 5 months to complete a JSR from the day it was filed.

ALT_DESCR

Here are two (pseudo) random changes taken from the proposed final draft to give you sense of what will change :

"Attendance at meetings is mandatory. Missing two meetings in a row (whether teleconference or face-to-face meetings) results in loss of future, not yet started, JSR ballot and EC voting privileges."

"The Maintenance Lead must submit to the PMO at least quarterly a list of all implementations that have been certified as compatible and that have been released publicly or commercially. The PMO will publish this information on the JCP website."

For the latter part, Sun and now Oracle has been publishing the list of certified Java EE implementations.

Also, remember that this the first of two JSRs to change the JCP itself (the shorter one too). And in other JCP news, a new voting period has started, closing on October 30th (see list of SE/EE nominees, some really strong ones...).

Update: the JCP blog has more details on the EC ballot.

Monday Oct 17, 2011

javax.cache explained

Another day, another Java EE 7 component making serious progress - javax.cache (aka JCache, JSR 107) is another JSR that has reached the draft status as Greg Luck, the co-spec lead shares in his recent blog post.

The specification defines a CacheManager API which references caches and their entries stored in a map-like collection enhanced with features such as transactions (optional), listeners or statistics.

ALT_DESCR

The resulting API can be used in both Java SE and Java EE and is distributed cache aware. One benefit of having waited so long for this JSR to complete is that we'll get a set of annotations usable in managed environments (Java EE and Spring).

Ehcache will be offering the reference implementation with other implementations planned by Oracle, JBoss, IBM and others.

Greg also has a short video interview coming out of his JavaOne 2011 session in which he explains how simple it will be to move from one implementation to another.