/  6
 
Interview : Nicolas De Loof, Senior Architect SoftwareSolution, Capgemini Rennes
Bonjour tout le monde !Aujourd’hui je vais faire un peu un écart sur ma ligne éditrice. En effet nous n’allons pas parler de gestion de contenu MAIS de l’écosystème Java. En effet, nombre d’entre vous ontremarqué que Java est l’un des langages de programmation (avec PHP, .NET…) les plusutilisés dans les solutions d’ECM Open Source. J2EE, JavaBeans, Spring, Hibernate, EJB3,OSGI, serveur d’application… Les références technologiques et techniques ne manquent paslorsque l’on soulève le capot de Nuxeo, Alfresco, eXoPlatform, Jahia… Or que connaissonsnous de Java ? De sa communauté ? De ces règles ? Des liens avec l’open-source ? Du rachatde Sun par Oracle ? C’est un peu tous ces points que je vais aborder avec mon invité du jour.J’ai donc le plaisir d’interviewer aujourd’hui
Nicolas De Loof, architecte Java àCapgemini Rennes, commiter Maven et Président du BreizhJug (Association desutilisateurs de Java pour la Bretagne).Bonjour Nicolas,Pour commencer, je tenais à vous remercier d’avoir accepmon invitation pourpartager vos connaissances sur le vaste univers du monde Java.
Je suis
"Architecte Software Solution"
si on considère la nomenclature Capgemini. Jetravaille surtout en mode support / coaching / veille techno.
Support
, car je suis référent en interne sur de nombreuses technos Java. J'interviensdonc aussi bien en conseil sur des avant-ventes que pour faire marcher les projets
Coaching
 pour faire tourner les équipes autour des bonnes pratiques de dev, par exemple l'intégration continue, le bon usage d'eclipse, mais aussi des micro-formationssur les design-patterns ou les frameworks à connaître
Veille technologique
en tâche de fond (même si parfois ca prend le dessus sur lereste). J'applique en gros la règle "google" du 20% de temps sur des devs libres. C'est par ce biais que j'ai intégré l'équipe Maven et appris à connaître de nombreux outilsopensource, ainsi qu'à développer mes propres bidouilles que l'on utilise maintenant en production.
En résumé, quel a été votre parcours professionnel pour arriver à ce poste ?
Je suis rentré chez Cap Telecom Rennes en 97, après mon service militaire, et j'y suisresté depuis. Il faut croire que je m'y plait ! J'ai rapidement développé un rôle d'électron libresur les projets Java, ma curiosité maladive m'obligeant à installer en douce sur les projets desframeworks opensource encore tout chauds - j'ai ainsi fait du Struts 0.5 et du Spring 1.0RC2.Bizarement (ou heureusement) cette attitude de geek et le fait que ça se passe plutôt bien m'avalu une bonne réputation en interne et la confiance de mes supérieurs. Il semble que je sois plus rentable quand on me lâche la bride que quand on veut me forcer à faire un truc que jen’aime pas ;).
 
Interview : Nicolas De Loof, Senior Architect SoftwareSolution, Capgemini Rennes
Dans ce cadre, j'ai beaucoup participé aux listes de discussion Struts puis Maven, sujetsur lequel je me suis attarpour le boulot, proposant quelques patches et surtout encontribuant au développement d'Archiva dont le support de Maven1 était indispensable pour mes "vieux" projets. J'ai alors été invité fin 2007 comme membre de l'équipe de dev Maven.
Maintenant, intéressons nous à Java. Quand avez-vous programmé votre première lignede code en Java ? Quelle a été la version de Java et que pensiez-vous à l’époque de celangage de programmation ?
J'ai commencé avec Java fin 1999 par un format Valtech sur le sujet dans le cadre d'un projet à démarrer. Rien de très croustillant ou de visionnaire donc. Par contre, j'ai tout de suiteapprécié la supériorité de ce langage par rapport au C en termes de dynamique opensource.Sur les projets C à Cap on utilise très peu (pour ne pas dire "pas") de librairie opensource.Une fois que j'ai mis un orteil dans le monde communautaire qui foisonne autour de Java jen'ai jamais pu en sortir. Je ne sais pas si l'opensource C tourne aussi bien, mais Java est une plateforme de rêve pour les bidouilleurs. Le codage est réellement facile (je pense à la syntaxequi masque les pointeurs) même pour des non-experts et on arrive donc rapidement àconcevoir des petits outils rigolos. Et avec l'expérience on découvre les API de réflexion puisl'instrumentation du bytecode et rapidement on arrive à faire des choses étonnantes.
Quelles ont été les principales étapes de l’évolution de Java ?
Si on laisse de côté les prémices de java 1.0, Java n'a commencé à être un langageréputé qu'avec Java 1.2 et la compilation "Just In Time".La seconde grande étape a été l'arrivée de la norme Java EE. Aussi critiquable qu'ellesoit, elle a implanté Java sur les serveurs de manière massive - amusant si on considère que lacible (loupée) de Java était le desktop.Après cette date, les versions de Java (1.3, 1.4) n'ont fait en résumé que compléter la plateforme avec des API qui étaient jusqu'ici optionnelles. La troisième grande étape a étéJava5, une vraie révolution dans la syntaxe du langage. Tous les frameworks n'en tirent pasencore partie, mais le bénéfice est flagrant.La dernière étape clé est le repositionnement de Java comme plateforme pour le bytecode, et plus comme langage de programmation isolé. Le succès de Groovy, jRuby,Jython et compagnie montre que d'autres langages ont leur place dans cet écosystème.
 
