Monday Sep 22, 2014

Meet the Java EE 8 Experts at JavaOne

During JavaOne, you will have many occasions to discuss with different Java EE Specification Leads or other key Java EE staff:

This year, we have also arranged a Meet the Experts area. It is a designated space in the JavaHub where most of the Specification Leads will be present at a dedicated time (see schedule below). Oracle's Java EE Evangelists and Heather VanCura from the JCP will also be present. It will be the ideal place to carry on informal conversations about Java EE8. Also, keep in mind that the various Expert Groups are being formed so it is also the perfect time to ask what it takes to join an EG!

Monday, September 29 (Dedicated pavilion hours: 1:30-2:30 PM)

10-11 AM  Bruno Borges  Adopt-a-JSR for Java EE 8, any Java EE 8 technologies
11-12 PM  Martin Grebac  JSON-B
12-1 PM  Kin-man Chung  JSON-P and EL
1-2 PM

 Marek Potociar

 Pavel Bucek 

 JAX-RS 2.1

 WebSocket 1.1

2-3 PM  Linda DeMichiel  Java EE 8
4-5 PM  Reza Rahman  Adopt-a-JSR for Java EE 8, any Java EE 8 technologies

Tuesday, September 30 (Dedicated pavilion hours: 1:30-2:30 PM)

10-11 AM  Heather VanCura  JCP/JCP.Next (JSR 364), Adopt-a-JSR
11-12 PM  Martin Mares  Java EE Management
12-1 PM  Nigel Deakin  JMS 2.1
1-2 PM  Reza Rahman  Adopt-a-JSR for Java EE 8, any Java EE 8 technologies
2-3 PM  Ed Burns, Shing Wai Chan  JSF 2.3 and Servlets 4.0
4-5 PM  Marek Potociar  JAX-RS 2.1

Wednesday, October 1 (Dedicated pavilion hours: 2:00-3:00 PM)

12-1 PM  Brian Oliver  JCache
1-2 PM  David Delabassée  Adopt-a-JSR for Java EE 8, any Java EE 8 technologies
2-3 PM  Manfred Riem  MVC 1.0 and JSF 2.3

Friday Sep 05, 2014

JCP News (August)

Welcome to the third instalment of the JCP news focused on the server side. July was busy but August has been busy as well!

A lot of things has happened around Java EE 8 during August!

JSR 365: Contexts and Dependency Injection for Java 2.0 has passed has passed the EC JSR Approval Ballot. That means that the EG can now be formed and start to work on the specification!

In addition, the following new JSRs have been submitted for review (review closes on Sept. 8), they should then go to the EC for JSR Approval Ballot (Sept. 9-22):

  • JSR 366: Java Platform, Enterprise Edition 8 (Java EE 8)
  • JSR 367: Java API for JSON Binding (JSON-B)
  • JSR 368: Java Message Service 2.1
  • JSR 369: Java Servlet 4.0
  • JSR 370: Java API for RESTful Web Services (JAX-RS 2.1)
  • JSR 371: Model-View-Controller (MVC 1.0)
  • JSR 372: JavaServer Faces (JSF 2.3)

On the Java EE 7 front, 3 APIs are going through the Maintenance Release process:

And finally some quick updates on the JCP itself to conclude this August overview:

  • C2B2 has joined the JCP as a Corporate Member.  
  • JSR 364 (Broadening JCP Membership) has completed the Early Draft Review, a Public Review should be submitted in September.
  • The JCP EC Nominations will be open in September so if you have an interest in participating in the JCP EC, read this entry and get yourself prepared.
  • The nominations of the 12th Annual JCP Awards have been announced, the winners will be announced during the JCP Party at JavaOne (see here). 

Thursday Jun 12, 2014

Java EE 7 turns one today!

"Tell me and I forget. Teach me and I remember. Involve me and I learn."
Today marks the first year anniversary of Java EE 7. The JSR 342 specification was finalised on May 28, 2013 with the official launch taking place on June 12, 2013 (original press release).

