By Annie Hayflick-Oracle on Oct 29, 2015
Cloud Services for Developers
I sat in today on an engaging session with Java EE expert David Blevins, who is a newly crowned Java Champion for his work in Open Source and Java EE for more than 10 years. As a member of the EJB, CDI, JMS, Java EE Security JSRs, and Java EE 6, 7 and 8 Expert Groups, he’s worked hard to make Java EE as simple, testable and lightweight as Java SE.
The next Java EE 8 edition, due in 2017, will focus on HTML5, cloud enablement, use of the model-view-controller framework and improved security. Another important selling point will be ease of use, which was the theme of much of Blevins's talk.
According to Blevin, the first era of Java EE was XML-driven where we used "tons and tons of deployment descriptors." The second era of Java EE, brought about by Java 5, was annotation-driven and very declarative by nature. With the advent of Java 8 features such as lambdas and method references, "we'll have the opportunity to take a look at all the Java EE APIs again and rewrite them to fundamentally reduce the ceremony we have to deal with when we write applications," he said. "I have some predictions: Java EE will shift from declarative to the programmatic since annotations are very declarative approach. With lambdas and method references, the approach is more to do it all at runtime."
He walked through a code example that highlighted a security example where one EJB was annotated as a Manager and another as Employee. "With lambdas and method references, you'll be able create a Manager EJB and an Employee EJB, and to test and run your code under many different security identities."
The impact of these kinds of capabilities in the new Java EE release means that there will be a shift in emphasis in Java EE programming from the Component-side to the Caller-side and that logic will become more mobile, Blevin concluded.
He also said that Java Community Process is a now an open process, which it wasn't a few years ago, and developers can now have an open say in the Java EE specification in JSR 366.
"If you don't vote, don't complain."