A quick glance at Java EE 8
The past September was a busy month, the most exciting news is Java 9 reaches GA, as well as the release of the long-waiting Java EE 8 and Glassfish v5. For more details, please read the official announcement Java EE 8 and GlassFish 5.0 Released! from Oracle blog portal.
A brief intro of Java EE 8
The world changes so quickly, after Java EE 7 was born in 2013, cloud service and microservice became more and more popular. Java EE had to embrace the changes, so a lot of perspectives are proposed to be brought into Java EE 8, including Configuration, Load Balance, Circuit breaker, Service Registry and Discovery, programnatic Security API, MVC etc.
But the road to Java EE 8 is not straight, most of proposed specfications are moved out of Java EE 8 finally. And in a long period, the development of some specifications were paused for some reasons.
At the same time, IBM, Redhat and other Java communities launched a new MicroProfile which targets ligthweight Java EE and cloud computing service. Now it is a project under Eclipse foundation.
Although the Java EE 8 way is a little hard, finally it is released to the public.
Java EE 8 should be the last version released by Oracle(and Sun).
What is new in Java EE 8
Like me, some developers are a little disappointed about Java EE 8(JSR 366) , even complain it comes a little late. But no doubt there are still lots of new features and improvements which are valuable to update ourselves.
There tow new specifications were introduced in Java EE 8.
- JSR 375 – Java EE Security API 1.0
- JSR 367 – The Java API for JSON Binding (JSON-B) 1.0
Some specifications have been updated to align with Java 8 and CDI or involved as a maintainance release.
- JSR 365 – Contexts and Dependency Injection (CDI) 2.0
- JSR 369 – Java Servlet 4.0
- JSR 370 – Java API for RESTful Web Services (JAX-RS) 2.1
- JSR 372 – JavaServer Faces (JSF) 2.3
- JSR 374 – Java API for JSON Processing (JSON-P)1.1
- JSR 380 – Bean Validation 2.0
- JSR 250 – Common Annotations 1.3
- JSR 338 – Java Persistence 2.2
- JSR 356 – Java API for WebSocket 1.1
- JSR 919 – JavaMail 1.6
The other specifications such as JMS, Batch have no updates in this version.
Unfortunately, MVC(JSR 371) is vetoed in the final stage, but it is still existed as a community based specification. And JCache(JSR 107) which had missed the last train of Java EE 7, and also lost its attractiveness in Java EE 8.
I created a Java EE 8 resource checklist, welcome to contribute.