As of today, there are already 3 Java EE 7 compatible Application Servers, coming from different 'vendors' (Oracle, TmaxSoft and Red Hat). Two of those Java EE 7 Application Servers are free and open source. We expect the list of Java EE 7 compatible Application Servers to grow over the coming months.

Source: RebelLabs - 'Java Tools and Technologies Landscape for 2014'

According to a recent independent survey, one third of the Java EE users who participated in that survey is already using Java EE 7. This is a good sign but it also means that a lot of people are not yet on Java EE 7. So if you haven't yet embarked on Java EE 7, now is really the time to do so!

There are various ways to learn Java EE 7, in no particular order ...
  • Continue to read The Aquarium. Through this blog, we are relaying Java EE news but we are also doing our best to highlight relevant technical contents such as articles, community tutorials, etc.
  • Watch the GlassFish YouTube channel. Amongst others, it contains the different videos of the Java EE 7 launch, those videos will give you good technical update on Java EE and its different components specifications (JMS 2.0, JAX-RS 2.0, EJB 3.2, etc.)
  • Take a formal training. Oracle University is starting to roll-out Java EE 7 trainings like the 'Java EE 7: New Features' class. 
  • Attend conferences and JUGs sessions. On that note, we have spent a lot of time to create a strong JavaOne 'Server-Side Java' track. It's still possible to benefit from the early bird JavaOne pricing but don't wait too much!
  • Read books. There are more than 25 (!) books related to Java EE 7 or to one of the Java EE 7 component specification. 

There are many more ways to learn Java EE but if I have to suggest one and only one way, I would recommend the Java EE 7 Tutorial. It's exhaustive and clear, it's free and it continues to evolve.

And finally as the introductory quote suggest, participation is key to learning. Participate in JUGs,  participate in Adopt-a-JSR, get involved in the different open source communities evolving around Java EE, participate in the JCP... in one word, participate!

Wednesday Jun 04, 2014

Java EE 8 update

Planning for Java EE 8 is now well underway. As you know, a few weeks ago, we conducted a three part Java EE 8 Community Survey (you can find the final summary here). The data gathered have been very influential for the next steps. You can now expect over the coming weeks and months to see updates on the various specifications that compose the Java EE platform.

Some Specification Leads are busy gathering additional feedback regarding what they should focus their efforts on (e.g. CDI 2 survey). Other Specification Leads have already publicly exposed what they think should be one of the focus for the evolution of the specification they lead.  For example, adding Server-Sent Events (SSE) support in JAX-RS is being discussed here and adding MVC support is being discussed here. Please remember that the fact we are now discussing any feature does not ensure that it will be included in the proposal, nor in any particular update to Java EE. We can expect additional enhancements, changes and evolution as we get closer to the finalization of the different specifications... and there is still a long way to go with these specification proposals!

Linda DeMichiel, Java EE Co-Specification Lead, has recently posted a draft proposal for the Java EE 8 Platform specification. Linda's goal is to recruit people and companies supporting this proposal before submitting it to the JCP.

This draft proposal is very interesting reading as it contains relevant information on the plans for Java EE 8 such as :

  • The themes:
    • Support for the latest web standards (eg. HTTP 2.0) 
    • Continue to work on ease of development
    • Improve the infrastructure for cloud support
    • Alignment with Java SE 8
  • New JSRs to be added to the platform:
    • J-Cache
    • Java API for JSON Binding
    • Java Configuration
  • Plans for the Web Profile
  • Plans on technologies to prune in Java EE 8, ...

So if you haven't done it yet, I really encourage you to read the Java EE 8 draft proposal!

Our goal for the Java EE 8 specification is for it to be finalized in the second half of 2016. It is important to note that we are in the early days of Java EE 8 and at this stage everything (themes, content, timing, etc.) is preliminary. Everything still needs to be discussed, challenged and agreed within the different Java Community Process (JCP) Experts Groups (EGs). Some EGs that still need to be formed! It could also means that the road-map will have to be adjusted to follow the progress being made in the different EGs.

