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

Le coin de la technique

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

Actualité éditeurs / SSII

Google App Engine, écrivez vos propres applications Google

Google a annoncé la semaine passée la mise à disposition d’une plateforme d’hébergement pour applications Web, Google App Engine. La plateforme est pour l’instant en preview release, seuls 10 000 développeurs on pu s’enregistrer pour y accéder.

App Engine met à disposition des développeurs (pour l’instant gratuitement, mais le service sera bientôt payant) les outils utilisés par Google pour ses propres applications :

  • Stockage de données avec BigTable et Google File System (GFS)
  • Scalabilité et répartition de charge
  • APIs Google, pour gérer l’authentification, envoyer des mails, et dialoguer avec le système de stockage de données
  • Ainsi qu’un environnement de développement local

Les développements sont pour l’instant effectués en Python, mais d’autres langages devraient prochainement être supportés. Si vous souhaitez promouvoir votre langage favori, c’est par ici que ça se passe (la demande de support de Java est actuellement en tête devant celles de Ruby et PHP).

Depuis la mise à disposition de ses services Amazon Simple Storage Service (S3), Amazon Elastic Cloud (EC2 – nuage de serveurs), et SimpleDB (base de données), nous savions que ce n’était qu’une question de mois avant de voir la riposte de Google.
Mais les services de Google et Amazon ne sont pas en concurrence frontale. Là où Amazon met à disposition des briques logicielles, Google met à disposition un environnement complet. On pourrait imaginer une application utilisant l’App Engine de Google en façade d’un nuage (EC2) pour le traitement par batchs.
A quand la réponse de Microsoft?

Quelques articles qui nous ont paru intéressants sur le sujet

Polémique : Gartner Group nous révèle que Windows Vista s’écroule sous son propre poids

Gartner Group nous annonce dans Windows collapsing under its own weight; Radical change needed que Windows 7 sera radicalement différent de Vista, ce sera le premier système d’exploitation modulaire de Microsoft.

Scoop ? Pas vraiment, Gartner nous l’avait déjà annoncé en Février 2007 dans Is Vista the last monolithic release?. En revanche, la nouvelle annonce nous dévoile quelques détails sur Windows 7.

Le coin de la technique

Polémique : Java est en train de perdre la bataille du web moderne

TV4IT nous avait invité à participer à son débat Java est mort, vive Java ? (part 2, part 3).
The Server Side relance le débat cette semaine avec Java is losing the battle for the modern web …. Derrière ce titre bien trouvé de guerre moderne, comme d’habitude, Java se ferait sortir du monde des applications web par des architectures LAMP sur des moteurs en C ; même la JVM ne trouve pas grâce aux yeux des cassandres.

Rien de nouveau dans les polémiques millénaristes si ce n’est un avis pessimiste sur l’avenir du prochainement disponible JavaFX face au prometteur Microsoft Silverlight et à l’omniprésent Adobe Flex. Comment JavaFX arrivera-t-il à prendre des parts de marché aux solutions d’Adobe et de Microsoft ? Quelle promesse de valeur ajoutée convaincra les clients de changer de technologie ?

Java EE Next Generations, les prédictions de Rod Johnson

Rod Johnson nous livre dans The Biggest Loser’s Next Contestant: Java Bloatware sa vision des prochains serveurs d’applications Java.

C’est l’occasion de comprendre la ligne directrice du framework Spring et en particulier de Spring Dynamic Modules for OSGi(tm) Service Platforms, Spring Integration et Tomcat (récemment rapproché de Spring par le rachat de Covalent).

Nous passerons les habituelles piques contre les serveurs d’applications Java EE qualifiés cette fois de « morbidly obese legacy platforms ». Au delà de ces critiques lassantes, nous retiendrons :

  • L’avenir de Java EE ne passera plus seulement par les spécifications du JCP mais aussi par celles d’organismes (cf OSGI, SCA, etc.)
  • Les serveurs d’applications de demain seront modulaires et beaucoup plus compacts
  • Les ESB et les serveurs d’applications vont converger
  • Ces évolutions augurent un renouveau de la compétition sur la marché des serveurs d’applications
  • Spring se positionne avec sa stack associée au serveur Tomcat dont on peut s’attendre une évolution rapide (OSGI-fication ?)

