La Fondation Eclipse prévoit de livrer mi-2020 une version de Java Entreprise Jakarta EE 9 avec l’espace de noms jakarta.*. L'un des principaux objectifs de cette version, sans fonctionnalités majeures, est de faciliter l'entrée de nouveaux fournisseurs et de nouvelles implémentations. Considérée essentiellement comme une version de tooling, la plate-forme Jakarta EE 9 doit servir de cible stable aux développeurs pour tester la migration vers le prochain espace de noms. Choisie en 2017 par Oracle pour poursuivre le développement de Java Entreprise, la Fondation Eclipse n’a pas réussi à obtenir la permission d'Oracle pour faire évoluer les spécifications sous l'ancien espace de noms javax. Jakarta EE 9 doit aussi permettre de rendre la version rapidement disponible en tant que plate-forme d'innovation.
Selon Mike Milinkovich, directeur exécutif d'Eclipse, Jakarta EE 9 représente un « point d'inflexion majeur » dans la plate-forme. La migration de toutes les API de spécification vers l'espace de noms jakarta et la suppression des spécifications non désirées et dépréciées comptent parmi les objectifs clefs du projet de lancement Certaines spécifications bénéficieront d’améliorations mineures, mais la dernière version ne comprendra aucune nouvelle spécification, à l'exception des spécifications conservées de Java SE (Standard Edition) 8. Jakarta EE 9 s’enrichit également du support de Java SE 11. Jakarta EE doit servir de base à l'innovation : les projets de spécifications Jakarta EE pourront l’utiliser pour piloter les prochaines fonctionnalités de Jakarta EE 10 et au-delà.
Aucune garantie de rétrocompatibilité avec Jakarta EE 8
D’après le projet de lancement de Jakarta EE 9, cette version n'imposera aucune exigence de rétrocompatibilité avec Jakarta EE 8, livrée en septembre dernier. Ce choix est conforme à l'objectif de la Fondation Eclipse qui veut permettre aux nouvelles implémentations d'entrer dans l'écosystème. La Fondation pense que de nombreux outils et produits offriront une rétrocompatibilité et des solutions de migration pour les anciennes applications afin qu'elles s'exécutent sur Jakarta EE 9.
Spécifications de Jakarta EE 9
Pour être incluses dans Jakarta EE 9, les spécifications doivent faire passer le nommage des paquets d'API du paquet javax de premier niveau vers le paquet jakarta. Les spécifications pour Jakarta EE 9 pourraient être livrées sous forme de groupes appelés « waves ». Les spécifications existantes incluses dans Jakarta EE 9 comprennent :
- Annotations Jakarta
- Authentification Jakarta
- Autorisation Jakarta
- Jakarta Batch
- Jakarta Bean Validation
- Jakarta Concurrency
- Jakarta Connectors
- Contextes de Jakarta et Injection de dépendance
- Support du débogage de Jakarta pour les autres langages
- Injection de dépendance de Jakarta
- Jakarta EE 9 Full Platform
- Jakarta EE 9 Web Profile
- Jakarta Entreprise Beans
- Jakarta Expression Language
- Intercepteurs Jakarta
- Jakarta JSON Binding
- Jakarta JSON Processing
- Jakarta Mail
- Jakarta Managed Beans
- Jakarta Messaging
- Jakarta Persistence
- Jakarta RESTful Web Services
- Sécurité de Jakarta
- Jakarta Server Pages
- Jakarta Server Faces
- Jakarta Servlet
- Jakarta Standard Tag Library
- Jakarta Transactions
- Jakarta WebSocket
Spécifications ajoutées à Jakarta EE 9
- Activation Jakarta (obligatoire)
- Jakarta SOAP avec pièces jointes
- Jakarta XML Binding (optionnel)
- Jakarta XML Web Services (optionnel)
- Jakarta Web Services Metadata (optionnel)
- Jakarta SOAP avec pièces jointes (optionnel)
Spécifications supprimées de Jakarta EE 9
- Jakarta Deployment
- Jakarta Management
- Jakarta XML Registries
- Jakarta XML RPC.