I. Présentation de David Delabassée▲
En quelques mots, qui es-tu ?
Je suis responsable chez Oracle de tout ce qui concerne l'aspect communautaire de Java EE et notamment l'évangélisation (sic !) Je suis une sorte d'interface bidirectionnelle entre Oracle et la communauté ; interface qui n'est malheureusement pas toujours full duplex par manque de bande passante ;-). J'ai ce rôle sur Java EE depuis 5 ou 6 ans, mais cela fait maintenant plus de 20 ans que je travaille dans l'écosystème Java. Et depuis toujours, je me suis intéressé et impliqué dans différentes communautés gravitant autour de Java, notamment chez Sun. J'essaye aussi de m'impliquer dans différentes conférences (Devoxx, JavaOne, et maintenant Oracle Code One, etc.).
En quoi consiste ton travail au quotidien ?
Je voyage pas mal pour présenter des conférences, mais aussi rencontrer la communauté. J'écris par exemple ces quelques lignes de Tokyo où je viens justement de présenter Jakarta EE durant le « Java Day Tokyo ».
Lorsque je ne suis pas sur la route, je commence souvent à travailler très tôt. Je commence par lire mes mails. J'ai pris pour habitude d'éviter de répondre, il est en effet préférable de bien être éveillé pour bien répondre ! Ensuite je m'occupe de ma famille. Après avoir déposé ma fille à l'école, ma journée commence vraiment, mail, Twitter, GitHub… Étant rattaché au quartier général (Californie), j'ai une seconde journée qui commence vers 16h-17h (Slack, Zoom, etc.) Mes journées sont longues, mais j'ai le loisir de pouvoir les interrompre à ma convenance pour faire des choses importantes à mes yeux (par ex., conduire et reprendre ma fille à l'école, déjeuner avec elle, etc.)
Qu'est-ce qui te motive non seulement dans le travail, mais aussi dans la vie ?
J'aime à œuvrer dans la limite de mes moyens à essayer de faire avancer les choses et je crois qu'avec Jakarta EE, nous pouvons affirmer que nous avons fait évoluer les choses dans le bon sens. De manière générale, je suis toujours très motivé par tout ce qui touche Java, mais je m'intéresse de plus en plus au Serverless et notamment au « Fn Project », une plateforme FaaS (Function-as-a-Service, ndlr) open source et polyglotte. Son aspect polyglotte m'a justement amené à élargir mon horizon, notamment vers Go et Kotlin.
L'année passée a été marquée par le transfert de Java EE (maintenant Jakarta EE), à la Fondation Eclipse. Qu'est-ce que cela représente pour toi ?
Il faut mentionner que le transfert est en cours et n'est pas encore terminé, c'est un processus long et compliqué. Pour moi, cette initiative est une forme d'accomplissement personnel. Nous avons rendu cette initiative publique l'été passé, mais cela a nécessité un travail interne énorme en amont. Il y a encore du travail à faire, mais nous commençons à apercevoir le bout du tunnel. Mais plus important qu'un accomplissement personnel, Jakarta EE est la fondation qui permettra à la plateforme de s'adapter et évoluer. Ce reboot est une sorte de renaissance pour la plateforme, un second souffle.
Quel est ton rôle sur Jakarta EE ?
Mon rôle a surtout été en amont, avant que cela soit rendu public et sur la phase initiale de démarrage. Je suis actuellement impliqué dans le comité « marketing » (je trouve personnellement ce terme relativement inadapté) ; ce groupe s'occupe notamment de tout l'aspect « developer outreach » et des conférences.
Quel est ton rôle sur le serveur d'application GlassFish ?
Je vais répondre en parlant au passé, car dorénavant Eclipse GlassFish (et non plus Oracle GlassFish) sera géré par la communauté Jakarta EE. Mon rôle sur (Oracle) GlassFish était lié aux différents aspects communautaires tels que le site GlassFish.org, remonter le feedback vers les équipes de développement ou encore la transition de Java.net vers GitHub. Et enfin, je faisais aussi la promotion de GlassFish et de ses différents projets (ex. Jersey).
Quelles sont tes impressions à propos de Developpez.com, de sa rubrique et ses forums liés à JavaEE ?
Mon rôle étant global, je dois malheureusement reconnaître que je ne suis pas trop les communautés francophones par manque de bande passante.
II. EclipseCon France 2018▲
Quel est le rôle du comité de sélection ? Quel y est ton rôle ?
Le comité évalue toutes les propositions afin d'assurer à la conférence un contenu pertinent, représentatif et équitable. Le comité doit aussi détecter d'éventuels manquements et le cas échéant identifier et inviter la ou les bonnes personnes à proposer une session couvrant ce sujet manquant. J'ai contribué à ce comité en « défendant » les sessions qui me paraissaient les plus pertinentes pour la communauté.
Quels sont les changements par rapport à l'édition précédente ?
EclipseCon est nouveau pour moi, il m'est donc difficile de répondre. Je vais juste mentionner que cette année il y a une nouvelle catégorie de sessions sur Jakarta EE ;-)
Qu'aimes-tu le plus dans une EclipseCon ?
Je vais d'abord commencer par la chose que je déteste le plus à propos d'EclipseCon, c'est la durée des sessions qui est de 35 minutes ! C'est très inhabituel, il faut donc retravailler son contenu pour s'assurer de pouvoir le couvrir, car 35 minutes, c'est court ! En revanche, la chose que j'apprécie le plus à propos d'EclipseCon, c'est la durée des sessions, 35 minutes. Cela force l'orateur à vraiment se focaliser sur le cœur du sujet.
Pourquoi doit-on absolument aller à EclipseCon France 2018 ?
Fin de l'année dernière, j'ai participé à EclipseCon Europe 2017 en Allemagne. À cette époque, Jakarta EE venait d'être annoncé, nous avons organisé deux sessions « à la va-vite ». On peut donc affirmer qu'EclipseCon France 2018 est vraiment la première EclipseCon sous l'ère Jakarta EE. Nous avons eu, par exemple, le temps de proposer un contenu plus adapté avec notamment une catégorie dédiée à Jakarta EE.
III. Eclipse et Jakarta EE▲
Java EE est passé à la fondation Eclipse, quels sont les apports de ces changements ? Penses-tu que cela va favoriser les contributions ?
Le changement fondamental est que ce n'est plus une seule et unique compagnie qui est en charge ; cela favorise clairement la participation. On peut par exemple citer LightBend qui a clairement annoncé son intention de s'impliquer sur l'aspect réactif de Jakarta EE. Et clairement, LightBend a quelque chose à apporter dans ce domaine !
Le marché évolue beaucoup plus rapidement qu'auparavant, un de nos désirs lorsque nous (Oracle) avons démarré l'initiative Jakarta EE était d'avoir un modèle de développement pour la plateforme beaucoup plus agile. Pour ce faire, il est nécessaire de remettre à plat de toutes les règles qui vont gouverner l'évolution de Jakarta EE (par ex., comment sera définie une spécification ? À quelle cadence ?)
Cette mise à plat permet d'adresser les critiques qui étaient émises sur Java EE, elle semble déjà porter ces fruits, car on trouve parmi les partenaires Jakarta EE des sociétés telles que Microsoft et Pivotal pour n'en citer que deux.
Tout cela est fait tout en préservant un aspect clé de Java EE, les TCK (« Technology Compatibility Kit », ndlr) et la notion de compatibilité. La différence fondamentale étant que c'est maintenant la Fondation Eclipse et le groupe de travail Jakarta EE qui vont édicter les règles s'appliquant aux TCK. Et enfin, un des souhaits est d'adopter une approche « code first » afin d'être beaucoup plus pragmatique. Je suis convaincu que tous ces changements vont dans le sens d'une plus grande ouverture. La communauté y est très réceptive, on peut donc anticiper une plus grande implication de cette dernière.
Peut-on craindre que certains projets peu utilisés soient abandonnés ?
Cela va probablement arriver et ce n'est pas nécessairement une mauvaise chose. Pourquoi continuer à devoir maintenir un projet s'il est peu utilisé ? Il est peu utilisé, car il est probablement devenu peu attractif, voire dépassé. Pourquoi donc s'encombrer ? C'est un des aspects qui va changer par rapport à Java EE et tout est encore à définir, mais je pense que si la plateforme évolue vers un développement plus agile, il sera nécessaire de pouvoir « élaguer » simplement, mais proprement certains éléments de la plateforme qui sont devenus au fil du temps de moins en moins attractifs. À ce sujet, il est bon de souligner que Jakarta se base sur Java EE 8 et pas les versions antérieures.
Comment vois-tu le positionnement de Jakarta EE par rapport à l'écosystème Spring. Notamment Spring Boot qui monte en puissance. Prévoyez-vous une alternative à Spring Boot ?
À un moment, Java EE était devant Spring, mais il faut reconnaître qu'en ce moment c'est probablement Spring qui est devant. La compétition entre les deux plateformes a toujours été sainte et nécessaire, car elle a permis aux deux plateformes d'évoluer. Il est aussi bon de signaler que Pivotal est un des partenaires Jakarta EE, c'est un des bénéfices de cette nouvelle approche qui se veut indépendante et non liée à une seule et unique compagnie. J'ai hâte de voir comment et sur quoi Pivotal va s'impliquer dans Jakarta EE.
D'après toi, quelles sont les faiblesses de Jakarta EE ? Et donc sur quoi Jakarta EE doit évoluer pour apporter une réelle plus-value ?
Cela reste encore très général à ce stade, mais les axes d'évolutions initiaux de Jakarta EE ont été annoncés : les Microservices, le Cloud Native et une plateforme « Reactive ». Concernant ce dernier point, il y a déjà des éléments (par ex., l'API Reactive de JAX-RS 2.1) mais cela reste relativement embryonnaire. Concernant les Microservices, une convergence entre Jakarta EE et Microprofile.IO (qui est aussi sous le joug d'Eclipse) est bien évidemment souhaitable à terme. La faiblesse actuelle de Jakarta EE, s'il y en a une, est qu'il reste encore du travail à faire afin de pouvoir vraiment s'atteler aux questions techniques à savoir l'évolution des API.
Quel est le futur de GlassFish ? Quelle est la roadmap après cette version 5 qui est sortie deuxième semestre 2017 ?
Il appartient maintenant à la communauté Jakarta EE de définir la roadmap. À très court terme (c.-à-d. durant l'été), il y aura une première version d'Eclipse GlassFish qui devra passer le TCK actuel de Java EE 8. Cette version n'apportera rien en termes de nouvelle fonctionnalité, mais elle est nécessaire afin de prouver que tout le code a bien été transféré. Le build de cette première version sera aussi utilisé pour tester et valider toute l'infrastructure de build mise en place pour Eclipse GlassFish.
As-tu des news sur la prochaine version de Java ? As-tu d'ores et déjà une fonctionnalité « préférée » qui sera apportée par Java 11 ?
Je n'ai pas vraiment de scoops à proprement parler, car tout est discuté dans le projet OpenJDK, ces discussions sont publiques. Mais la chose qui me fascine le plus est la nouvelle cadence de Java. Je me souviens encore de l'époque où, chez Sun, nous discutions en interne des fonctionnalités qui allaient arriver plus de 18 mois plus tard dans J2SE 1.4 ! Et maintenant, nous parlons de Java 11 qui va arriver dans quelques mois !
Un article d'il y a quelques années mettait en évidence une utilisation à la marge des produits GlassFish et WebLogic sur le marché des serveurs d'application Java open source. Tomcat, Jetty et JBoss (Wildfly désormais) y apparaissaient comme le choix principal dans la très grande majorité des cas. Comment expliquer cela ? Avez-vous identifié des axes pour inverser cette tendance ?
Honnêtement, je prête peu d'attention à ce genre d'article, car je me souviens d'un autre article qui démontre le contraire. C'est un peu comme les benchmarks, il suffit de savoir lire le bon et d'ignorer les mauvais ! ;-)
Oracle a annoncé que la prochaine version de WebLogic supporterait Java EE 8. Et à ce sujet, je viens de démontrer à Tokyo l'utilisation de WebLogic avec Java EE 8 dans un cluster Kubernetes ;-)
Peux-tu nous dévoiler une fonctionnalité dans Jakarta EE qui va tout déchirer ?
C'est encore trop tôt de parler de nouvelle fonctionnalité, mais clairement, je pense que nous sommes en train de mettre en place un modèle qui va permettre à la plateforme d'évoluer de façon pérenne pour la décennie à venir… ce qui est déjà pas mal ! Et j'en profite pour encourager toutes les personnes qui s'intéressent de près ou de loin à Jakarta EE de suivre la mailing list « community » de Jakarta EE. C'est clairement maintenant que les discussions importantes prennent place !
IV. Remerciements▲
L'équipe de Developpez.com se joint à nous pour remercier chaleureusement
David Delabassée, pour sa participation à cette interview ; nous lui
souhaitons bonne chance pour l'événement EclipseCon France 2018 et pour la
suite de Jakarta EE !
Nous adressons également nos remerciements
à f-leb pour sa relecture orthographique.
V. Annexes▲
V-A. EclipseCon France 2018▲
Retrouvez EclipseCon France 2017 et toutes les informations pratiques à
l'adresse : http://www.eclipsecon.org/france2018/.
Retrouvez
toutes les sessions qui seront au programme à l'adresse :https://www.eclipsecon.org/france2018/program/sessions/accepted
V-B. Autres liens▲
Retrouvez David sur les réseaux sociaux : @delabassee
Site Web de Jakarta EE : https://jakarta.ee/