Revue de Presse Xebia

Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.

Actualité éditeurs / SSII

RIA

Le coin de la technique

Evènements de notre communauté en France et à l’étranger

Actualité éditeurs / SSII

Condamnation pour non respect de licence

Qu’arrive-t-il lorsque l’on réutilise du code open source sans se soucier de sa licence ? On se fait taper sur les doigts. C’est en effet la mésaventure qui est arrivé à la société Edu4, comme le présente l’article de la Free Software Foundation France sur l’affaire.
Ayant fourni en 2000 à l’AFPA (un organisme de formation professionnelle) un logiciel basé sur VNC, Edu4 a reçu une requête de cet organisme demandant le code source du logiciel, conformément à ce qu’autorise la licence GPL.
Edu4, dans un premier temps, a refusé de fournir les sources de VNC modifiées par ses soins. Puis, à la suite d’une décision de justice de 2002, a fourni des sources ne correspondant pas à la version livrée et dans lesquelles le texte de la licence GPL de VNC avait été retiré.
Cette semaine, la cour d’Appel de Paris a reconnu Edu4 coupable.
Nous savons tous comment se passent les projets sur lesquels il y a une certaine pression et certains enjeux qui poussent à sortir des produits le plus vite possible sans mesurer toutes les conséquences. Nous ne jetterons donc pas la pierre à Edu4. Mais cette histoire permet de préciser que (1) la licence GNU GPL a bien valeur légale en France et que (2) n’importe quel utilisateur de logiciel basé sur la licence GNU GPL est en droit de réclamer les sources, et pas seulement les auteurs du code original (dans le cas présent, les auteurs de VNC n’ont pas participé au procès).

Il faut donc être bien conscient des conséquences que peut avoir la réutilisation de code open-source. Selon la licence (article de Wikipedia sur les licences du logiciel libre), il y a des obligations et des contraintes. Mais c’est bien là la moindre des choses pour pouvoir profiter de code déjà testé, éprouvé et amélioré par nombre de contributeurs. Cette prise de conscience est d’autant plus nécessaire que les composants open-source sont de plus en plus présents dans les SI des entreprises françaises. Pour un autre éclairage sur ces questions, on peut citer l’interview de Matt Light par ITRManager.

RIA

Chrome dans IE avec Google Chrome Frame

Une des sensations de la semaine dernière est l’annonce de Google Chrome Frame ou comment transformer Internet Explorer en Google Chrome.
On ne compte plus les sites ayant relayé l’information : cela passe par InfoQ, Ajaxian, Inside RIA ou encore TechCrunch.
Google Chrome Frame se présente sous la forme d’un plug-in pour Internet Explorer (6, 7 et 8). Le plug-in se lancera sur la balise suivante (ce qui implique donc que tous nos header HTML doivent être changés) :


À partir de là, 2 possibilités :

  • Le plug-in est installé : il détecte le tag et lance le moteur de rendu de Chrome (WebKit) dans IE
  • Le plug-in n’est pas installé : la page s’affiche normalement dans IE mais il est possible de rediriger l’utilisateur vers une page d’installation

Les avantages sont multiples : on retiendra de nombreuses optimisations de performances Javascript, un chargement de page plus rapide mais aussi l’utilisation de HTML 5 avec le offline et les canvas.
Il sera alors possible, comme le rappelle InfoQ, pour Google Wave d’offrir une expérience utilisateur complète à tous les utilisateurs d’Internet Explorer (en effet, celui-ci utilisera de nombreuses fonctionnalités de HTML 5).
Le support d’IE continuera comme le rappelle Lars Rasmussen (Team manager de Google Wave) qui insiste aussi sur le fait que les différentes versions d’IEs ralentissent l’élaboration d’applications web dîtes riches (avec des quick fixes à n’en plus finir pour obtenir des résultats présents out of the box chez les autres navigateurs).

Plusieurs réactions ont suivi cette annonce. On pourra retenir celle de Robert Nyman (par Ajaxian) qui rappelle fort justement que les utilisateurs restant sur de vielles versions d’IEs sont (pour résumer grossièrement) :

  • soit des utilisateurs qui ne savent pas ce qu’est un navigateur (et donc n’installeront jamais ce plug-in)
  • soit (malheureusement pour ceux qui y sont confrontés) des sociétés qui bloquent les mises à jours logicielles (il sera donc peu probable que le plug-in soit autorisé à être installé)

