Pierre Queinnec (Zenika) "Face à l'accord entre Oracle et IBM, je milite pour qu'un acteur européen entre dans le projet OpenJDK"

Nouveaux plugins, Eclipse RCP, Spring... Le point sur les évolutions de l'infrastructure de développement Open Source. Un entretien réalisé en amont de l'Eclipse Day Paris.

Cet entretien a été réalisé en amont de l'Eclipse Day Paris. L'événement français d'Eclipse de l'année 2010 se tient au Pavillon Royal le vendredi 5 Novembre 2010.

JDN Développeurs. Quelles sont selon vous les dernières évolutions marquantes de l'infrastructure Eclipse ?

Pierre Queinnec. Difficile de dégager une évolution marquante tant Eclipse recouvre désormais de nombreux projets. Eclipse est une organisation coordonnant des montées de versions de nombreux outils et extensions. Google, IBM, Oracle, VMWare, Airbus... Chacun des acteurs parties prenantes d'Eclipse soutient un sous-projet particulier qui s'intègre à l'ensemble. Pour faciliter la lisibilité du framework, il a été décliné en package que l'utilisateur choisit en fonction du type de développement qui l'intéresse : un package PHP, un package C++, un package pour Java client / serveur, un package pour JEE...

Mais les packages Eclipse reposent sur un socle commun ?

Oui. Ce cœur commun est majoritairement développé par les équipes d'IBM. Il définit ce qu'est un éditeur, une vue... Ce socle s'enrichit assez peu dans la mesure où il a atteint un stade de maturité fort. Mais, parmi les entreprises impliquées dans le projet, il en existe toujours qui ont des besoins très spécifiques, et qui poussent à l'émergence de nouveautés au sein de cette infrastructure de base.

"Les sections reporting et modélisation se développent beaucoup dans Eclipse"

Quel est pour vous le package le plus intéressant ? 

Eclipse RCP est un excellent exemple. Il s'adresse aux entreprises qui souhaitent créer une application Java en client lourd. Comparé à Swing, Eclipse RCP propose une approche beaucoup plus simple. Il fournit un cadre de développement qui évite d'avoir à réimporter des classes utilitaires pour créer la couche basse de l'application. Ce framework a par exemple été utilisé par IBM pour écrire Lotus Notes. On peut dire qu'Eclipse RCP propose au client lourd, ce que JEE est au Web.

Sun proposait un outil équivalent, baptisé BSAF [ndlr Better Swing Application Framework], mais il ne s'est jamais vraiment imposé. Eclipse RCP vient clairement combler un vide.

Quid des grandes évolutions des projets de la galaxie Eclipse ?

Le reporting est un domaine qui se développe beaucoup. Cette tendance est illustrée par l'émergence de Birt, actuellement en version 2.6. La section portant sur la modélisation est également très dynamique, avec des projets comme Topcased. C'est un éditeur UML / SYSML porté par Airbus qui promet de faire de la génération de code. Enfin, la section sur les langages métier est également très dynamique, notamment autour du projet Xtext. Il propose une grammaire pour écrire des langages de règles métier.

La solution de persistance Eclipse Persistence Services Project, EclipseLink, monte aussi en puissance. Elle est en concurrence avec Hibernate du projet JBoss. Elle présente pour avantage d'offrir une licence Eclipse, ce qui est attirant pour certaines entreprises qui n'apprécient pas les licences GPL et LGPL.

Entre Spring et JEE, quelle implémentation de ces deux framework est la plus mature dans Eclipse ?

JEE est un standard de facto reposant sur un processus d'approbation au sein du Java Community Process. Spring est une infrastructure beaucoup plus large qui n'a pas attendu l'approbation et l'implémentation des spécifications JEE pour évoluer. Spring recouvre une palette de possibilités plus large que JEE : Spring-Integration et Spring-Batch par exemple fournissent des implémentations des patterns d'intégration ou des mécanismes de batch. Spring-AMQP pour ça part propose de simplifier l'envoi de message AMQP. Je reste pro Spring, si ce framework n'avait pas été là, nous en serions encore aux débuts de J2EE avec les EJB 2...