Cameron Purdy, Vice President of Development at Oracle responsible for the Java EE platform, recently shared the Java EE 8 road-map at Java Day Tokyo 2014. You can view the keynote here.

This is also a good occasion to remind you that participation within those upcoming JCP Experts Groups is encouraged. Contributing in an EG is an effective lever to influence what Java EE 8 will become! Finally, as things get more concrete, we will share details on how to engage in the different Java EE 8 related Adopt-a-JSR initiatives, another way to contribute. You can also read other posts related to Java EE 8, here at The Aquarium blog. Just look for articles with the 'javaee8' tag.

Note : this post is also available in Japanese here.

Wednesday May 28, 2014

Adding SSE support in Java EE 8

SSE (Server-Sent Event) is a standard mechanism used to push, over HTTP, server notifications to clients.  SSE is often compared to WebSocket as they are both supported in HTML 5 and they both provide the server a way to push information to their clients but they are different too! See here for some of the pros and cons of using one or the other.

For REST application, SSE can be quite complementary as it offers an effective solution for a one-way publish-subscribe model, i.e. a REST client can 'subscribe' and get SSE based notifications from a REST endpoint. As a matter of fact, Jersey (JAX-RS Reference Implementation) already support SSE since quite some time (see the Jersey documentation for more details).

There might also be some cases where one might want to use SSE directly from the Servlet API. Sending SSE notifications using the Servlet API is relatively straight forward. To give you an idea, check here for 2 SSE examples based on the Servlet 3.1 API. 

We are thinking about adding SSE support in Java EE 8 but the question is where as there are several options, in the platform, where SSE could potentially be supported:
  • the Servlet API
  • the WebSocket API
  • JAX-RS
  • or even having a dedicated SSE API, and thus a dedicated JSR too!
Santiago Pericas-Geertsen (JAX-RS Co-Spec Lead) conducted an initial investigation around that question. You can find the arguments for the different options and Santiago's findings here.

So at this stage JAX-RS seems to be a good choice to support SSE in Java EE. This will obviously be discussed in the respective JCP Expert Groups but what is your opinion on this question?

Thursday Mar 13, 2014

Participate in the Future of Java

"The best way to predict the future is to invent it." (Alan Kay)

Sometime, some people tends to overlook a critical element of the Java ecosystem, i.e. the Java Community Process. The JCP is the mechanism for developing standard technical specifications for Java technology. The JCP is clearly one of the key pillar of the whole Java ecosystem.

Heather VanCura who manages the JCP Program Office has recently done a presentation at the Israel JUG. Heather's slide deck (see here) is really a useful ressource as it answers a lot of JCP related questions, it's almost a "FAQ on slides".

In her slides, Heather addresses questions such as :

  • What is the Executive Committee? How it operates?
  • The different levels of participation
  • The different roles within the JCP
  • The different deliverables of an Expert Group
  • What has the JCP done to be as open as possible?
  • How the JCP is evolving ("")?
  • ...

And more importantly, it also explain why you should get involved in the JCP. Being involved in the JCP, at any level, allows anyone to define the future of Java!

Monday Dec 09, 2013

We need your help! Java EE 8 Survey - Part 1

As we start to plan for the next revision of the Java EE Platform (Java EE 8), we would like to get input from the community on the relative importance of some of the features that we might add.

Please participate in the Java EE 8 features survey to let your voice be heard and help us prepare the future of Java EE, it shouldn't take you more than a few minutes! 

This is the first part of a two-part survey. We'll be announcing part 2 in the beginning of the new year. So again, if you want to help shaping the future of Java EE, please participate in the survey.

Thursday Oct 17, 2013

How You Helped Shape Java EE 7...