Dion Almaer se pose la question de l’inversion des rôles quant à l’expérience utilisateur : est-ce au développeur de choisir (forcer ?) le renderer/navigateur à utiliser ?
En tous cas, on ne peut que saluer le travail effectué et espérer que cela aidera, ne serait-ce qu’un peu, à réduire les IE 6 de ce monde :-)

Le coin de la technique

Guide utilisateur de Tellurium

Tellurium nous annonce la sortie de son guide utilisateur version 0.6.0.
En 5 chapitres, celui-ci parcourt :

  • Les concepts et fonctionnalités principaux de l’outil
  • Un Getting Started
  • Les sous-projets de Tellurium (archetype Maven, TrUMP…)
  • L’architecture de Tellurium
  • Ses APIs (DSLs, data access…)

Le PDF se récupère à cette url.
Et pour un petit aperçu du projet, je vous renvoie vers notre article sur comment améliorer l’écriture de vos tests selenium.

Lucene évolue et prépare l’avenir

Le projet Apache Lucene annonce la disponibilité de la version 2.9 du célèbre framework de recherche d’information. La liste des changements est conséquente.

Shalin Shekhar Mangar, committer sur Apache Solr, faisait part il y a quelques mois d’une activité très dense sur le projet Lucene pour préparer cette nouvelle version. Il expliquait alors que la majorité du travail était imputable au near real-time search, amélioration permettant de refléter très rapidement les modifications des données dans les résultats des requêtes alors que celles-ci sont habituellement rendues visibles seulement après le commit des changements dans l’index.

Outre cette nouvelle possibilité de recherche en temps réel, les principaux apports de Lucene 2.9 :

  • Optimisations portant sur la mise en cache de segments inchangés de l’index, apportant un gain significatif de performance
  • Gestion plus efficace des champs numériques avec l’ajout des classes NumericField et NumericRangeQuery. Il en résulte un gain de performance sur les requêtes par intervalles
  • Support des requêtes géo-spaciales (module contrib/spatial)
  • Nouveaux analyzers (PersianAnalyzer, ArabicAnalyzer, et SmartChineseAnalyser)
  • Diverses améliorations d’API notamment sur le Collector / Scorer et le QueryParser

Par ailleurs, Lucid Imagination, une société américaine d’expertise Lucene, propose un webinar sur les nouveautés de cette version. On y retrouve également les plans pour la version 3.0 : les changements seront majeurs puisqu’il est prévu de passer l’API à Java 5 et de supprimer les éléments précédemment dépréciés.

La documentation du projet évolue également mais reste moins fournie qu’on ne le souhaiterait et les développements avec Lucene doivent souvent être accompagnés de l’ouvrage Lucene In Action paru chez Manning. Ce livre paraîtra dans une seconde édition, mise à jour pour la version 3.0 du framework, en mars 2010.

Cette activité dense de l’équipe Lucene est en rapport avec l’importance que prend ce projet dans la mise en œuvre des nombreux cas d’utilisations issus du Web moderne, tels que les recherches intelligentes et rapides, les systèmes de suggestions, et les analyses de contenu.

JBoss Microcontainer et son Virtual File System

Le projet Microcontainer de JBoss est le noyau de la version 5.0 du serveur d’application de l’éditeur sortie en fin d’année dernière. Il remplace le Microkernel JMX qui était utilisé jusqu’alors dans les version 4.x de JBoss AS. Le choix d’un tel noyau développé en interne avait fait l’objet de quelques remarques lors de son développement puisqu’il offre des fonctionnalités très classiques telles que la gestion du cycle de vie de ses composants, l’injection de dépendances et de propriétés, et des fonctionnalités d’AOP.

Ce Microcontainer s’illustre malgré tout par son système de déploiement reposant sur une abstraction très flexible encapsulant le chargement de ressources qu’elles soient sous forme de Jar, de fichiers, ou de répertoires : le Virtual File System. Cette fonctionnalité très puissante est malheureusement très peu documentée dans le manuel utilisateur du projet. Sa bonne maîtrise est pourtant souhaitable pour bien comprendre le comportement et les possibilités du déploiement d’applications dans JBoss AS 5.0 ou encore (scénario certes beaucoup moins courant) pour utiliser directement le Microcontainer dans un projet.

