JavaEE : MicroProfile désormais encadré par la Fondation Eclipse

Le projet communautaire, qui vise à optimiser Java EE pour les micro-services, devient un projet de fondation Eclipse, s’inscrivant concrètement dans l’écosystème Java.

Le projet communautaire MicroProfile sera désormais incubé à la fondation Eclipse. Ce projet, initié à la conférence DevNation (en marge du Red Hat Summit) et dont la version 1.0 a été lancée lors de JavaOne 2016, vise à répondre à deux questions clé : optimiser Java Entreprise Edition (Java EE) pour les très tendances architectures de micro-services ; et faire passer Java EE du bon côté de la barrière qui, aux yeux des jeunes développeurs, serait moins disposée à gérer les environnements plus modernes.

Il faut aussi dire que MicroProfile s’inscrit dans un écosystème Java EE fébrile, aux prises avec une feuille de route plutôt chaotique, où se sont accumulés les retards et les décalages. Java EE 8, qui doit justement porter la plateforme sur les terres des micro-services et des architectures distribuées devait initialement sortir à la fin 2016, mais n’est apparue qu’à la fin 2017 – avant une version 9 prévue pour la fin 2018. Red Hat, IBM, accompagnés de Tomitribe, Payara et la communauté Java de Londres avaient donc décidé de prendre à leur compte cette partie – réunie dans MicroProfile.

Avec MicroProfile, l’idée est donc de cristalliser les développements dédiés à ces micro-services dans une plateforme et d’en faire au final un standard - à terme, cela pourrait être ré-injecté dans le cycle classique du JCP, et donc fondu dans la plateforme Java EE. Toutefois, pas question pour Oracle de considérer ce projet comme concurrent : interrogé par la rédaction lors de JavaOne 2016, Anil Gaur, vice président Engineering chez Oracle, y voit davantage une initiative complémentaire. « Le projet se penche sur la problématique des micro-services, là où le JCP essaye de régler des problèmes plus larges, en traitant par exemple du modèle de programmation globale. Ce sont deux choses différentes. Et complémentaires”, avait-il assuré.

Au sein de la fondation Eclipse, le projet MicroProfile se rapproche de l’écosystème Java. « La fondation Eclipse s’est positionnée comme un socle solide, particulièrement pour l’environnement Java. La communauté MicroProfile ne souhaite pas se focaliser sur des éléments d’infrastructures qui sont déjà disponibles et satisfaisants dans la fondation Eclipse », explique la page du projet. D’autant que la fondation Open Source ne disposait pas de projets portant sur les micro-services.

L’une des prochaines étapes de la feuille de route du projet est de modifier son modèle de licence. MicroProfile est actuellement encadré par une licence Apache, mais des travaux sont en cours pour le rendre conforme à la licence Eclipse (EPL). Un modèle de double-licence est actuellement à l’étude, a confirmé Mike Milinkovitch, le patron de la fondation, dans un groupe de discussions.

Une réaction à la programmation réactive

Si certes l’arrivée d’un nouveau projet concomitant à Java EE, et à son cycle de vie, a de quoi semer la confusion chez les utilisateurs, MicroProfile permet de donner un coup de projecteur sur une fausse-idée qui anime certains développeurs : la lourdeur de Java EE et son inadaptation aux applications modernes. Ce qui alors les détournerait vers des langages jugés plus réactifs, mais pourtant moins matures, comme Scala, voire Javascript.

En un sens, soutient George Lawton chez nos confrères de SearchSOA (groupe TechTarget, propriétaire du MagIT),  MicroProfile peut être considéré comme une réaction face à la montée des langages de programmation réactive. « La programmation réactive comprend un modèle de programmation différent, affirme-t-il. On peut le décrire comme une feuille de calculs avec des fonctions inclus dans les cellules. Si l’on modifie une cellule, la modification est répercutée instantanément sur les autres cellules. Dans ce modèle, un changement apporté à une unique section d’une application se propage aux fichiers qui motorisent cette même application », explique-t-il. On retrouve ces modèles de programmation réactive dans Reactive Extensions (nées chez Microsoft), Scala, Clojure, Vert.x, Akka et Node.js.

Toutefois, ces langages restent encore très jeunes et surtout peu matures face à Java. D’autant plus que Java EE permet déjà de créer des micro-services, assure-t-il enfin.

 

Pour approfondir sur Open Source