Java EE, nouvelle orientation : une bonne nouvelle ?
Cet article fait partie de la série "Java EE : nouvelle orientation"
Peut-être que pour vous la série de l’été était Stranger Things, la petite pépite aux couleurs années 80-90 de Netflix. Mais dans le vaste monde du Java, une toute autre série aux multiples rebondissements a retenu toutes les attentions.
Pour introduire le récit de cet été de toutes les surprises, un petit historique s’impose…
Java, Sun et Oracle
L’entreprise Sun est fondée en 1982, et lance Java en 1995. Un programme en Java peut s’exécuter tel quel (ou presque) sur toutes les plateformes (Windows, UNIX, etc.), est plus sécurisé qu’en C++, adapté à la programmation distribuée, supporte le multi-threading, etc. Très vite, Java prend son essor, pour toutes ses caractéristiques, révolutionnaires pour l’époque.
La spécification de Java, ‘orientée entreprise’, J2EE 1.2, sort en 1999 et continue d’évoluer jusqu’à la version Java EE 7 publiée en 2013. Mais entre temps, Oracle a racheté Sun. Pour rappel, Oracle c’est 110 milliards de chiffre d’affaires, et des produits ultra-répandus comme Oracle Database ou Weblogic.
Les craintes de la communauté Open Source sont vite confirmées, Oracle abandonnant par exemple le développement d’OpenSolaris (un système d’exploitation de Sun). L’open n’est pas la priorité d’Oracle, et l’on commence à craindre pour Java. Le procès intenté par Oracle à Google pour son utilisation de Java dans Android laisse à penser que le monde du Java va se refermer sur lui-même et que sa communauté va se réduire. En mai 2016, la Cour Suprême des États-Unis se prononce en faveur de Google, jugeant que son utilisation de Java est licite.
Java EE Guardians
Au mois de juin 2016, James Gosling, qui n’est rien de moins que le créateur de Java, s’émeut du manque d’intérêt évident d’Oracle pour Java EE et rejoint les Java EE Guardians, un groupement de décideurs, de développeurs, de “users’ groups” et d’entreprises de premier ordre. Leur revendication est simple : ils souhaitent plus de transparence de la part d’Oracle, et l’assurance de la continuation des travaux sur Java EE (8 et plus).
Les hostilités sont ouvertes. La communauté fourmille d’idées pour assurer la survie de Java EE, allant jusqu’à proposer le transfert de son support à IBM ou Red Hat.
Après une période de mutisme, Oracle réagit en juillet. C’est par la voix de son président du développement produit, Thomas Kurian, que l’entreprise affiche son ambition de moderniser cette spécification pour applications professionnelles. L’annonce reste vague et ne convainc pas vraiment.
Une semaine plus tard, Oracle communique de nouveau sur Java EE 8, en expliquant que cette version sera équipée pour le déploiement dans le cloud, adaptée aux microservices et au multi-tenant (la capacité d’une application à servir plusieurs organisations clientes). Encore une fois, et même si l’effet d’annonce est plus important, les Guardians demandent des détails…
La feuille de route
C’est finalement à l’occasion de sa conférence JavaOne 2016, la grande messe du Java, qu’Oracle fait ses annonces les plus intéressantes, et les plus détaillées. Du 18 au 22 septembre, les conférences et ateliers techniques s’enchaînent, avec cette année un accent fort sur le futur de Java.
Dans sa volonté de se réconcilier avec la communauté qui se sentait bafouée, Oracle lance une vaste campagne de sondage visant à recueillir les attentes de tout un chacun. Les résultats ne sont pas encore publics, mais nul doute que l’initiative a de quoi rassurer. Oracle compte bien écouter la communauté.
Quant à la feuille de route : après le report de la publication de Java 9 (prévue pour 2016) à juillet 2017, Java EE 8 est attendu pour la première moitié de 2017. Et, surprise, pour rattraper le décalage entre les versions de Java EE et Java, une version 9 est prévue dès 2018.
Deux versions de Java EE en un an, ce serait inédit, et non sans laisser imaginer de nouveaux problèmes. Quel intérêt aurait une entreprise à migrer ses projets de Java EE 7 à 8 puis, immédiatement ensuite à relancer un chantier pour passer à la version 9 ?
La suite…
La réorientation stratégique des objectifs de Java EE vers des problématiques très actuelles (micro-services, cloud, etc.), les échéances resserrées et toutes ces annonces en quelques mois seulement ne sont pas sans soulever de nombreuses questions. Et en réalité non sans laisser planer de nombreuses incertitudes…
Alors, bonnes ou mauvaises nouvelles ? Bonnes ou mauvaises décisions ? Il est bien entendu encore trop tôt pour le dire. Mais ce qui est certain, c’est que seule la communauté des développeurs pourra réellement faire de cette nouvelle version une réussite ou un échec, un engouement ou un désenchantement.