Sortie de Maven 2.0.9

La dernière version de Maven est disponible, voici les points les plus innovants :

  • MNG-3395 : le super pom 2.0.9 contient désormais les versions par défaut pour les plugins de base de Maven. Cette fonctionnalité était grandement attendue, elle devrait résoudre les problèmes de stabilité rencontrés sur les projets qui ne fixent pas dans leur pom parent les versions des plugins, puisque dans ce cas les plugins étaient mis à jour automatiquement dès leur mise en ligne sur le repository. Le travail effectué par Don Brown avec sa branche maven-db a en partie payé!
  • MNG-1412 et MNG-3111 : l’ordre des dépendances dans les fichiers classpath générés est désormais déterminé par l’ordre de déclaration dans le pom, les dépendances héritées étant ajoutées à la fin.
  • MNG-3415 : une erreur lors du téléchargement d’un artefact ne devrait plus corrompre les métadonnées du repository local. On ne devrait plus avoir besoin de supprimer une partie du repository local dans ce cas.
  • Un projet peut désormais importer les dépendances de plusieurs projets grâce au scope « import ». Sur un gros projet multi-modules c’était quasiment impossible, puisqu’un module ne peut hériter que d’un seul parent. Bien évidemment si on utilise cette fonctionnalité Maven 2.0.9 devient obligatoire pour builder le projet.

A noter que les 2 premiers points peuvent changer le comportement de votre build, attention aux risques de régression! La liste complète des corrections et améliorations est en ligne.

Camel 1.3 : les lightweight ESB progressent

James Strachan nous présente les nouveautés d’Apache Camel 1.3, le prédécesseur du toujours pas releasé Spring Integration dans le domaine des lightweight esb [1].
On remarquera l’amélioration de la testabilité, la meilleure intégration aux POJOs et le support de Microsoft Message Queuing (MSMQ) et d’AMQP.

Si cette release est une bonne nouvelle pour les utilisateurs des Enterprise Integration Patterns, elle est en revanche une source de confusion pour les utilisateurs d’Apache ServiceMix 3, le conteneur JBI également inclus dans la stack IONA FUSE, dont la valeur ajoutée par rapport à Camel est aujourd’hui difficile à trouver. La présentation du futur ServiceMix 4, qui intégrera OSGI, CXF et Camel, aidera les utilisateurs surpris à comprendre comment s’articulera la suite ActiveMQ-Camel-CXF-ServiceMix.

[1] cf. Xebia Blog : Spring Integration – L’avènement des ‘lightweight ESB’ ?

Netcraft Web Survey : Jetty progresse alors que Tomcat stagne

Alors que LightHttpd empiète poliment sur les plates-bandes de Apache Http Server avec seulement 2% des parts de marché de son aîné, le conteneur de Servlets open source Jetty rivalise sans complexe avec le très établi mais stagnant Apache Tomcat : le nombre de serveurs Jetty représente 80% de celui de serveurs Tomcat (cf webtide blog: Jetty has 80% of Tomcats public servers).

Comment Jetty a-t-il rattrapé Tomcat aussi vite ? Les innovations de Jetty sont certes intéressantes (OSGI, Ajax Comet Push, etc) mais il faut surtout voir l’attention que Jetty porte à sa communauté de développeurs en proposant un produit très léger et facile à intégrer alors que Tomcat s’est quelque peu endormi sur ses lauriers. Espérons que le récent rachat de Covalent par Spring Source redynamisera la communauté Tomcat.

IBM ObjectGrid est mort ! Longue vie à Websphere eXtreme Scale !

Billy Newport nous annonce que la grille de données qu’il a supervisée, IBM ObjectGrid, s’appellera dorénavant Websphere eXtreme Scale

Simple détail de marketing ou signe de « Big Is Beautiful » chez IBM ? Hormis ses qualités qui font d’ObjectGrid une grille de données de tout premier plan [1], ObjectGrid se singularisait dans le portfolio Java d’IBM par une grande indépendance à la stack Websphere (les 6 petits Mo du client ObjectGrid s’exécutent indépendamment de Websphere, même sur une JVM Sun) et par un format de documentation très novateur avec un wiki Confluence plutôt qu’un classique Infocenter.

