adam bien's blog

The Ingredients and Roadmap of Rebooted Java EE 8 and 9 📎

After one year vacations Java EE 8 was rebooted and is going to be optimised to run on hypervisors and / or container environments. Java EE 8 will focus on the following areas below -- it is a proposal and very likely to change in the JCP process:

Programming Model
  1. Extend for reactive programming
  2. Unified event model
  3. Event messaging API
  4. JAX-RS, HTTP/2, Lambda, JSON-B, (...)
Packaging
  1. Package applications, runtimes into services
  2. Standalone immutable executable binary
  3. Multi-artifact archives
Key Value/Doc Store
  1. Persistence and query interface for key value and document DB
Eventual Consistency
  1. Automatically event out changes to observed data structures
Serverless
  1. New spec - interfaces, packaging format, manifest
  2. Ephemeral instantiation
Configuration
  1. Externalize configuration
  2. Unified API for accessing configuration
Multitenancy
  1. Increased density
  2. Tenant-aware routing and deployment
State
  1. API to store externalized state
Resiliency
  1. Extension to support client-side circuit breakers
  2. Resilient commands
  3. Standardize on client-side format for reporting health
Security
  1. Secret management
  2. OAuth
  3. OpenID

The choices are pragmatic and will make Java EE an even more productive platform. I'm only missing a slightly extended and modernized "Concurrency Utilities for Java EE" (jcp.org/ja/jsr/detail?id=236). Particularly the ThreadPool configuration and Backpressure could be easily standardized just by agreeing on features from https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html. Particularly useful would be the integration of the statistics (e.g. Bulkheads) with the Health Check API.

Also a standardized management API (not proposed) would simplify the creation of application images through a unified API.

Java EE 8 and 9 will come at light speed to an application server vendor near you. Java EE 8 is expected to be delivered in 2017 and Java EE 9 in 2018.

Oracle is listening now, take the chance and participate at the survey (takes a few mins): glassfish.org/survey

See you at Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.