Livrée récemment, la plate-forme Jakarta EE 10 est très axée sur le développement d'applications nativement cloud, notamment avec l’ajout de spécifications comme Jakarta EE 10 Platform, Web Profile et d’un nouveau Core Profile. Une implémentation compatible de Jakarta EE 10 est fournie par le serveur d'applications Eclipse GlassFish 7. D'autres sont attendues prochainement de la part de fournisseurs comme IBM. Selon Eclipse, la grande innovation de Jakarta EE 10, téléchargeable sur le site Web du projet, réside dans la possibilité de créer des applications Java modernes, simplifiées et légères pour le cloud, tout en fournissant une base de référence pour les technologies Java d'entreprise en évolution.

Les principales fonctionnalités de Jakarta 10 EE

La plateforme comprend plusieurs annonces fonctionnelles. Parmi elles, il y a :

- Un Core Profile : il fournit un sous-ensemble de spécifications Jakarta EE ciblant des runtimes plus petits adaptés au développement de microservices avec des runtimes légers, notamment une spécification CDI-Lite pour la création d'applications Jakarta EE légères. CDI-Lite offre un modèle de programmation non réflexive qui permet de compiler en natif grâce à des extensions compatibles avec la build. Core Profile est le premier nouveau profil ajouté à Java entreprise depuis plus de dix ans.

- Développement d'applications sur Java SE 10 et Java SE 17.

- Simplification du développement d'applications grâce à une utilisation plus large des annotations, ce qui facilite la création d'applications modularisées et améliore l'intégration entre les API de composants.

- Prise en charge du système de modules, introduit dans Java SE 9 et pris en charge dans Java SE 11.

Plus de 20 spécifications de composants sont disponibles via des mises à jour de versions de certaines API, comme Jakarta Contexts and Dependency Injection (CDI) 4.0, Jakarta RESTful Web Services 3.1, et Jakarta Security 3.0, supportant OpenID Connect, et de nouvelles fonctions dans les requêtes Jakarta Persistence.

Une fusion d’API

Jakarta EE 10 est basé sur Java SE 17. Si Java standard comprend la JVM et les bibliothèques de base, Jakarta EE ajoute des API standards utiles pour la création d'applications d'entreprise, avec des capacités supplémentaires en termes de sécurité et de persistance. Selon Red Hat, qui a participé au développement de Jakarta EE 10, Enterprise Java revient à utiliser Java pour le développement d'applications dans les logiciels de niveau entreprise.

Elle fusionne un ensemble d'API et de serveurs d'applications qui mettent en œuvre ces API. Enterprise Java est utilisé dans les secteurs de l'administration, des télécommunications, des systèmes d'information bancaires, de la comptabilité et du commerce électronique. Parmi les autres contributeurs à Jakarta EE 10 on trouve des entreprises comme IBM, Oracle, Fujitsu, Payara et Tomitribe. Eclipse a repris le développement de Java entreprise, autrefois appelé Java EE (Enterprise Edition), après qu'Oracle s'en est débarrassé en 2017. La génération précédente de Jakarta EE, la version 9, a fait ses débuts en décembre 2020, avec un nouvel espace de noms.

Les attentes des développeurs sondées

Outre la publication de Jakarta EE 10, Eclipse a également annoncé la semaine dernière les résultats de l’enquête « 2022 Jakarta EE Developer Survey » réalisée entre le 9 et le 6 mai 2022 à laquelle ont répondu 1439 développeurs Java entreprise.

Selon les conclusions de cette enquête :

- Plus de 59 % des personnes interrogées ont déjà migré vers Jakarta EE ou prévoient de le faire dans les six à 24 prochains mois.

- L'intégration native avec Kubernetes, une meilleure prise en charge des micro-services et un support plus rapide de la part des fournisseurs existants de Java EE, Jakarta EE et du cloud sont parmi les principales priorités de la communauté Jakarta EE.

- 19 % des répondants déclarent que plus de 80 % de leurs systèmes Java sont actuellement déployés dans le cloud.

- Eclipse, JetBrains IntelliJ IDEA et Microsoft Visual Studio sont les principaux IDE utilisés pour développer des applications Jakarta EE.