Publié par
Il y a 8 années · 10 minutes · Back, Events

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

SpringOne G2X : c’est parti pour Spring 3 !

L’édition américaine de cette conférence dédiée aux produits SpringSource commence aujourd’hui à la Nouvelle Orléans et durera 4 jours. Elle est donc plus longue que les années précédentes en raison de l’intégration de nombreuses présentations dédiées à Groovy, mais également plus dense puisqu’on compte pas moins de 8 sessions en parallèle. La lecture du planning permet de noter la présence fortement marquée de Spring 3.0 et Spring Roo. Par ailleurs SpringSource offre de nombreuses sessions à Groovy / Grails, avec des sujets rarement évoqués tels que Grails and the JVM Memory Management ou OSGi and Groovy.

En accord avec les préceptes du Conference Driven Development, évoqués par Guillaume Laforge dans un podcast :-), SpringOne G2X est l’occasion d’un certain nombre d’annonces. Ainsi SpringSource vient d’annoncer dans un communiqué la finalisation du très attendu Spring 3.0, qui était jusqu’alors en statut release candidate.

Cette version est la première mise à jour majeure de Spring depuis la version 2.5 sortie il y a maintenant 2 ans et qui avait notamment apporté la configuration massive par annotations. Les principaux apports de la version 3.0 sont :

  • Support de REST dans Spring MVC
  • Transition de l’ensemble du code du framework vers Java 5, tirant ainsi partie des generics
  • Support de Spring Expression Language (SpEL) dans les annotations comme dans la configuration XML
  • Intégration de certains des mécanismes de configuration de Spring JavaConfig
  • Intégration d’OXM, l’abstraction de mapping Objet / XML jusqu’alors incluse dans Spring WS
  • Support initial de la JSR-330 (Dependency Injection)

Ces nouveautés étaient très attendues par la communauté et le succès à venir de Spring 3.0 semble acquis. Si cette projection est évidente, il est par contre plus délicat de dire qui aura la préférence dans les projets entre JAX-RS et le support de REST intégré à Spring MVC ou encore entre le nouveau standard qu’est la JSR-330 face à l’API propriétaire de Spring…

RIA

GWT 2.0 Milestone 1

GWT 2.0 arrive à grands pas ! Un petit avant goût nous est proposé depuis quelques jours avec la Milestone 1 de ce nouveau cru GWT (via InfoQ).

Des nouveautés, il y en a ! Du changement de terminologie en passant par de nouveaux composants, GWT 2.0 apporte son lots de gros changements :

  • nouvelle terminologie : le hosted mode devient le developpement mode et le web mode devient le production mode ;
  • distribution unique avec, vous le verrez sur la page de téléchargement, un JAR unique et non plus un JAR par environnement (Windows, Mac et Linux) ;
  • developpement mode directement dans le navigateur (GWT utilise pour cela un plugin de lecture de code natif), les fenêtres du mode hosté disparaissent ;
  • ajout du code splitting qui découpera le code en plusieurs fragments : l’idée ici est que l’on pourra commencer à utiliser une application web GWT alors que certains fragments (non nécessaires au démarrage de la webapp) n’auront pas été chargés, ce qui permettra entre autres un démarrage plus rapide de l’application (chargement différé) ;
  • UIBinder qui offrira la possibilité de déclarer nos écrans dans un fichier XML (swing-like ou flex-like, à vous de choisir :)) ;
  • ClientBundle qui optimisera et combinera des ressources telles que les fichiers texte, les CSS ou les XML, ce qui permettra de réduire le trafic réseau et les temps de latence ;
  • utilisation d’HtmlUnit pour les tests unitaires ;
  • suppression des APIs GWT dépréciées jusqu’à la version 1.6.

Les défauts que l’on remarquait sur les premières versions se corrigent donc petit à petit et GWT 2.0 affiche le souhait d’aider / simplifier la vie du développeur. Google confirme ainsi qu’il faut toujours compter sur GWT dans la course effréné au meilleur RIA du marché. Il est vrai que des applications comme Google Wave montrent clairement le potentiel technique de GWT (robustesse, rapidité…).

Concernant l’upgrade vers cette nouvelle mouture, l’équipe se veut rassurante et précise qu’une montée de version entre la 1.7 et la 2.0 ne devrait pas demander beaucoup d’efforts.
Le JAR se récupère à cette adresse.

