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

Agilité

Le coin de la technique

Actualité éditeurs / SSII

IBM rejoint le projet OpenJDK

IBM a fait savoir hier soir par communiqué de presse qu’il rejoignait le projet OpenJDK à la suite d’un accord avec Oracle portant sur la mutualisation de leur efforts pour améliorer la plate-forme Java.

Cette annonce est pour le moins inattendue après les troubles qu’a connus la communauté Java cet été lors du conflit opposant Oracle à Google. Beaucoup voyaient alors cet évènement comme le signe d’un manque d’ouverture de la part d’Oracle pouvant nuire à l’avenir de Java. A l’inverse cette alliance entre Oracle et IBM devrait rassurer les entreprises quant à la pérennité de la plate-forme Java.

Les premières réactions sont arrivés rapidement. Mark Reinhold (leader du projet OpenJDK) s’est montré très enthousiaste à l’idée de cette collaboration. La veille, il avait d’ailleurs apporté quelques précisions quant à la mise en oeuvre du plan B, largement plébiscité par la communauté.

Un autre observateur met en avant le fait que depuis la création du projet OpenJDK il y a quelques années, la majorité du code à été commité par des ingénieurs de Sun/Oracle. L’arrivée sur le projet d’ingénieurs, avec en bagage leur expérience sur la JVM d’IBM, devrait donc constituer un apport de ressources très important pour OpenJDK.

Au-delà de la mutualisation des ressources, cet accord aura des conséquences politiques bénéfiques. En effet, beaucoup craignaient pendant un temps que le développement du JDK 7 sans JSR associée nuise à la concurrence puisque les JVM alternatives n’auraient alors plus de spécification sur laquelle se reposer. L’annonce d’IBM tend à résoudre ce problème puisque l’on passerait alors de multiples JVM concurrentes basées sur une même spécification à une JVM unique développée en collaboration par les acteurs à l’origine de HotSpot (Sun), JRockit (Oracle/BEA) et J9 (IBM). Une telle collaboration ne serait pas sans rappeler celle qu’a établie l’industrie derrière Linux.

Un point reste toutefois à déterminer : quelle sera la la gouvernance d’OpenJDK ? Dans le cas de Linux, la gouvernance est entre les mains de la Linux Foundation avec à sa tête Linus Torvald. Une organisation similaire est-elle possible autour du JCP en tant que « Java Foundation » ? Les réformes à venir du JCP devraient répondre à cette question.

Agilité

Comment vendre Scrum à votre manager

Dans cet article sur InfoQ, Mark Levison aborde l’épineux sujet de la conduite du changement vers une méthodologie agile.

Il est en effet complexe de convaincre un manager de la nécessité de migrer vers une méthodologie telle que Scrum car ce dernier est généralement contraint par des objectifs de delivery (délivrer de la valeur dans les temps par exemple). Mark nous donne quelques éléments permettant de gérer au mieux cette transition :

  • Soyez à l’écoute de votre management et concentrez vous sur ce qui a le plus de valeur aux yeux de votre manager.
  • Adoptez progressivement les méthodes agiles en justifiant les changements comme une amélioration du process actuel et non comme une migration vers une méthodologie agile.
  • Présentez régulièrement les bénéfices des changements mis en oeuvre et montrez le retour sur investissement des changements adoptés.

Vendre une migration vers une méthodologie comme Scrum peut se révéler complexe. En revanche, écouter et comprendre les problèmatiques rencontrées par votre management vous permettra de mettre en avant les solutions qui y répondent le mieux, et ainsi de démontrer à votre manager l’intérêt du changement.

L’introduction progressive d’une méthodologie agile peut s’apparenter à un développement itératif dont les éléments du backlog seraient constitués des éléments de la méthodologie, priorisés en fonction de la valeur apportée à votre management. En montrant régulièrement les progrès effectués et le retour sur investissement des changements, il est probable que votre management vous accordera sa confiance et une marge de manoeuvre plus importante afin d’améliorer les process en vigueur.

Le coin de la technique

Percolator, l’indexation incrémentale du Web selon Google

Google a diffusé la semaine dernière la très attendue publication académique portant sur sa nouvelle architecture d’indexation incrémentale du Web.

Jusqu’alors, Google parcourait l’ensemble des pages Web du monde, les stockait dans sa base de données distribuée BigTable, puis procédait à leur indexation à l’aide de tâche MapReduce sur un très large cluster de machines. Parmi les tâches composant cette indexation, ils procèdent à une inversion des liens, c’est-à-dire que les mots trouvés dans les liens sont attachés en tant que mots clés des pages vers lesquels ils pointent. L’ajout ou la mise à jour d’une page a donc un impact potentiel sur de nombreuses autres, c’est pourquoi une ré-indexation complète était effectué jusqu’alors. Outre le surcoût de cette solution, Google lui reprochait son manque de réactivité incompatible avec l’orientation « temps réel » que prend le Web depuis quelques années.

Cette nouvelle solution d’indexation incrémentale est nommée Percolator par Google et consiste en un ensemble de tâches transactionnelles déclenchées par événement. Ainsi lorsque le crawler ajoute ou modifie une page il déclenche un évènement qui déclenche une cascade de tâches Percolator.

Percolator fonctionne au-dessus de BigTable en se fondant sur sa logique : des colonnes BigTable sont utilisées pour le stockages des différents états de l’algorithme distribué : acknowledge, notification et lock.
Afin d’assurer une forte scalabilité, Percolator gère les conflits de mise à jour (collision de deux transactions) par un rééssai ultérieur. Cette logique le destine donc avant tout aux traitements batch asynchrones pour lesquels MapReduce n’est pas adapté.

Fort des explications et retours d’expérience de Google, on peut maintenant s’attendre à voir une implémentation Open Source de cette intéressante solution de batch incrémental distribué du coté de la communauté Apache Hadoop, mais cela prendra probablement de nombreux mois.

Maven 3

Maven 3 est sorti ce samedi 9 octobre presque 5 ans après la version 2. Je m’en sers dans la plupart des projets que je rencontre depuis un peu plus de 6 mois sans problèmes majeurs. En effet l’accent de cette release a été mis sur la compatibilité avec les versions précédentes et dès les premières versions alpha, elle était au rendez vous. Derrière le rideau tout ou presque a changé, cette version est une grosse refonte technique, mais pour l’utilisateur de Maven il n’y a que peu de différences.

Les nouveautés :

  • Construction des modules en parallèle: Il s’agit d’une option à activer avec le switch -T
  • Stabilité et prévisibilité : La vitesse moyenne des builds est légèrement améliorée, il y a notamment moins d’appels aux repositories, amélioration du classloading (pour les plugins et les extensions)
  • Validation et notification d’erreur : Les erreurs dans les descripteurs de projet ou dans les builds sont beaucoup plus clairement annoncés avec le plus souvent un ersatz de solution.

A venir :

  • Maven shell: un shell (ligne de commande) qui cache la résolution de dépendances ainsi que le chargement de plugins de commande en commande.
  • Maven polyglotte : permet d’exprimer les descripteurs de projets (pom.xml) dans d’autres langages que l’XML (Groovy, Ruby, Scala, Clojure…).
  • M2Eclipse : plugin d’intégration de Maven dans Eclipse qui devrait voir une release 1.0.

L’ensemble de ces développements est rendu possible grâce à l’architecture de Maven 3.

Pour plus de détails vous pouvez consulter la note de version et la note de compatibilité. Enfin pour savoir si les plugins que vous utilisez sont compatibles il y a la matrice de compatibilité.

Netbeans 6.10 sera finalement Netbeans 7

The Aquarium, le blog officiel sur le serveur J2EE Glassfish, nous apprend la nouvelle: l’ex-futur Netbeans 6.10, sera finalement renommé en Netbeans 7. La raison officielle semble être le calage sur le numéro de version de Java, Netbeans sera alors (quasiment) prêt à supporter les nouveautés syntaxiques de Java 7 pour la sortie du JDK 7 lors de sa sortie. Par ailleurs, on ne sera pas trop surpris d’apprendre que le support de JavaFX script ne sera plus à l’ordre du jour (mais dès la version 7.1, on devrait avoir un support étendu des API Java de JavaFX). La liste complète des changements se trouve sur le wiki de Netbeans.
Cette nouvelle version est prévue pour mars de l’année prochaine. En attendant, vous pouvez toujours tester les versions intermédiaires, la milestone 2 devant sortir cette semaine. Profitons en pour noter les évolutions permanentes de la version 6.9, et notamment une correction récente qui permet maintenant d’utiliser Lombok avec les projets de type Maven. Votre serviteur l’attendait avec impatience !

Gaelyk, le cloud facile

Gaelyk, le framework « léger » permettant de développer en Groovy sur le Google AppEngine, vient de voir se succéder assez rapidement plusieurs versions pour arriver jusqu’à la 0.5.5. Dzone nous détaille succintement les améliorations. Aucune n’apporte de vraie révolution, mais Gaelyk semble s’affirmer de plus en plus comme LE framework à utiliser par les développeurs Java s’ils veulent bénéficier facilement et à moindre coût d’un serveur leur permettant de mettre en ligne des petites applications. D’autant que le framework dispose d’un bien bel atout: le plugin maven-gaelyk a rapidement été mis à jour. Celui-ci permet d’utiliser notre outil de build favori pour créer un squelette d’application, puis le déployer et l’exécuter en local facilement.
Mais attention, Gaelyk ne se limite pas aux petites applications et Helloworld: Deluan Quintão nous indique que l’on peut facilement configurer notre Spring habituel pour retrouver les automatismes (certains diront la lourdeur ;) ) des applications d’entreprise. Il ne serait pas étonnant de voir de plus en plus de développeurs Java utiliser Gaelyk pour prototyper certains concepts ou réaliser des démos en un rien de temps.

Billets sur le même thème :

One Response

  • Et comment vendre Scrum aux clients finaux ? ;-)

    Je suis assez méfiant envers Gaelyk et les frameworks fonctionnant sur des clouds non standardisés, entrainant une dépendance envers un fournisseur de cloud. Haass si seulement tout cela était un peu plus normalisé.

Laisser un commentaire