Ce manque de documentation est maintenant partiellement comblé grâce à Ales Justin, travaillant chez JBoss sur leur serveur d’application, qui a mis en ligne un article sur VFS. Cet article fait suite à deux articles précédents sur le modèle de composants et l’injection de dépendances dans JBoss Microcontainer.

Il y présente l’architecture de VFS et les abstractions et APIs mises en œuvre. On découvre alors des interfaces très claires et on se rend compte qu’il est envisageable de développer son propre protocole pour VFS afin de permettre le chargement de ressources depuis n’importe quelle source de stockage (réseau, base de données, repository, …).

Au-delà de la compréhension de cette architecture et de son comportement standard, on retiendra donc cette possibilité d’adapter le déploiement des applications sur JBoss AS 5.x à l’infrastructure mise en place dans l’entreprise, et ce, pour un coût raisonnable.

A noter que l’auteur annonce que le prochain article portera sur le système de classloading du Microcontainer. A suivre donc …

Injection de dépendances en Javascript …

Dans la série pourquoi faire simple quand on peut faire compliqué, à l’heure où Spring vient d’annoncer la sortie de la version 3-RC1 de son framework, à l’heure où Google sort son nouveau framework web sitebricks basé sur Google Guice, son framework d’injection de dépendances, pourquoi ne pas abandonner tout cela et gérer vous-même l’injection des dépendances de votre application Java en … Javascript ! C’est ce que nous propose l’auteur de cet article.

S’il est clair que vous n’allez pas jeter votre framework préféré dés la lecture de ce billet, cette solution
a tout de même le mérite, en plus d’être originale, d’utiliser uniquement les fonctions du JDK : Scripting API + proxy dynamique.

Evènements de notre communauté en France et à l’étranger

Devoxx 2009 : le planning des sessions est maintenant connu

Devoxx (anciennement JavaPolis) est la première conférence Java au niveau européen et la seconde au niveau mondial, après JavaOne. L’édition 2009 se déroulera du 16 au 20 novembre et devrait, cette année encore, réunir plus de 3000 personnes.

Le planning des sessions est maintenant connu, ce qui permet d’observer les tendances du moment. On dégage ainsi une présence marquée du Cloud Computing, de JDK 7 et des langages alternatifs pour la JVM, notamment Scala.

On peut également noter quelques sessions particulièrement alléchantes telles que :

  • Le keynote de Steven Harris (Oracle, Product Development & Server Technologies)
  • Le keynote d’Ivar Jacobson
  • Distributed Programming the Google Way par Gregor Hohpe (l’auteur de Enterprise Integration Patterns), qui présentera les technologies mises au point par Google (MapReduce, GFS, Sawzall, Chubby, Protocol Buffers, …) pour rendre leurs applications distribuées optimales et surtout réalisables
  • The Modular Java Platform & Project Jigsaw par Mark Reinold, qui permettra de faire le point sur cette technologie clé du JDK 7 qui est encore peu documentée.
  • Maven 3 par Jason van Zyl (créateur de Maven)

En outre, pour ceux qui n’auraient pu assister à la présentation de JEE 6 par Antonio Goncalves au ParisJUG en début d’année, ou qui souhaiteraient être au fait des dernières évolutions, il présentera de nouveau une session sur ce sujet à Devoxx.

L’édition 2009 s’annonce donc aussi riche que les précédentes, ce qui laisse présager que, comme les années passées, les places seront toutes vendues 1 ou 2 semaines avant le début de la conférence, alors ne tardez pas à vous inscrire si vous êtes intéressés !

Asylum, un nouveau podcast dédié à JBoss

JBoss Community Asylum est un nouveau podcast créé par Max R. Andersen (JBoss Tools), Emmanuel Bernard (Hibernate), et Michael Neale (Drools) dont le contenu sera entièrement centré sur l’actualité et les informations relatives à la communauté JBoss.

Le premier épisode est en ligne et revient sur la conférence JBoss World et les nouveautés qui y ont été présentées, notamment :

Pour rappel, Emmanuel Bernard participe également à un podcast en français, les Cast Codeurs, dont le dernier épisode en date est disponible depuis hier.

Un commentaire

  • Excellante revue de presse, très complète!
    Merci pour ma veille techno ;-)

Laisser un commentaire