Le coin de la technique

memcached vs. DataGrid, serveur stupide vs. serveur astucieux ?

Billy Newport, Websphere eXtreme Scale, est juge et partie dans son billet memcached versus DataGrid, dumb server versus smart server… dans lequel il compare le très à la mode memcached avec les sophistiquées DataGrid (IBM Websphere eXtreme Scale, Gigaspaces XAP, Oracle Coherence).
Le point d’attention de Billy Newport est la rusticité de memcached qui amène souvent les utilisateurs à inventer au dessus un ensemble de rustines qui rendent la solution finalement complexe et sous optimale. Le principal défi est la gestion de la haute disponibilité et la faiblesse du failover. En effet, l’intelligence de memcached se limite à être un gros entrepôt de clés-valeurs ; un serveur memcached n’est pas conscient qu’il est utilisé en mode partitionné et clusterisé avec d’autres serveurs, ce sont les clients memcached qui connaissent la topologie et ont une intelligence de routage des plus rudimentaire avec un modulo sur le hash de la clef à stocker.
De ce fait, les mécanismes de failover en cas d’arrêt d’un serveur sont très limités ; une extension de consistent hashing améliore la situation en évitant un transfert brutal de toutes les données que causerait la perte d’un nœud (tous les modulos changent). Ce ne sont que les débuts des difficultés, les ingénieurs de Facebook, gros consommateurs de memcached, détaillent dans Designing the Facebook username land rush les défis de fiabilité qu’ils ont rencontrés.
A cette rusticité de memcached, Billy Newport oppose la sophistication des DataGrids qui assurent en standard la fiabilité des données qu’elles gèrent, en consommant souvent moins de ressources mémoire, CPU et réseau.

Mesquinerie d’un éditeur qui cherche à tacler un concurrent ?

On peut en douter, l’argumentaire de Billy Newport est parfaitement cohérent. Memcached a été initialement créé pour mettre en cache des fragments html pour le site web LiveJournal, des données en lecture seule qui ne nécessitent de fiabilité, alors que les DataGrids ont été dès leur conception destinées au monde de la finance qui a besoin d’une fiabilité sans faille.

Alors que vaut-il mieux, un serveur rudimentaire étoffé par des gens astucieux ou des DataGrids astucieuses directement utilisables par des équipes qui n’ont pas le temps ou les compétences pour inventer un cache distribué fiable ?

Sans négliger le coût des DataGrids, rappelons nous l’adage « There is a fine line between clever and stupid », tout le monde n’est pas ingénieur clustering chez Facebook :-)

Finalisation de l’implémentation de référence de Beans Validation

Emmanuel Bernard annonce la disponibilité de la version 4.0 finale d’Hibernate Validator. Cette version est la première à implémenter la JSR-303 (Beans Validation) qui devrait se voir également finalisée dans le même temps.

En pratique, Validator 4.0 apporte principalement :

  • La composition de contraintes : il est ainsi possible de créer des contraintes qui réutilisent des contraintes existantes afin d’éviter la duplication de code.
  • La notion de groupe : en catégorisant les contraintes dans des groupes, il est possible de ne valider qu’une partie des contraintes, ce qui trouvera son intérêt dans de nombreux cas d’utilisation.
  • Les contraintes type-safe : la compatibilité entre le type supporté par une contrainte et celui de la valeur qu’elle valide est maintenant vérifié par Validator.
  • Une API de création de contraintes : il est désormais possible de définir des contraintes par programmation et non plus uniquement par Annotation.
  • La définition de contraintes par XML : alors que la version précédente ne permettait la définition de contraintes que par annotations, il est désormais possible de les définir également dans un fichier XML.

Les utilisateurs d’Hibernate Validator reconnaitront dans ces nouveautés des manques qu’ils avaient pu constater dans les versions précédentes. Toutefois, c’est probablement dans le support de la JSR-303 que réside la vraie révolution, puisqu’il s’agit d’unifier les très nombreux frameworks de validation qui se sont multipliés dans le monde Java depuis des années afin que nos applications ne dépendent plus que de javax.validation.

Le noyau de dm Server disponible séparément, pourquoi ?