Billy Newport avait été visionnaire en prédisant dès juillet 2005 l’avènement du lightweight Java dans End of the Java Web Frameworks Survey road for invasive middleware?. Espérons que son message continuera à influencer Big Blue et qu’ObjectGrid ne disparaîtra pas dans l’imposante stack Websphere.

[1] cf. l’EntityManager à la JPA qui n’a pas d’égal pour manipuler les POJOs des la grille

Java Web Frameworks Survey

Peter Karich présente dans Java Web Frameworks Survey un comparatif des huit frameworks Web qui suivent :

L’application était un simple bouton avec une zone de texte, dans laquelle on devait mettre un morceau de code permettant de dessiner un graphique. Pour le graphique, la librairie gnuplot a été utilisée.

Le comparatif nous permet de découvrir certains frameworks peu connus. Selon l’auteur, le framework Click présente des similarités avec Wicket et propose des aspects plus simples. Mettre en place sa première page avec Echo n’est pas très compliqué. En revanche GWT demande un certain coût d’entrée… (Nous avions partagé certaines de ces conclusions dans notre Web Framework Contest en Octobre dernier.

La conclusion de cette étude est que comme souvent chacun de ces frameworks a ses forces et ses faiblesses, et que si vous devez en choisir un il faut se poser les bonnes questions: un support est-t-il disponible ? Il y a t’il une communauté active? Quelles sont les possibilités d’intégration à une application existante ?

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

Kirk Pepperdine au Paris JUG

Kirk Pepperdine est venu présenter au Paris JUG les enjeux de performances en Java. En attendant que la présentation de Kirk soit disponible, les points essentiels :

  • L’émergence des processeurs multi-coeurs révèle des problèmes de concurrence d’accès qui n’apparaissaient pas auparavant : une application peut s’exécuter moins vite sur un processeur multi-coeur à cause d’apparition de goulets d’étranglement (synchronisation, etc).
  • Les APIs java.util.concurrent introduites avec Java 5 (en même temps que la clarification du modèle mémoire) simplifient le développement d’applications hautes performances.
  • Les bases de données ne sont pas encore optimisées pour les architectures multi-coeurs et sont concurrencées frontalement par les grilles de données (Terracotta, Coherence, etc) qui elles exploitent les opportunités de parallélisme.
  • Diagnostiquer un problème des performances d’une application Java nécessite d’étudier simultanément les quatre couches de « The Box » [1] : Hardware, JVM, Application et People.
  • Les premiers outils pour ce type de problèmes sont le Gestionnaire des Tâches sous Windows et vmstat/top sous Unix/Linux car ils donnent une vision d’ensemble (IO, CPU Système, CPU Applicative, etc).

D’autres blogs parlent de la venue de Kirk Pepperdine : Le touilleur Express : Présentation de Kirk Pepperdine au Paris Java User Group, David Gageot: Troisième rencontre du Paris Java User Group.

Merci encore aux organisateurs du Paris JUG et rendez-vous le 13 mai pour des présentations sur la Productivité des développements Java (Guillaume Duquesnay) et Maven (Arnaud Heritier).

[1] cf InfoQ : The Box: A Shortcut to finding Performance Bottlenecks par Kirk Pepperdine

Billets sur le même thème :

One Response

  • D’autres analyses sur le billet de Rod Johnson :

    • Emmanuel Bernard, JBoss : SpringSource’s strategy. On appréciera la qualité de l’analyse et la modération d’Emmanuel Bernard dans le climat actuellement tendu entre JBoss et SpringSource. On notera avec sourire le paradoxe de Rod Johnson qu’Emmanuel rappelle : les clients Spring Framework préfèrent très largement JBoss Hibernate à Apache OpenJPA et à Eclipse Link (aka TopLink) ; quelle est la préconisation de M. Johnson sur ce point ? Si le Java EE 6 Web Profile intègre JPA, il sera obligé de se dévoiler :-).
    • Franck Sommers, artima.com : Rod Johnson’s Predictions for Enterprise Java.

    Cyrille (Xebia)

Laisser un commentaire