Interview : Nicolas De Loof, Senior Architect SoftwareSolution, Capgemini Rennes
De nos jours, comment définiriez-vous Java et quels sont les principaux courantsd’influence (EJB3, SpringSource...) existants ?
Java est avant tout un écosystème autour d'une machine virtuelle. Le langage en luimême continue d'évoluer mais importe peu finalement. On peut même faire du PHP sur laJVM ! Le veloppement des normes Java au sein du Java Community Process s'estégalement largement ouvert. Au début très corporate, il s'est trouvé confronté à des initiativeslibres et indépendantes, dont Spring fàce à JEE est la plus notoire. Aujourd'hui, SpringSourcesoutien une norme créée en dehors du JCP (@Inject, JSR330) qui a été acceptée en quelquesmois pour JEE6, impensable il y a encore 6 mois. Java n'est définitivement plus piloté par desIBM ou des Oracle, mais bien par une communauté très active et très exigeante. Par ailleurs,le monde opensource a démontre qu'une norme c'est bien, mais qu'une implémentationintelligente et qui marche est bien plus rapidement acceptée. Spring ou Struts ont eu un succèsdémesuré si on considère que ce sont des outils indépendants. JSF et JEE font pitié a côté.Je dirais donc qu'il n'y a PAS de courant d'influence dans Java, mais une sélectionnaturelle par la communauté de ce qui apporte de la valeur à un instant "t". Des acteurscomme JBoss sont tentés de normaliser leurs outils (Seam), cela ne leur apporte pas plusd'utilisateurs. Par contre des projets bien ficelés comme Apache CXF trouvent de trèsnombreux supporters. C'est très rafraichissant de voir qu'un bon outil libre arrive à se faire une place à côté de mastodontes de l'industrie, et c'est une force de la communauté Java.
Au fait java est Open-Source ?
Toutes les évolutions de Java se sont faites sous le contrôle de SUN mais surtout sousla pression de la communauté et de l'opensource. Le passage de Java en GPL a fait beaucoupde bruit, et c'est une excellente chose. Je pense que si Java était né en 2009 il aurait été depuisle début sous une licence libre, les mentalités ayant beaucoup évolué depuis. La prochainegrande étape est Java 7 dont les évolutions dans la syntaxe sont ouvertes aux suggestions de lacommunauté, ce qui montre que le pilotage de Java est désormais libéré.Le monde Java est très friant d'opensource, et réclamait l'ouverture de Java depuis belle lurette. Le cas de GWT (Google Web Toolkit) est par exemple significatif. Avant laversion 1.4, seul le runtime était libre, le "compilo" étant sous licence Google. L'intérêt étaitalors réel mais sans grand succès. Avec le passage en full opensource de la version 1.4 GWTa explosé.Contrairement à d'autres communautés, le monde Java baigne énormément dansl'opensource et a tendance à repousser les outils propriétaires, quelque soit leur qualité. LeJDL lui-même n'a pas pu échapper longtemps à ce rouleau compresseur, SUN étant parfoisaccusé de vouloir conserver à tout pris la mainmise sur Java. Cette ouverture est une preuveque Java vie très au delà des labos de SUN aujourd'hui.

Share & Embed

More from this user

Add a Comment

Characters: ...