As some of you are aware, the Java EE Guardians and DZone jointly conducted a community survey to help determine Java EE 8 features prior to JavaOne 2016. You may also be aware that we shared the results of that survey with Oracle before the details of the renewed Java EE 8 scope was announced. Now is a great time to start analyzing those results a bit more. I’ve already done a high level summary of the results. I’ve also done a deeper dive into the responses for HTTP/2 and Servlet 4 support in Java EE 8. In this entry I’ll take a look at the responses for Java SE 8 alignment in Java EE 8.
Here is how the survey phrased the question:
“Java SE 8 brings a bounty of improvements – lambda expressions, the new date/time API, completable futures, streams and the fork/join common pool. Many of these features can be used with Java EE 7, but there remains many important missing pieces.
In particular Java EE APIs like JPA, JMS, JSF and JAX-RS need to be adapted to make full use of repeatable annotations, the date/time API and completable futures. In addition the fork/join common pool and streams currently cannot be safely used in Java EE environments.
How important is it to fully align Java EE with Java SE 8?”.
The following graphic shows how the community responded. Clearly developers think aligning Java EE 8 with Java SE 8 is extremely important. 66% said it is very important while 25% said it is very important. A mere 2% said it is not important. If you want to learn a bit more about Java SE 8 and Java EE, please do feel free to check out my slide deck on the topic. The deck is focused on how Java SE 8 can already be utilized in Java EE but also highlights clear gaps that can only be addressed through changes in Java EE 8.
Here are some representative comments from participants in the order that people filled in the survey: “Java SE 8 APIs are great”, “I’ve always believed that keeping EE on track with the corresponding SE release should be a very important element of every version”, “The changes in SE 8 are a huge improvement for the language. EE 8 users should also benefit from these improvements”, “EE should always be aligned with SE”, “Java SE 8 brought the next level of language features to Java and everyone must take advantage of it”, “This is the most important thing EE 8 needs to do.”.
The initial Java EE 8 charter clearly mentions Java SE 8 alignment as a major theme. Historically Java EE has always played a key part in bringing Java SE features into the enterprise. A particularly salient example was groundbreaking annotations support in Java EE 5 and EJB 3/JPA. Java EE 5 was the very first mainstream technology to clearly demonstrate how annotations can be used highly effectively as framework meta-data.
Somewhat surprisingly Oracle’s own Java EE 8/9 survey did not directly include any questions on Java SE 8 alignment and they have not specifically addressed the issue either. In practice at least some of the most obvious Java SE 8 alignment work seems to be moving forward for Java EE platform level common annotations, CDI, Bean Validation, JPA, JAX-RS and JSF. I have already asked for a more coordinated plan and will follow-up soon. If this is an important issue for you, please chime into the linked thread – it’s very easy to do.
Please do stay tuned as I further analyze specific topics in the survey. In addition to my analysis, I would encourage you to look at these survey results yourself and get involved in Java EE 8. You can certainly do so by becoming a part of the Java EE Guardians.