Spring facilite le développement en introduisant une simplification dans la démarche de développement, en permettant aussi de créer des applications robustes. SpringSource Tool Suite cherche à rendre le développement le plus simple et le plus fiable possible. Il propose par exemple un éditeur avec complétion directement dans le fichier XML.

"On assiste à une remise en cause de Swing comme framework client / lourd par défaut de Java"

Quel regard portez-vous sur la reprise en main du langage Java par Oracle, et l'accord signé par ce dernier avec IBM ?

Derrière cette question se cache un problème politique. Oracle a repris les droits sur Java. IBM s'est retrouvé en porte-à-faux, et a donc dû trouver un terrain d'entente.

Les applications Java représentent les futurs grands systèmes de type legacy, avec à la clé une manne importante en termes de parts de marché. Les enjeux financiers sont gigantesques. Pour l'Europe, l'accord passé entre Oracle et IBM peut poser problème. On risque en effet de se retrouver dans la même situation que pour les technologies mainframe. Des entreprises européennes ayant investi des millions sur ce type de systèmes vont se retrouver à terme sans acteur européen capable d'assurer leur maintenance.

Pour se positionner au même niveau qu'Oracle et IBM dans la bataille, le ticket d'entrée est important. Je milite pour la création d'un consortium Européen capable de faire contrepoids. Des acteurs importants comme SAP, Google et VMWare qui ont investi des sommes importantes dans le monde Java n'ont pas été intégrés à cet accord. Ces acteurs pourraient bien être amenés à trouver des solutions pour assurer leur indépendance technologique.

Que pensez-vous de la décision d'Apple de ne plus maintenir son JDK ?

Cette décision tend à remettre en cause le fait que Swing soit le framework pour client / lourd par défaut de Java. Pour Apple, maintenir un JDK permettait de garantir une intégration des applications Java à Mac, ses menus et fenêtres... Suite à cette décision, il est clair que le kit d'outils graphiques SWT développé par IBM dans Eclipse a une carte à jouer. Ce qui permettrait de promouvoir indirectement Eclipse comme cadre de développement universel. Reste à savoir si Oracle et Apple ne sont pas en train de négocier un accord, mais aussi sur la politique souhaitée par Oracle pour le marché desktop.

Quelles seront les prochaines grandes évolutions d'Eclipse ?

Google porte des plugin Eclipse de plusieurs éditeurs en Wysiwyg, GWT Designer et SWT Designer. Cette technologie est issue du rachat d'Instantiations. Elle permet de définir visuellement l'interface graphique des applications, créer des vues, ajouter des boutons, des champs... Et ainsi préparer le terrain en vue du travail d'intégration avec interactions métier.

Sur le Cloud, SpringSource et sa maison mère VMWare sont très actifs. Ils veulent pousser le Cloud Computing dans l'IDE. Ils ont passé un accord avec Tasktop en vue de soutenir son application Mylyn. Il s'agit d'un outil d'aide au développement et au déploiement d'applications Cloud. La plate-forme de déploiement permet d'alimenter le bugtracker en y attachant les données et en faisant le lien avec l'application. Mylyn pour ça part permet de se connecter au système de bug dans l'interface, sans avoir à basculer de l'un à l'autre. Mylyn se combine avec Code2Cloud de SpringSource, qui est cet outil de build et de déploiement vers le Cloud Computing. Code2Cloud permet ainsi de gérer les build, et de les déployer dans le cloud.

Plus globalement, la prochaine version de l'infrastructure, Eclipse 4 ou e4, s'oriente vers une refonte complète du framework en se projetant vers le Web, ainsi que de nombreuses innovations.

Pierre Queinnec est directeur associé au sein de la société de services Zenika.