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.


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.


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, ...).


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.


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).


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.


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.


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.


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.

Sunday Oct 16, 2011

JAX-RS 2.0 Progress and Client API

One of the very well attended set of sessions and highly anticipated Java EE 7 technology is JAX-RS 2.0 (JSR 339), a specification that now has an early draft awaiting publication.

Co-spec lead Santiago Pericas-Geertsen has started a series of blogs on important features, starting with the Client API.


As expected, this defines a Client class and a builder pattern for better readability. Make sure you read Santiago's piece to understand what Message Body Writers (or MBWs) are and how configurable this API is meant to be.

Sunday Sep 25, 2011

JavaEE.next's identity JSR

We now have a new JavaEE-related proposed JSR on the block - JSR 351: JavaTM Identity API".

To paraphrase the JSR submission, the goal is to "build on the Java security model to define identity APIs that will be used by applications for access control decisions in a declarative programming style".


The JSR will specify how applications will consume, produce and check attributes such as email address, social security number, bank account number, date of birth, nationality, gender, etc. Disclosure and use of these identity attributes would be under the user's control. Check out the proposal for a sample scenario.

The initial Expert Group is lead by Oracle (Ron Monzillo) and includes IBM, RedHat, SAP AG and the JSR is supported by American Express, Aspect Security, Boeing, Ericsson AB, and OWASP. The goal is to be compatible with Java EE 6 onward, with a final release in early 2013.

Wednesday Sep 14, 2011

JSR 348 passes Public Review Ballot & JCP Elections

JSR 348, the "meta" JSR to change the JCP itself is moving forward nicely and has just passed the Review Ballot.


For the SE/EE Executive Community, the results show 14 YES votes, one Abstain (Google) and one non-vote (VMWare). As always, the comments are worth reading and this is probably one of the votes with the most number of comments.

This is just one stage in the JCP process and if you're a bit lost Joe's recent Pictorial View of a JSR Progressing through the JCP would probably come in handy.

In other JCP news, nominations for the fall 2011 EC Elections open on 30 September. The seats up for voting are those of SAP, Ericsson, VMWare (ratified), Intel and Werner Keil (elected). There will be a JavaOne session dedicated to Meet(ing) the Executive Committee Candidates

Wednesday Aug 24, 2011

Back to school - JCP tabsweep (state management, JCP.next)

If, like TheAquarium, you were out for the past few weeks, you may have missed the following news and links around JCP news.

The draft for Towards a new version of the JavaTM Community Process (JSR 348) is now available with review closing on 12 September 2011. Make sure you read it and voice any concern you may have.

Rapids in small river

Beyond the usual Java EE suspects (see previous posts about Java EE 7 progress), we now have a new comer : Java State Management - JSR 350. This new JSR passed the review ballot with a YES from all voters. Given the aggressive schedule for Java EE 7, it is likely that this new JSR will target Java EE 8 instead, along with other new JSRs that should be filed soon.

Also, if you've missed this in the premiere of the Java Magazine, you can watch an interview of JCP's chair, Patrick Curran.