Entretien avec Rémy Maucherat

Barcelone, le 11/10/2005.

maucherat.png

Bonjour, une première question classique : qui es-tu ?

Bonjour, j'ai 29 ans et j'habite Nice où je travaille depuis chez moi.

Quelles sont tes fonctions chez JBoss Inc. ?

Je suis responsable du bon développement de la partie Web de JEMS (Servlet, JSP, gestion HTTP). Comme la plupart du personnel de JBoss Inc., j'assure également à temps partiel des prestations de service (support, formation et consulting) sur ces domaines.

Depuis quand travailles tu chez JBoss Inc. ?

En fait je suis employé par JBoss Europe, dont le siège est basé en Suisse, à Neûchatel. J'y travaille officiellement depuis l'été 2003 mais j'étais déjà en contact avec le projet JBoss quasiment depuis le début.

Que faisais tu avant ?

Je travaillais chez Sun de 2000 à 2002, sur Tomcat 4.x et 5.x. Tomcat, crée par Sun comme l'implémentation de référence de la couche JSP et Servlet, avait déjà été donné à Apache en 1999 dans sa version 3.0.

Comment est organisée l'Apache Software Foundation (ASF) ?

L'ASF est une association américaine à but non lucratif. Elle est organisée de manière hiérarchique.

  • Au sommet on trouve le « Board of Directors » constitué de 9 membres élus par les membres (remarque :cette élection utilise le système de transfert de vote STV)
  • Ensuite viennent les membres, dont je fais partie, et qui sont un peu plus d'une centaine.
Chaque projet est indépendant et le « Board » ne fait de l'ingérence sur les projets qu'en cas de problème majeur (très rare). L'instance de direction d'un projet est le PMC (Project Management Commitee) qui est généralement plus ou moins composé des « Commiters ».

Tomcat était auparavant géré par le PMC de Jakarta mais est devenu autonome depuis environ 6 mois. Le projet dispose donc désormais de son propre PMC de 20 membres dont j'ai été élu président. Nous sommes donc en cours de migration au niveau du site Web, de la mailing liste et du CVS (qui en passant est de plus migré vers Subversion).

Quelles sont les relations entre JBoss et Apache ?

L'ASF n'entretient pas des relations officielles avec les entreprises mais plutôt avec des personnes contribuant aux projets (sauf en cas de donations comme justement celle de Tomcat par Sun).

Combien il y a-t-il de contributeurs sur Tomcat ?

Pour des raisons historiques, il existe aujourd'hui une quarantaine d'accès en lecture/écriture sur le code mais seule une dizaine de personnes sont réellement actives. Parmi ces contributeurs actifs, deux sont des employés de JBoss Inc.: Mladen TURK (qui travaille notamment sur mod_jk, mod_proxy) et moi-même.

Quelles sont tes contributions sur Tomcat ?

Ce que j'ai fait dans Tomcat ? J'ai beaucoup travaillé sur les différentes implémentations HTTP des versions 4.X, 5.X et 5.5., sur JNDI, la gestion des pages statiques, le servlet container, un peu sur Jasper, … un peu de tout sinon (corrections bugs, maintenance).

Sur quoi travailles-tu en ce moment ?

  • Tomcat Natif : Mladen et moi-même venons de terminer le support d'APR par Tomcat. Il s'agissait d'ajouter de nouvelles fonctionnalités à un serveur Java « classique » pour en améliorer la scalabilité (couches HTTP, HTTPS réecriture d'un micro mod_ssl basé sur OpenSSL, et AJP). C'est réalisé en passant des appels natifs (comme EPOLL qui est une sorte de select amélioré ou SENDFILE qui gère l'envoi de fichiers sur des sockets) : certaines communications asynchrones deviennent ainsi possibles, telless que l'envoi de gros fichiers lors de montées en charge. Cela permet également l'accès aux fonctionnalités RPC de bas niveau (pipes sous Windows ou domain socket sous UNIX/Linux).
  • Mod_proxy : amélioré de manière significative par Mladen : support de AJP pour remplacer mod_jk dans Apache 2.2, et collaboration avec mod_cache. Mod_proxy est actuellement en bêta et la release officielle sera probablement pour début 2006 (note : n’étant pas un développeur de Apache HTTP Server, ceci est une simple spéculation).
  • JBossWeb : il s'agit d'une distribution de JBoss orientée Web qui correspond au nouveau profil Tomcat de l'installeur JBoss. L'objectif est d'ajouter à Tomcat des fonctionnalités de base d'un serveur HTTP natif tel qu'Apache (mod_rewrite, intégration de CGI, PHP, .Net) pour répondre à des besoins simples ou Apache est fonctionnellement trop riche et où l'ajout d'un proxy entre le serveur HTTP et Tomcat coûte en performance. Ainsi les nouvelles fonctionnalités natives de Tomcat, permettent de l'utiliser pour les pages statistiques avec le même niveau de performance qu'Apache. Le but est de rendre Tomcat compatible avec la quasi totalité des utilisations possibles d'un serveur Web et de faciliter la migration de Tomcat vers JBoss. Apache reste plus riche au niveau des modules disponibles (exemple: options de mod_ssl) .Pour l'instant il n'y a pas de release officielle mais une version bêta arrive bientôt.

Pourquoi JBoss Inc. Est capable d'offrir du support sur Tomcat ?

Aujourd'hui il n'existe pas de prestataire de support officiel au sein de l'ASF par souci de neutralité. Or comme Tomcat peut véritablement être considéré comme une commodité depuis la version 5.0 et qu'il est quasiment devenu un standard de facto, il existe beaucoup d'utilisateurs et de prestataires de services de support. JBoss Inc. se positionne sur du support de plus haut niveau de fait de l'expertise interne. Ce support étant souvant intégré à celui des composants de JEMS.

Quels sont tes outils de développement habituels ?

Je développe sur Windows avec Eclipse (sans plugins) et le JDK 5. J'utilise Linux pour les tests.

Sur quoi penses tu travailler à l'avenir ?

Probablement sur J2EE 5, l'ajout de nouvelles fonctionnalités à JBossWeb en fonctions des demandes utilisateurs. Pour l'instant la contribution de certaines fonctionnalités de JBossWeb à Apache Tomcat n'a pas encore été considérée.

Le mot de la fin ?

J'espère que la communauté francophone autour de Tomcat et de JBoss va croitre un peu plus car nous ne sommes pas très nombreux pour le moment.