Devoxx 2018: Java EE 8+ available now!

Oracle heeft in 2017 samen met andere Java EE leiders aangekondigd dat Java EE zal worden open sourced door de Eclipse Foundation onder de naam Jakarta EE. Directeur van de Eclipse Foundation in Europe, Gaël Blondelle, wist op Devoxx te vertellen dat er goede progressie werd gemaakt met de overgang, maar dat de eerste versie van Jakarta EE pas in de eerste helft van 2019 beschikbaar zal komen. Hierdoor valt te verwachten dat vernieuwingen in Jakarta EE op het gebied van microservices niet voor eind 2019 beschikbaar komen.
Eclipse MicroProfile
Binnen de Eclipse Foundation is een project actief aan de weg aan het timmeren op het gebied van microservices, Eclipse MicroProfile. Dit project is gebaseerd op een subset van de JEE specificaties die minimaal nodig zijn om een microservice te bouwen, te weten:
- JAX-RS, voor RESTful endpoints
- CDI, voor context en dependency injection
- JSON-P, voor het processen van JSON
- JSON-B, JSON binding
Daarnaast heeft dit project ook nog een aantal nieuwe specificaties gedefinieerd:
- Config, configureren van microservices
- Fault Tolerance, scheiding van execution logic van business logic
- Health Check, state van de microservice
- JWT Authentication, role based access control over microservices heen
- Metrics, monitoring data
- OpenAPI, uniforme Java API
- OpenTracing, tracen van calls over microservices heen
- Rest Client, client voor type safe rest calls
De volledige specificaties
Bij het ontwikkelen van microservices zijn er een aantal JEE specificaties die worden gemist in het MicroProfile o.a.:
- EJB, Enterprise JavaBeans
- JTA, Java Transaction API
- JPA, Java Persistence API
- Bean Validation
Java EE 8+
Diverse ‘traditionele’ leveranciers van applicatieservers zijn ook actief betrokken bij MicroProfile en hebben beide specificaties in recente releases van hun applicatieservers ter beschikking gesteld. Dit zijn o.a.:
- RedHat, WildFly
- IBM, WebSphere Liberty
- Payara Services, Payara
- Tomitribe, Apache TomEE
Het wordt hierdoor mogelijk microservices te bouwen die beide specificaties combineren, zo ontstaat er dus een soort van Java EE 8+.
En het mooiste van dit alles … het is available now!