Steve Powell, SpringSource, annonce la disponibilité d’une version autonome du noyau de dm Server : dm Kernel. Il s’agit d’une abstraction autour d’OSGi qui offre un environnement plus élaboré pour la construction de modules indépendants.

Par cette annonce SpringSource s’aligne sur un certain nombre d’autres middlewares qui mettaient déjà à disposition leur noyau assurant leur modularité tel que HK2 pour Glassfish, MicroContainer pour JBoss AS ou encore Karaf pour Apache ServiceMix. Une question vient alors naturellement en tête, pourquoi une telle séparation entre un middleware et son noyau en deux projets distincts ? On trouve des éléments de réponse en revenant sur le contexte entourant la sortie de chacun des noyaux concernés :

  • Guillaume Nodet expliquait la création d’un projet à part pour le noyau de ServiceMix par le souhait exprimé par plusieurs projets Apache de se baser sur celui-ci.
  • Steve Powell dans son annonce de dm Kernel met surtout en avant le fait qu’il ait pu être extrait de dm Server sans modification, prouvant ainsi le design propre et modulaire du serveur d’application de SpringSource.
  • Glassfish HK2 et JBoss MicroContainer ont quant à eux été l’occasion de mettre en avant la légèreté du serveur d’application auquel ils sont liés.

Si la raison d’être de ces projets de noyaux modulaires se situe quelque part entre design, partage, et marketing, la communauté Java s’en trouve dans tous les cas enrichie puisqu’ils permettent à des projets naissant de bénéficier immédiatement d’une architecture flexible et d’un socle robuste.

Un nouveau moteur de stockage pour ActiveMQ 5.3 : KahaDB

Rob Davies annonce la disponibilité d’ActiveMQ 5.3. Cette nouvelle version apporte son lot de nouveautés et d’améliorations à ce Message Oriented Middleware très populaire dans le monde Open Source.

Parmi les nouveautés, c’est la finalisation du nouveau moteur de persistance de messages KahaDB qui retient l’attention. Annoncé il y a un an sur la mailing list du projet, et en gestation depuis, le but de KahaDB est d’apporter la vélocité de Kaha Message Store et la fiabilité de AMQ Message Store. Ce nouveau moteur de persistance offre ainsi :

  • Journal transactionnel assurant la consistance des données
  • Réplication des données très performante
  • Support de plusieurs nœuds slaves
  • Aucun point central d’échec, le noeud master peut être reconstruit sur un slave suite à une défaillance

KahaDB se base sur ZooKeeper pour assurer l’élection d’un nouveau nœud master.

Ce nouveau moteur de persistance s’annonce très novateur et devrait assurer l’attractivité de cette nouvelle version d’ActiveMQ. Les lecteurs intéressés par ActiveMQ noteront par ailleurs qu’un ouvrage lui étant entièrement consacré paraitra courant 2010 chez Manning.

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

Traduction de la première partie de DDD Quickly

Pour rappel, DDD = Domain Driven Design

Guillaume Lebur est à l’initiative d’un travail intéressant et difficile : la traduction en anglais du livre DDD Quickly. Ce livre propose une approche plus rapide du DDD afin d’en cerner les problématiques, contrairement au livre d’Eric Evans qui se veut plus exhaustif et précis sur le sujet.

Son travail est disponible sur le site DDD France, communauté libre qui ne parle que du DDD en français. En bon français cela donne DDD vite fait et surtout beaucoup de travail. La première partie est d’ores et déjà traduite, donc félicitations Guillaume et bon courage pour la suite !

Xebia France
Xebia est un cabinet de conseil international spécialisé dans les technologies Big Data, Web, les architectures Java et la mobilité dans des environnements agiles. Depuis plus de 11 ans nous avons la volonté de partager notre expertise et nos actualités à travers notre blog technique.