For many of us working with the JCP for years, the commitment to transparency and openness is very clear. For others, perhaps the most visible sign to date of this high regard for grassroots level input is a survey on Java EE 7 gathered a few months ago. The survey was designed to get open feedback on a number of critical issues central to the Java EE 7 umbrella specification including what APIs to include in the standard. The survey was highly successful with a large number of high quality responses.

With Java EE 7 under our belt and the horizons for Java EE 8 emerging, this is a good time to thank everyone that took the survey once again for their thoughts and let you know what the impact of your voice actually was. I've posted the details on my personal blog. I hope you are encouraged by how your input to the survey helped shape Java EE 7 and continues to shape Java EE 8. Maybe now is the time for you to get more involved :-)?

Wednesday Oct 09, 2013

Using NoSQL with EclipseLink and JPA?

NoSQL is obviously a hot topic in the enterprise these days, at least at the water cooler if not in the production data center. The momentum is such that despite being seen as a stalwart of relational databases, Oracle too has entered the NoSQL ecosystem with Oracle NoSQL. Naturally, the question of how to use NoSQL databases in Java EE applications (specifically existing Java EE 5 and Java EE 6 applications) comes up all too often. As it so turns out there are a number of very interesting initiatives out there to radically simplify the usage of NoSQL databases in Java EE applications by creating JPA based facades over them (strictly speaking, JPA as it stands today is not intended to support NoSQL from a purely standards standpoint). Such efforts include one from non other than the team behind the Oracle JPA reference implementation EclipseLink. In a code driven blog post, Huseyin Akdogan demonstrates how to use MongoDB using EclipseLink NoSQL. You are also welcome to check out my own slide deck covering using NoSQL databases in Java EE with or without a JPA flavored API (using just plain CDI):

Interestingly, NoSQL support featured quite prominently in the results of a survey around JCP standards put together by the London Java Community (LJC). It would be interesting to hear your thoughts as well.

Robert Greene, John Bracken and Shaun Smith held both a technical session titled "Building Oracle NoSQL Database Applications with EclipseLink" and a BOF titled "Java Persistence for NoSQL" at JavaOne 2013 on this topic. Stay tuned to for the video recordings of the sessions.

Wednesday Jun 12, 2013

Fifteen JavaEE 7 APIs Featured in the Java Spotlight Podcast

JavaEE 7 has been officially released and the Java Spotlight Podcast has been supporting this major release by featuring almost every API change, both major and minor, for the last 11 months. There are fifteen Java Spotlight Podcast feature interviews with the JCP specification leads from Oracle, Red Hat, and IBM in a relaxed question and answer format.

[Read More]

Monday May 13, 2013

Congratulations JCP Star Specification Leads!

Please join me in congratulating the 2012 JCP star specification leads Pete Muir of Red Hat (lead for CDI 1.1), Santiago Pericas-Geertsen of Oracle (co lead for JAX-RS 2) and Marek Potociar of Oracle (co lead for JAX-RS 2). Leading a non-trivial group of often opinionated, very intelligent people to achieve meaningful consensus codified into a long-lasting standard is an enormously hard task. Doing that successfully and gracefully takes a special kind of individual. The star specification lead program is a very open way of giving some measure of recognition to such efforts.

You can find out a bit more about the program and this year's winners on the JCP site.

Friday Mar 08, 2013

Java EE Transparent Enough?

Grassroots level community participation is key to the success of any open standard - Java EE is certainly no exception. Realizing this fact, Oracle (and Sun before it) has done quite a bit to improve transparency through the ongoing process of JCP reform. The improvements are pretty clear to those of us working with the JCP for a number of years, especially as independents. The changes are not necessarily obvious to folks new or unfamiliar with the JCP however. In fact, many still seem to hold some pretty dubious views on the JCP.

My colleague Arun Gupta recently wrote a very insightful blog on this topic titled Transparency and Community Participation in Java EE 7. It's definitely a worthwhile read and a great place to start if you are curious about the JCP or are interested in participating yourself. In the blog entry, Arun discusses some of the crucial changes in JCP 2.8, how Java EE 7 JSRs have met and exceeded the transparency requirements, including some hard data on improved community participation as well as the outstanding continued success of initiatives like Adopt-a-JSR via JUGs worldwide.

