Raw notes from Linda DeMichiel's Java EE 8 talk.

What was in EE 7: Actually a very action packed release, with the usual themes: simplicity, platform cohesion, embracing contemporary standards.

EE8: Admit the impact of the hiatus. The original plan had to be scaled back from 12 to 9 JSRs. Really not a big scale back.

Two net new JSRs: Security and JSON-B. Revisions for Servlet, JSF, JSON-P, JAX-RS.

JSON-P. JSON-Pointer: String syntax for referencing into a JSON document. RFC-6901. Would be nice if there was EL integration. JSON Patch: Ability to mutate a JSON document. RFC-6902. This has a builder API. JSON-Merge Patch: Conditionally apply the patch. RFC-7386. Also includes seamless integration with Java SE 8 Lambda and Strings.

JSON-B. Like JAX-B, but for JSON. This is the missing piece for JSON in standard Java. JsonbBuilder is the client entry point. Jsonb the thing you actually manipulate. Allows you to annotate your Java Pojo to control how it is mapped to JSON. The JsonBConfig allows you to do this control. The RI is called Yasson.

JAX-RS. New features: Reactive Client API, Server Sent Events, NIO. I have more on this at a previous post. Linda's talk had more structure on Server Sent Events. I am glad she emphasized the value JAX-RS brings in sending SSE to both client and server when doing REST.

Servlet. But first set the context with some plain content on HTTP/2. When talking about the binary framing, she mentioned that frames were self describing, which was a nice observation.

JSF. A mature technology. An enormous number of community requested fixes. She did address why we are continuing JSF while we are not continuing MVC. This was nice to hear.

CDI 2.0. Mostly about how to use CDI in Java SE environments, outside of Java SE. This is hugely important for fat-jar style Microservices. Some enhancements to CDI events. In 1.1, events are invoked synchronously, without regard for priority. 2.0 allows prioritization and ordering. Adds async events: event.fireAsync() and @ObserveAsync.

BeanValidation 2.0. Continuing the theme with JSF, adds support for a number of Java SE 8 features. Adds some new constraints. Add ability to apply constraints on insertion into Map.

Security 1.0. Three new APIs SecurityContext, HttpAuthenticationMechanism, IdentityStore. The first is under debate about whether or note the first is actually necessary. SecurityContext is intended to supercede APIs in several of the other EE technologies. I like the idea. HttpAuthenticationMechanism, modeled on JASPIC, and JASPIC is intended to delegate to this. It is used to authenticate callers of web applications. IdentityStore has methods for authentication and authorization.

Summary: Target release date of this summer!