5 thoughts on “Revue de Presse Xebia”

  1. Publié par Hikage, Il y a 8 années

    Concernant Spring 3 ‘final’, mis à part le communiqué, est-ce que vous avez d’autres sources ?

    Pour ma part, je suis tout de même un peu étonné d’une telle annonce :

    – JIRA : 77 issue pour RC2, 49 supplémentaire pour 3.0 Final
    – SVN : Aucun TAG, pas de « final touch for final » ou autre préparatif. Au contraire, ce jour encore, Juergen faisait des bugfixes pour la RC2…

    Ne serait-ce pas simplement un coup de « pub » pour Spring 3.0, style « Spring 3.0 est sorti, enfin presque, la RC1 mais c’est tout comme ? »

    Enfin bon, je peux me tromper, je vais tenter de suivre les tweet SpringOne pour voir si j’ai raison ou non.

  2. Publié par Francois, Il y a 8 années

    Je suis étonné que vous n’ayez pas du tout couvert le passage d’IntelliJ en opensource (enfin, pour être plus précis, d’une parti d’IDEA), vendredi dernier. C’est tout de même un mouvement majeur de la part du seul IDE Java propriétaire parmi les trois grands…

    Alors, le lien de l’annonce : http://www.jetbrains.com/idea/nextversion/free_java_ide.html

    Et le site OpenSource : http://www.jetbrains.org/

    En plus, le plugin Scala est libre. Entre ça et la licence JavaRebel^W JRebel toujours offerte pour Scala ( http://www.zeroturnaround.com/scala-license/ ), la productivité inhérente de Scala par rapport à Java… ça commence à faire une plateforme vraiment sexy et productive.

  3. Publié par Nicolas Griso, Il y a 8 années

    Bien que ne l’ayant pas couvert dans notre revue de presse, il était difficile de rater l’annonce vu la couverture médiatique qui en a été faite :
    http://www.touilleur-express.fr/2009/10/15/idea-intellij-version-community-oui-cest-gratuit-et-libre/
    http://blog.loof.fr/2009/10/une-escellente-idea.html
    http://ianskerrett.wordpress.com/2009/10/15/intellij-now-open-source/
    http://aniszczyk.org/2009/10/15/welcome-to-the-open-source-club-intellij/
    http://javaposse.com/index.php?post_id=537909
    http://www.infoq.com/news/2009/10/intellij-open-source
    http://www.artima.com/forums/flat.jsp?forum=270&thread=271144
    http://jetbrains.dzone.com/news/last-major-ide-vendor-intellij
    http://ahtik.com/blog/2009/10/16/intellij-idea-goes-open-source/

    Ceci étant dit, on ne peut que se réjouir de cette annonce, qui va peut être permettre de démocratiser Intellij IDEA.
    Cependant, en regardant de plus près la liste des fonctionnalités non présentes dans la version Communiy Edition, on se demande quel est le public visé par cet IDE. En effet, la partie web est totalement absente des fonctionnalités, le support des principaux frameworks n’y est pas non plus (spring, hibernte, …), on a Groovy mais pas Grails.
    Peut être veulent-ils se diriger vers un fonctionnement similaire à eclipse, à savoir se reposer sur l’intégration de plugins tiers. C’est alors que se posera la question de la qualité de la nouvelle plateforme (qualité qui est le principal atout d’Intellij IDEA)

    Et comme l’explique Cedric Beust dans un des rares posts à contre courant (http://beust.com/weblog/archives/000520.html ), l’avenir nous dira si cela fut un bon choix ou non.

  4. Publié par Michael Figuiere, Il y a 8 années

    @Hikage : L’annonce de SpringSource est en effet notre unique source d’information. L’absence de mouvement sur le SVN de SpringSource et d’apparition de package final sur la page de téléchargement du projet nous a rappelé des situations similaires lors des précédentes éditions de SpringOne. Ainsi lors du SpringOne Europe 2009, l’annonce de la mise a disposition d’une alpha de Roo n’avait été effective qu’après 1 ou 2 jours.

    Les annonces de SpringSource étant habituellement suffisamment crédibles, nous avons fait le choix de reporter cette annonce directement dans notre revue de presse. Les heures, voir les jours qui suivront montreront si ce choix était le bon…

    Michael Figuiere (Xebia)

  5. Publié par Michael, Il y a 8 années

    Hello,
    je pense qu’il y a eu un petit cafouillage de notre côté. Spring 3.0 n’est pas encore en RC2 et il reste un peu de temps pour qu’on arrive en version finale (comme l’a remonté Gildas, il y a encore quelques issues dans notre Jira :) ).

    Sorry for that!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *