Cela fait maintenant de nombreux mois que les entreprises attendent la livraison de Java EE 8, renommée Jakarta EE 8, depuis qu’Eclipse en a pris le contrôle.

C’est désormais chose faite et Eclipse a publié l’ensemble des spécifications qui la constituent, de même que le profil Web qui va avec. Essentiellement les annotations de Jakarta, autrement dit la sémantique de programmation déclarative et le JSP (Jakarta Server Pages), un moteur de templates pour les applications Web.

Bonne nouvelle, donc, car les développeurs commençaient à s’impatienter. D’autant que dans le « camp d’en face », celui de Microsoft, le paysage est devenu beaucoup plus clair avec la convergence de .NET vers 4.8, dernière version propriétaire de l’API et l’annonce de .NET 3.0, ainsi qu’une feuille de route claire vers la plate-forme Open Source de Microsoft.

Mais cette fois on y est et Eclipse ne s’est pas contenté d’annoncer Jakarta EE 8 et a aussi mis à disposition des développeurs un serveur d’application conforme à l’API et des kits pour tester les implémentations présentées comme compatibles.

Certaines plates-formes ont d’ailleurs déjà été certifiées, telles qu’Open Liberty d’IBM et de nombreuses autres devraient suivre, à commencer par le serveur « maison », GlassFish 5.1.

Tous les contributeurs de Jakarta EE, tels que Fujitsu, Oracle, Payara, Red Hat (IBM) et Tomitribe, se sont engagés à suivre ce chemin pour leurs propres plates-formes.

Reste qu’il n’y a pas que Java EE dans la galaxie Java et que cette plate-forme s’appuie sur les fondations de Java SE, des services tels que la machine virtuelle et le JDK (le langage).

Il faut que tout cela fonctionne de manière harmonieuse et que l’on ne fasse pas des progrès sur une plate-forme pendant qu’une autre reste en attente.

Il est donc prévu que Java SE 8 puisse faciliter cette migration, qui a cependant pour vocation d’être remplacée par l’une des versions récentes de SE : Java SE 11 et les autres.

Un petit détail est encore à régler qui tient à ce qu’Oracle, bien que délié de toute responsabilité sur le futur de Java EE, reste propriétaire des packages javax, pour tout ce qui concerne XML.

Eclipse a simplement prévu d’effectuer une migration de javax vers Jakarta, ce qui pourrait nécessiter une recompilation des programmes, le tout dans un processus qui n’est pas encore défini totalement et pourrait se faire soit par un « one shot », soit progressivement.

Pour la fondation Eclipse l’évènement est très important, pour au moins deux raisons.

La première est qu’il démontre la capacité de la communauté à faire évoluer une API complexe, en lieu et place d’Oracle, dont on se demande bien aujourd’hui ce qui lui a pris de racheter Sun et donc Java, mais aussi à se rendre compatible avec les besoins nouveaux, parmi lesquels les IoT et les applications de Cloud seront les plus importantes.

En gros, le message d’Eclipse est clair. Bien que l’on puisse soupçonner IBM d’être le véritable « cerveau » d’Eclipse, celui-ci faisant évoluer l’API (a priori) en fonction de ses propres intérêts, la tragicomédie d’Oracle est terminée et les usagers auront désormais une feuille de route claire et des jalons précis, devant eux, des certitudes qu’ils n’ont jamais eues depuis que Larry Ellison a jeté son dévolu sur Sun.

C’est sans doute une bonne nouvelle, mais encore faut-il qu’elle se concrétise dans les faits.