Friday Feb 22, 2013

Java EE 7 Schema Namespace Moving to

The schema namespace for Java EE 7 APIs are moving from to now perhaps a more fitting You are encouraged to take a look at the latest Java EE 7 draft schemas at: (it is still a work in progress since as you know, Java EE 7 has not been finalized yet). Some of the updated schemas include:

  • application_7.xsd
  • application-client_7.xsd
  • connector_1_7.xsd
  • ejb-jar_3_2.xsd
  • javaee_7.xsd
  • jsp_2_3.xsd
  • javaee_web_services_1_4.xsd
  • javaee_web_services_client_1_4.xsd
  • web-app_3_1.xsd
  • web-common_3_1.xsd
  • web-fragment_3_1.xsd
  • web-facelettaglibrary_2_2.xsd
  • web-facesconfig_2_2.xsd

Independent consultant, ardent Java EE advocate and long-time JCP expert Antonio Goncalves had this to say about the change - "technically changing a namespace is not difficult, so this is not a major Java EE 7 technical update. But it's a symbol. For many years we were wondering what would happen to namespaces. Most of us thought it would be renamed to But no, it went back to where it originally belonged, to the JCP. Lately the JCP has moved towards greater transparency (i.e. and having the JCP namespaces strenghens this move."

Note, not all API namespaces will be updated right away since some APIs are not changing in Java EE 7. For example, JAX-WS will likely not be updated. All the older namespaces will continue to be maintained for backwards compatibility.

Now is the time to share your views. Here is the relevant EG discussion:

Friday Feb 08, 2013

Adopt-a-JSR Follow-up Online Meeting

As you might be aware, the Adopt-a-JSR program was started by the London Java Community and SouJava to encourage more grassroots level participation in the JCP. The idea is for developers to closely engage with a JSR they are interested in through their own JUG. On January 18th there was a pretty sucessful initial online call explaining the details of the program. There were over 40 JUG leaders/members on the call from around the world.

The folks behind the Adopt-a-JSR program are now hosting a follow-up online meetup on February 27th. Anyone can join the meetup to learn about the current JUG Adopt-a-JSR use cases, new developments and provide feedback. Martijn Verberg from the LJC, Bruno Souza from SouJava, Arun Gupta from the Java EE/GlassFish team and Heather VanCura from the JCP program office will be leading the meetup.

Here are the details for the WebEx:

Topic: Adopt-a-JSR
Date: Wednesday, February 27th
Time: 9:00 AM, Pacific Standard Time (San Francisco, GMT-08:00)
WebExMeeting Number: 809 004 757
WebExMeeting Password: 23678

Here are the audio conference details:

Call: +1 (866) 682-4770 (US, toll free) or +1 (408) 774-4073 (US, local)
Conference code: 945-4597
Security code: 23678 ("adopt" on your phone handset)
* For global access numbers see

Hope to see you there!

If you happen to miss it, no worries - recordings of the meetup and associated materials will be posted on the JCP multimedia page again (check out the slide deck and recording from the January 18th meetup).

Tuesday Jan 29, 2013

Adopt-a-JSR Online Meeting A Success

As you may be aware, the Adopt-a-JSR online meeting was held on January 18. The meeting was led by Bruno Souza from SouJava, Martijn Verberg from the London Java Community, Arun Gupta from the GlassFish/Java EE team and Heather VanCura from the JCP. Heather opened the call with an overview & introductions, Martijn and Bruno shared the program details and encouraged JUG members to get more involved in adopting JSRs and Arun provided an update on the Java EE 7 JSRs being adopted, along with some very exciting use cases from JUG Chennai and BeJUG.

The meeting was a success with 40 Java User Group participants from all over the world. There will be a follow up meeting scheduled at the end of February, so stay tuned.

The recording and slides from the meeting are available on the Multimedia page.