<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:media="http://search.yahoo.com/mrss/"
> <channel><title>Blog Xebia France &#187; Websphere</title> <atom:link href="http://blog.xebia.fr/tag/websphere/feed/" rel="self" type="application/rss+xml" /><link>http://blog.xebia.fr</link> <description>J2EE, Agilité et SOA</description> <lastBuildDate>Wed, 08 Feb 2012 09:23:16 +0000</lastBuildDate> <language>fr</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <copyright>CC BY-NC-ND 2.0 http://creativecommons.org/licenses/by-nc-nd/2.0/fr/</copyright> <managingEditor>blog-france@xebia.com (Xebia France)</managingEditor> <webMaster>blog-france@xebia.com (Xebia France)</webMaster> <ttl>1440</ttl> <image> <url>http://blog.xebia.fr/videos/xebia-podcast.png</url><title>Blog Xebia France</title><link>http://blog.xebia.fr</link> <width>144</width> <height>144</height> </image> <itunes:new-feed-url>http://blog.xebia.fr/feed/podcast/</itunes:new-feed-url> <itunes:subtitle>Les podcasts de Xebia France vous permettent de suivre l&#039;actualité autour de Java, de l&#039;agilité, des technologies Web et bien d&#039;autres. Xebia France est une entreprise spécialisée dans les technologies Java et JEE en environnement agi[...]</itunes:subtitle> <itunes:summary>Les podcasts de Xebia France vous permettent de suivre l&#039;actualité autour de Java, de l&#039;agilité, des technologies Web et bien d&#039;autres. Xebia France est une entreprise spécialisée dans les technologies Java et JEE en environnement agile.</itunes:summary> <itunes:keywords>Xebia, Java, JEE, SOA, Agile, Méthodes, Agiles</itunes:keywords> <itunes:category text="Technology" /> <itunes:category text="Technology"> <itunes:category text="Software How-To" /> </itunes:category> <itunes:category text="Technology"> <itunes:category text="Tech News" /> </itunes:category> <itunes:author>Xebia France</itunes:author> <itunes:owner> <itunes:name>Xebia France</itunes:name> <itunes:email>blog-france@xebia.com</itunes:email> </itunes:owner> <itunes:block>no</itunes:block> <itunes:explicit>no</itunes:explicit> <itunes:image href="http://blog.xebia.fr/videos/xebia-podcast.png" /> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/04/19/revue-de-presse-xebia-207/</link> <comments>http://blog.xebia.fr/2011/04/19/revue-de-presse-xebia-207/#comments</comments> <pubDate>Tue, 19 Apr 2011 08:24:21 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Ceylon]]></category> <category><![CDATA[monitoring]]></category> <category><![CDATA[Nudge]]></category> <category><![CDATA[Play!]]></category> <category><![CDATA[Rails]]></category> <category><![CDATA[Red Hat]]></category> <category><![CDATA[Saas]]></category> <category><![CDATA[scala]]></category> <category><![CDATA[SCRUM]]></category> <category><![CDATA[Websphere]]></category> <category><![CDATA[xss]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=7514</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII IBM dévoile WebSphere 8 Sortie de Play! Framework 1.2 Nudge, une plate-forme hébergée de monitoring de performance applicative (SaaS) Sortie de Rails 3.0.6 corrigeant une faille de sécurité de type XSS Le coin de la technique Red Hat prépare Ceylon, [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/04/19/revue-de-presse-xebia-207/#WebSphere">IBM dévoile WebSphere 8</a></li><li><a
href="http://blog.xebia.fr/2011/04/19/revue-de-presse-xebia-207/#Sortiesdeplayframeworketscalap">Sortie de Play! Framework 1.2</a></li><li><a
href="http://blog.xebia.fr/2011/04/19/revue-de-presse-xebia-207/#Nudgeuneplateformehbergedemoni">Nudge, une plate-forme hébergée de monitoring de performance applicative (SaaS)</a></li><li><a
href="http://blog.xebia.fr/2011/04/19/revue-de-presse-xebia-207/#SortiedeRailscorrigeantunefail">Sortie de Rails 3.0.6 corrigeant une faille de sécurité de type XSS</a></li></ul><p><strong>Le coin de la  technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/04/19/revue-de-presse-xebia-207/#RedHatprpareCeylonunnouveaulan">Red Hat prépare Ceylon, un nouveau langage pour la JVM</a></li></ul><p><strong>Evénements  de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/04/19/revue-de-presse-xebia-207/#ScrumDaycommesivousytiez">Scrum Day 2011: comme si vous y étiez!</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="WebSphere"></a>IBM dévoile WebSphere 8</h4><p>Nos confrères du <a
href="http://www.lemondeinformatique.fr/actualites/lire-ibm-lancera-websphere-8-en-juin-33448.html" title="Monde Informatique" >Monde Informatique</a> et du <a
href="http://www.journaldunet.com/developpeur/java-j2ee/websphere-8-et-un-ide-html5-0411.shtml" title="Journal du Net" >Journal du Net</a> reviennent sur la conférence <a
href="http://www-01.ibm.com/software/websphere/events/impact/" title="Impact 2011" >Impact 2011</a>, qui se tenait à Las Vegas les 12 et 13 avril derniers, au cours de laquelle IBM a notamment présenté les grandes lignes de la version 8 de son célèbre serveur d&#8217;applications.</p><p>Disponible en version bêta depuis le mois de mars &#8212; la sortie officielle étant prévue pour juin &#8212; cette dernière version est 100% compatible avec Java EE 6. Parmi la longue liste de fonctionnalités <a
href="https://www14.software.ibm.com/iwm/web/cc/earlyprograms/websphere/wsasoa/index.shtml" title="au programme de cette nouvelle mouture" >au programme de cette nouvelle mouture</a>, citons le support des standards suivants :</p><ul><li>Enterprise JavaBeans (EJB) 3.1</li><li>Java Persistence API (JPA) 2.0</li><li>JavaServer Faces (JSF) 2.0</li><li>JavaServer Pages (JSP) 2.2</li><li>Servlet 3.0</li><li>JAXB 2.2</li><li>JAX-WS 2.2, et notamment le support de Web Services Security API (WSS API) et WS-Trust, censés faciliter le SSO à l&#8217;aide de web services.</li></ul><p>WebSphere 8 devrait apporter également:</p><ul><li>une meilleure prise en charge des applications OSGi;</li><li>une meilleure intégration des web services utilisant WS-Security SAML Token Profile 1.1;</li><li>un support de SIP Servlet 1.1 afin de favoriser l&#8217;utilisation d&#8217;applications de communication;</li><li>le support du cache L2 de JPA à l&#8217;aide de DynaCache (le cache par défaut utilisé dans WebSphere);</li><li>une intégration simplifiée avec WebSphere MQ.</li></ul><p>IBM semble également avoir voulu contenter les développeurs d&#8217;applications (il était temps, diront certains): non seulement le serveur semble démarrer plus rapidement, mais surtout le processus de déploiement a été simplifié, et il sera désormais possible de (re)déployer une application avec un simple <em>drag&#8217;n drop</em>.</p><h4><a
name="Sortiesdeplayframeworketscalap"></a>Sortie de Play! Framework 1.2</h4><p>La version 1.2 du framework <a
href="http://www.playframework.org/" title="Play" >Play!</a> vient tout juste de voir le jour. Pour ceux qui ne le connaitraient pas encore, Play est un framework web orienté haute productivité. Comme son cousin Grails, il repose sur des conventions, est extensible via des plugins et supporte le rechargement à chaud des modifications du code.</p><p>Les nouveautés apportées par cette <a
href="http://www.playframework.org/documentation/1.2/releasenotes-1.2" title="nouvelle version">nouvelle version</a> sont nombreuses :</p><ul><li>ajout d&#8217;un système de gestion de dépendances basé sur <em>Ivy</em>, permettant de récupérer des modules Play ou toutes autres librairies requises,</li><li>support du <em>Long Polling</em> et des <em>Web Sockets</em>, pour les connections asynchrones,</li><li>introduction d&#8217;un mécanisme de gestion des évolutions des schémas de bases de données,</li><li>ajout du concept d&#8217;<em>Invocation</em> permettant la mise en place de mécanismes équivalent aux <em>Servlet Filters</em> ou à l&#8217;<em>AOP</em> (pour la déclaration des transactions à l&#8217;arrivée d&#8217;une requête par exemple),</li><li>support des bases <em>H2</em>, maintenant embarquées par défaut,</li><li>possibilité de lancer les tests <em>JUnit</em> directement dans <em>Eclipse</em> (sans passer par la page de tests),</li><li>une meilleure documentation du framework, avec notamment une <em>Cheat-Sheet</em>, toujours accessible en mode déconnecté.</li></ul><p>Cette version 1.2 est accompagnée de la version 0.9 du plugin Scala pour Play. Ce plugin permet l&#8217;utilisation du <a
href="http://www.scala-lang.org/" title="langage Scala" >langage Scala</a> pour développer vos applications Web avec le framework Play. Outre une meilleure intégration de Scala dans le framework Play, cette nouvelle version du plugin apporte une nouvelle couche d&#8217;accès aux bases de données nommée <em>Anorm</em>. <em>Anorm</em> permet l&#8217;accès en SQL à vos données et utilise des fonctionnalités du langage Scala (le <em>Combinator Parsing</em>) pour mapper le résultat des requêtes avec vos objets. D&#8217;importantes évolutions sont encore attendues dans la <a
href="http://scala.playframework.org/documentation/scala-0.9/roadmap" title="prochaine version" >prochaine version</a> de ce plugin, qui devrait encore améliorer son intégration et sa documentation.</p><p>Cette nouvelle version apporte donc d&#8217;importantes améliorations et confirme la simplicité qui est au coeur de la philosophie de Play.</p><h4><a
name="Nudgeuneplateformehbergedemoni"></a>Nudge, une plate-forme hébergée de monitoring de performance applicative (SaaS)</h4><p>La société Level5 Consulting vient de sortir <a
href="http://www.level5.fr/nudge.html" title="Nudge" >Nudge</a>, une offre hébergée de monitoring d&#8217;applications en production. Les cibles sont des logiciels de type web ou batch développés en Java/JEE.</p><p>Utilisateurs, vous aurez à disposition des fonctionnalités permettant de :</p><ul><li>collecter et agréger des temps de réponse,</li><li>identifier les requêtes SQL consommatrices,</li><li>suivre la consommation mémoire et CPU,</li><li>agréger des données par module et/ou processus métier,</li><li>créer de métriques personnalisées par API,</li><li>gérer des alertes et des SLA,</li><li>collecter des informations sur les incidents de production.</li></ul><p>Vous bénéficierez aussi d&#8217;un support d&#8217;expert sur l&#8217;optimisation d&#8217;application. Vous pouvez dès maintenant découvrir Nudge gratuitement ou bien tester une application de démonstration disponible sur le site de l&#8217;éditeur. Pour plus de détails, consultez <a
href="http://www.developpez.com/actu/31008/La-societe-francaise-Level5-lance-Nudge-sa-plate-forme-hebergee-de-monitoring-de-performance-applicative/" title="larticle de Developpezcom sur le sujet" >l&#8217;article de Developpez.com sur le sujet</a>.</p><h4><a
name="SortiedeRailscorrigeantunefail"></a>Sortie de Rails 3.0.6 corrigeant une faille de sécurité de type XSS</h4><p>C&#8217;est le 6 avril que la dernière version (3.0.6) de l&#8217;outils <a
href="http://rubyonrails.org/" title="Rails" >Rails</a> est sortie. C&#8217;est une version importante puisqu&#8217;elle corrige, entre autre, une faille de sécurité. En effet, une vulnérabilité de type XSS (<a
href="http://fr.wikipedia.org/wiki/Cross-site_scripting" title="Cross Site Scripting" >Cross Site Scripting</a>) peut être exploitée si la méthode <code>auto_link</code> est utilisée dans les sources. Cette dernière en effet avait la fâcheuse habitude de marquer automatiquement ses paramètres comme étant <code>html safe</code>, et ce, quelle que soit leur origine: ceux-ci n&#8217;étaient donc en vérité jamais contrôlés. Il était donc possible d&#8217;exécuter du code javascript malveillant en l&#8217;injectant dans un paramètre de type <code>string</code>. Le billet mentionne trois solutions pour palier ce problème: mettre à jour votre version de Rails, installer un patch ou&#8230; ne pas utiliser cette méthode <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /></p><p>Cette mise à jour apporte quelques autres ajouts, dont vous pouvez retrouver le détail sur le <a
href="http://weblog.rubyonrails.org/2011/4/6/rails-3-0-6-has-been-released" title="blog du projet" >blog du projet</a>.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la  technique</h3><h4><a
name="RedHatprpareCeylonunnouveaulan"></a>Red Hat prépare Ceylon, un nouveau langage pour la JVM</h4><p>Le &laquo;&nbsp;buzz&nbsp;&raquo; de la semaine c&#8217;est bien sûr la diffusion d&#8217;<a
href="http://www.slideshare.net/devstonez/introducing-the-ceylon-project-gavin-king-presentation-at-qcon-beijing-2011" title="une présentation" >une présentation</a> (et de <a
href="http://www.slideshare.net/devstonez/the-ceylon-type-system-gavin-king-presentation-at-qcon-beijing-2011" title="sa deuxième partie" >sa deuxième partie</a>) que Gavin King a faite à Pékin lors de la <a
href="http://www.qconbeijing.com/english.html" title="QCon" >QCon</a>, où il révèle qu&#8217;il travaille pour Red Hat à un nouveau langage pour la JVM : Ceylon. Bien que Gavin ne prévoyait pas de parler officiellement du projet de son équipe aussi tôt, il a confirmé la nouvelle ; d&#8217;abord sur <a
href="http://in.relation.to/Bloggers/Ceylon" title="son blog" >son blog</a>, puis lors d&#8217;une <a
href="http://www.infoq.com/news/2011/04/ceylon" title="interview pour InfoQ" >interview pour InfoQ</a>.</p><p>Alors de quoi s&#8217;agit-il ? La première chose à noter est que Gavin King se défend de vouloir créer le langage du futur pour la JVM ou un &laquo;&nbsp;Java Killer&nbsp;&raquo;. Il se dit d&#8217;ailleurs &laquo;&nbsp;fan apologétique&nbsp;&raquo; de Java et propose donc Ceylon comme un langage fortement inspiré de celui-ci, sans les frustrations qu&#8217;il occasionne. Les principales frustrations étant selon lui :</p><ul><li>les librairies du SDK, vieilles et mal conçues ;</li><li>la difficulté de définir une interface utilisateur en Java (il blâme d&#8217;ailleurs le complément quasi-automatique de Java pour beaucoup de besoins : XML) ;</li><li>le manque d&#8217;un vrai système de modules (il dénonce à cet égard la complexité de Maven et d&#8217;OSGi, en se prononçant en faveur du framework <a
href="https://github.com/jbossas/jboss-modules" title="JBoss Modules" >JBoss Modules</a>) ;</li><li>le manque de fonctions <a
href="http://fr.wikipedia.org/wiki/Fonction_d%27ordre_sup%C3%A9rieur" title="d'ordre supérieur" >d&#8217;ordre supérieur</a> et/ou <a
href="http://fr.wikipedia.org/wiki/Objet_de_premi%C3%A8re_classe" title="de premire classe" >de première classe</a> ;</li><li>la gestion de la concurrence (il fustige le fait que tout objet Java puisse être un sémaphore et juge qu&#8217;un langage ne devrait pas avoir de primitives de synchronisation, ce rôle devant selon lui être assumé par des librairies spécialisées) ;</li><li>ce qu&#8217;il appelle les &laquo;&nbsp;verrues&nbsp;&raquo; du langage : getters/setters, tableaux et types primitifs, la gestion des valeurs null, les checked exceptions, la généricité (surtout des points qu&#8217;il juge obscurs comme la notion de <em>type erasure</em> ou les <em>wildcards</em>) et le système de typage d&#8217;une manière globale.</li></ul><p>En pratique &#8212; et en résumé &#8212; Ceylon propose les points suivants :</p><ul><li>de garder tout ce qui fonctionne bien dans Java et en a fait le succès : la JVM, la garbage collection, pas de pointeurs, le typage statique, la lisibilité ;</li><li>le tout objet : tout est type et il n&#8217;y a pas de types &laquo;&nbsp;primitifs&nbsp;&raquo; (mais on peut encore utiliser <code>void</code> pour spécifier le non-retour d&#8217;une fonction) ;</li><li>la possibilité de faire des <a
href="http://en.wikipedia.org/wiki/Mixin" title="mixins" >mixins</a>, c&#8217;est-à-dire d&#8217;implémenter des méthodes dans des interfaces (tant qu&#8217;il n&#8217;y a pas besoin d&#8217;initialisation) &#8212; fonctionnalité sans doute inspirée du Projet Coin ;</li><li>une généricité à la fois plus simple et plus restrictive : les paramètres-types (<em>type parameters</em>) peuvent, à l&#8217;aide des mots-clés <code>in</code> et <code>out</code>, être déclarés <em>covariants</em> ou <em>contravariants</em>, ce qui élimine la nécessité de passer par des <em>wildcards</em>, qui n&#8217;existent d&#8217;ailleurs pas dans ce langage: si <code>Box</code> prend un paramètre-type <code>T</code> covariant, une variable de type <code>Box&lt;Integer&gt;</code> est alors assignable, sans transtypage explicite, à une variable de type <code>Box&lt;Number&gt;</code>. Cela conduit Gavin King à imaginer deux interfaces <code>List&lt;T&gt;</code>, l&#8217;une covariante avec <code>T</code> et prenant en charge les opérations de lecture, l&#8217;autre contravariante prenant en charge les opérations d&#8217;écriture (qui modifient la liste) ;</li><li>une structure intrinsèquement récursive: &laquo;&nbsp;une classe n&#8217;est qu&#8217;une fonction retournant à l&#8217;appelant une <a
href="http://fr.wikipedia.org/wiki/Fermeture_(informatique)" title="fermeture" >fermeture</a> renfermant tous ses membres&nbsp;&raquo; (à la manière de ce que fait JavaScript) ;</li><li>des fonctions d&#8217;ordre supérieur et de première classe : une fonction peut ainsi être passée en paramètre d&#8217;une autre fonction, une fonction peut contenir d&#8217;autres fonctions (ceci découle de la structure récursive du langage), une fonction peut être assignée à une variable, etc&#8230; &#8212; cependant, les <a
href="http://fr.wikipedia.org/wiki/Fonction_anonyme" title="fonctions anonymes" >fonctions anonymes</a> (<em>fonctions lambda</em>) ne sont pas autorisées;</li><li>classes et interfaces peuvent spécifier par avance l&#8217;ensemble des sous-types qu&#8217;elles peuvent avoir ;</li><li>pas d&#8217;opérateur de transtypage (<em>casting</em>), mais la possibilité d&#8217;utiliser une structure <code>switch</code> particulière :</li></ul><pre class="brush: java; title: ; notranslate">
switch(maVariable) case (is UnType) {...} case(is UnAutreType) {...} else {...}
</pre><ul><li> des contrats plus forts :<ul><li> des valeurs ne sont nullables que si explicitement déclarées comme telles (avec un &laquo;&nbsp;<code>?</code>&nbsp;&raquo; derrière le type) et il faut alors obligatoirement les tester avec :<pre class="brush: java; title: ; notranslate">if (exists maVariable) {...} else {...}</pre></li><li>les attributs d&#8217;une classe ne sont modifiables que si déclarés comme tels avec <code>variable</code>, et il faut alors utiliser l&#8217;opérateur <code>:=</code> plutôt que <code>=</code> pour leur réaffecter une valeur ;</li></ul></li><li>des niveaux de visibilité simplifiés : <code>shared</code> (public) ou privé par défaut ;</li><li>des getters/setters implicites pour les variables d&#8217;instance ;</li><li>pas d&#8217;exceptions vérifiées (<em>checked exceptions</em>) ;</li><li>pas de surcharge (<em>overloading</em>) de méthodes mais en revanche des valeurs par défaut pour les paramètres ;</li><li>pas de surcharge d&#8217;opérateur mais des équivalents/méthodes que l&#8217;on peut redéfinir pour un type les supportant. Par exemple <code>></code> est équivalent à <code>.largerThan()</code> qui peut être redéfini par les implémentations de <code>Comparable</code> ;</li><li>une syntaxe alternative où il est obligatoire de nommer les arguments des méthodes, ce qui donne au final un langage descriptif que Gavin envisage comme une solution face à XML pour décrire des interfaces &#8212; l&#8217;exemple suivant, tiré de la présentation de Gavin King, est en effet assez parlant:</li></ul><pre class="brush: java; title: ; notranslate">
Table squares {
    title = &quot;Squares&quot;;
    rows = 10;
    Column {
        heading = &quot;x&quot;;
        String content(Natural row) {
            return $row;
        }
    }
    Column {
        heading = &quot;x**2&quot;;
        String content(Natural row) {
            return $row**2;
        }
    }
}
</pre><p>Au rayon des choses étranges :</p><ul><li>pas de mot-clé <code>new</code> ;</li><li>un seul constructeur autorisé (définitivement pas d&#8217;overloading donc), qui plus est fusionné avec la définition de la classe :</li></ul><pre class="brush: java; title: ; notranslate">class Counter(Natural initialValue) {
	if (initialValue &gt; 100) {
		throw OutOfRangeException()
	}
	...
}</pre><ul><li>le support de la <a
href="http://fr.wikipedia.org/wiki/Curryfication" title="curryfication" >curryfication</a> ;</li><li>la documentation est conçue comme partie intégrante du langage (un peu comme dans <a
href="http://code.google.com/p/noop/" title="Noop" >Noop</a>).</li></ul><p>Que penser de cet énième langage fondé sur la JVM?</p><p>On retrouve en effet dans Ceylon beaucoup de fonctionnalités également présentes dans d&#8217;autres langages dérivés de Java (<a
href="http://www.scala-lang.org/" title="Scala" >Scala</a>, <a
href="http://groovy.codehaus.org/" title="Groovy" >Groovy</a>, <a
href="http://gosu-lang.org/" title="Gosu" >Gosu</a>, <a
href="http://fantom.org/" title="Fantom" >Fantom</a>, pour ne citer qu&#8217;eux). On les retrouve aussi dans la <a
href="http://www.jroller.com/scolebourne/entry/the_next_big_jvm_language1" title="rflexion de Stephen Colebourne" >réflexion de Stephen Colebourne</a> pour définir un futur grand langage pour la JVM, qu&#8217;il a notamment présentée lors de la réunion du Paris JUG du mois de mars.</p><p>On constate donc bien que le but n&#8217;est pas de révolutionner le monde Java, et par ailleurs beaucoup de <a
href="http://lockster.posterous.com/ceylon-interesting-for-the-wrong-reasons" title="critiques" >critiques</a> ont déjà fusé sur le fait que Scala propose mieux depuis longtemps ou que ce langage propose tellement peu qu&#8217;il pourrait être mort-né.</p><p>Cela étant, les idées proposées sont plus que jamais d&#8217;actualité, et l&#8217;initiative étant portée par Red Hat et Gavin King (Hibernate, JBoss Seam), on peut légitimement espérer qu&#8217;elle fasse bien plus d&#8217;effet qu&#8217;un pétard mouillé.</p><p>Quoi qu&#8217;il en soit, il y a encore beaucoup de travail sur le projet : bien que le langage soit en étude depuis deux ans, aucun compilateur n&#8217;a encore vu le jour.</p><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evénements  de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="ScrumDaycommesivousytiez"></a>Scrum Day 2011: comme si vous y étiez!</h4><p>Les webcasts du Scrum Day sont <a
href="http://www.frenchsug.org/display/FRSUG/Scrum+Day+France%2C+31+mars+2011" title="en ligne" >en ligne</a> sur le wiki du FSUG. Revivez l&#8217;intégralité de l&#8217;événement, comme si vous y étiez! Les présentations du grand amphithéâtre ont été filmées, les autres sont diffusées en commentaires audio accompagnés de slides.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/04/19/revue-de-presse-xebia-207/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/</link> <comments>http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/#comments</comments> <pubDate>Mon, 13 Oct 2008 17:14:30 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Flex]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Java Module System]]></category> <category><![CDATA[OSGi]]></category> <category><![CDATA[SCRUM]]></category> <category><![CDATA[SpringSource]]></category> <category><![CDATA[Websphere]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=815</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII SpringSource : sortie par le haut Websphere: les derniers seront les premiers ? Agilité Prioriser le Product Backlog Leçons de management par la NASA RIA 10 choses à savoir sur Flex GraniteDs en version 1.1.0 Le coin de la technique [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/#SpringSourcesortieparlehaut">SpringSource : sortie par le haut</a></li><li><a
href="http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/#Webspherelesderniersserontlesp">Websphere: les derniers seront les premiers ?</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/#PrioriserleProductBacklog">Prioriser le Product Backlog</a></li><li><a
href="http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/#LeonsdemanagementparlaNASA">Leçons de management par la NASA</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/#chosessavoirsurFlex">10 choses à savoir sur Flex</a></li><li><a
href="http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/#GraniteDsenversion">GraniteDs en version 1.1.0</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/#JSROSGimatuerStanleyHo">JSR-277 : <em>OSGi m&#8217;a tuer</em> (Stanley Ho)</a></li></ul><p><strong>Evènements de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/#ParisJUGsoireOSGi">Paris JUG : soirée OSGi</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="SpringSourcesortieparlehaut"></a>SpringSource : sortie par le haut</h4><p>Comme nous l&#8217;annoncions succinctement <a
href=" http://blog.xebia.fr/2008/10/08/spring-30-le-grand-nettoyage-du-printemps/" title="mercredi" >mercredi</a>, SpringSource a revu sa copie concernant sa nouvelle politique de maintenance abandonnant de ce fait  les points les plus polémiques de celle-ci, dont sa fameuse règle des trois mois à l&#8217;origine des levées de boucliers de la communauté.</p><p>Dans son post de mardi dernier, Rod Johnson dévoile donc le <a
href="http://blog.springsource.com/2008/10/07/a-question-of-balance-tuning-the-maintenance-policy/" title="nouveau fonctionnement" >nouveau fonctionnement</a> de celle-ci : les releases seront disponibles pour la communauté jusqu&#8217;à la sortie d&#8217;une nouvelle version majeure. Ainsi, les binaires des versions 2.5.x du cœur du framework continueront d&#8217;être publiés tant que Spring 3.0 RC1 n&#8217;est pas disponible. SpringSource compte, par ce biais, inciter la communauté open-source à toujours coller aux dernières versions de son framework.</p><h4><a
name="Webspherelesderniersserontlesp"></a>Websphere: les derniers seront les premiers ?</h4><p>Dernier serveur certifié Java EE 5, Websphere ressort grand vainqueur d&#8217;une étude comparative des principaux serveurs d&#8217;application du marché, menée par <a
href="http://www.evansdata.com/reports/viewRelease_download.php?reportID=20" title="Evans Data Corporation" >Evans Data Corporation</a> (rapport gratuit, mais enregistrement nécessaire).</p><p>Cette étude soulève déjà de nombreuses questions chez les concurrents (comme <a
href="http://blog.softwhere.org/archives/409" title="Rick Sharples, de JBoss" >Rick Sharples, de JBoss</a>), le marketing d&#8217;IBM n&#8217;allant pas se plaindre d&#8217;une si belle vitrine.<br
/> Rick émet 3 interrogations majeures :</p><ul><li>Comment comparer des serveurs d&#8217;application dont les communautés peuvent varier d&#8217;un noyau de type &#8216;niche&#8217; (SAP) à des super-communautés mondiales (IBM, BEA, RedHat ou Microsoft) ?</li><li>Pourquoi n&#8217;arrive t&#8217;on pas à corréler les résultats de cette étude avec ceux d&#8217;autres études publiques, voire internes, sur JBoss ?</li><li>Pourquoi évalue t&#8217;on un serveur aussi confidentiel que Geronimo (lui aussi chez IBM) ?</li></ul><p>Pour notre part, nous émettons un certain nombre de réserves :</p><ul><li>L&#8217;étude ayant été menée durant l&#8217;été 2008, elle ne peut nécessairement pas porter sur WAS 7.0, sorti officiellement en septembre (d&#8217;autant plus qu&#8217;un des points de l&#8217;étude porte sur le support, qui n&#8217;est pas assuré pour les versions <em>beta</em>). Cette étude porte donc plus globalement sur &#8216;les marques&#8217;, plutôt que sur les dernières versions des serveurs d&#8217;application cités.</li><li>Les consultants Xebia ont l&#8217;habitude de travailler avec bon nombre de ces serveurs d&#8217;application, et au petit jeu des comparaisons directes (ce qui n&#8217;est pas le cas de cette étude), les avis sont loin d&#8217;être aussi tranchés.</li><li>La rédaction du rapport est très orientée &#8216;marketing&#8217;, ce qui est étonnant au vu de la population consultée. Il est étonnant de lire des phrases telles que &laquo;&nbsp;WebSphere&#8217;s users obviously love this product.&nbsp;&raquo; venant de développeurs qui n&#8217;ont souvent pas le choix de leur serveur d&#8217;application (souvent dicté par les achats groupe ou l&#8217;exploitant) et qui ont tendance à ne faire que &laquo;&nbsp;subir&nbsp;&raquo; ses désavantages.</li></ul><p>Alors, étude téléguidée par un éditeur ? Enième conflit d&#8217;intérêt pour un cabinet d&#8217;analyse dont les clients sont les premiers sujets de comparatifs ? La réponse est sûrement plus complexe et on peut tout au plus tirer quelques enseignements de ce travail :</p><ul><li>JBoss joue définitivement dans la cour des grands, et est un concurrent sérieux pour les &laquo;&nbsp;grands&nbsp;&raquo; serveurs d&#8217;application, même sur des applications à grande échelle.</li><li>la communauté s&#8217;inquiète du rachat de BEA par Oracle (peut-être est-ce même la raison principale de cette 7ème place).</li><li>Le &laquo;&nbsp;petit jeune&nbsp;&raquo;, Glassfish, qui remporte l&#8217;adhésion des développeurs pour sa facilité de mise en oeuvre, n&#8217;est pas en reste sur les fonctions principales (performances, scalabilité) et vient titiller les vieux mastodontes.</li><li>La comparaison objective de serveurs d&#8217;application, dans un environnement aussi hétéroclite que celui des SI du XXIeme siècle, avec des problématiques variées et complexes, est un exercice dangereux, qui porte rapidement à critique.</li></ul><h3><a
name="Agilit"></a>Agilité</h3><h4><a
name="PrioriserleProductBacklog"></a>Prioriser le Product Backlog</h4><p>En Scrum, il faut ordonner les éléments du <a
href="http://agilesoftwaredevelopment.com/blog/artem/product-backlog" title="Product Backlog" >Product Backlog</a> pour que l&#8217;équipe sache quelles sont les fonctionnalités à implémenter en priorité.<br
/> <a
href="http://www.blogger.com/profile/04855156445588778076" title="Peter Stevens" >Peter Stevens</a> propose différentes stratégies pour <a
href="http://agilesoftwaredevelopment.com/blog/peterstev/prioritizing-product-backlog" title="prioriser le Product Backlog" >prioriser le Product Backlog</a>, à composer selon le contexte du projet :</p><ul><li><strong>Ensemble minimum de fonctions</strong> : faire une liste minimum des fonctions à implémenter pour que le produit soit utilisable et accepté par les utilisateurs</li><li><strong>Valeur métier en premier</strong> : se concentrer sur les fonctions à haute valeur ajoutée métier. La valeur métier (typiquement avec un coefficient entre 1 et 100) est fixée par le Product Owner.</li><li><strong>En avoir pour son argent</strong> : semblable à la précédente approche, elle se concentre sur les éléments qui ont le meilleur rapport valeur métier/coût.</li><li><strong>Risques techniques en premier</strong> : préconisée par <a
href="http://en.wikipedia.org/wiki/RUP" title="RUP" >RUP</a>, cette approche s&#8217;attaque aux points techniques difficiles en premier. Cela peut cependant conduire à un système trop complexe par rapport aux besoins.</li><li><strong>Reporter le risque</strong> : s&#8217;attaquer aux difficultés en dernier (ou jamais). Préférer les stories bien comprises, tout en investigant les stories plus risquées/coûteuses pour les décomposer.</li><li><strong>Votes des utilisateurs</strong> : demandez aux utilisateurs de voter parmi une liste de fonctionnalités potentielles.</li></ul><p>Ce dernier point peut être accompli par une <a
href="http://www.qualitystreet.fr/?2007/12/13/85-le-modele-de-kano-si-precieux-pour" title="analyse de Kano" >analyse de Kano</a> comme le propose Mike Cohn dans sa présentation <a
href="http://www.infoq.com/news/2008/10/mike-cohn-prioritizing-backlog" title="Prioritizing Your Product Backlog" >Prioritizing Your Product Backlog</a> mise en ligne sur InfoQ. Le <a
href="http://www.mountaingoatsoftware.com/system/presentation/file/84/Cohn_PrioritizingYourBacklog.pdf" title="pdf" >pdf</a> est également disponible.<br
/> Mike Cohn y présente plusieurs techniques de priorisation, plus concrètes mais nécessitant plus de calculs  :</p><ul><li><strong>Analyse de Kano</strong> : distinguer les thèmes selon 3 types : fonctions obligatoires, linéaires, et attractives. Implémenter toutes les fonctions obligatoires, le plus de linéaires possible et quelques excitateurs pour la satisfaction utilisateur.</li><li><strong>Theme screening</strong> : noter les thèmes selon certains critères de sélection, par rapport à un thème de référence.</li><li><strong>Theme scoring</strong> : semblable au Theme screening en pondérant les critères de sélection</li><li><strong>Relative weighting</strong> : pour chaque thème, calculer le rapport entre sa valeur relative (aux autres thèmes du product backlog) et son coût relatif. Ce rapport donne la priorité du thème.</li></ul><p>Ces techniques s&#8217;appliquent toutes au niveau <a
href="http://www.aubryconseil.com/dotclear/index.php/2007/10/04/305-features-themes-epics-et-stories" title="thème" >thème</a>, car descendre au niveau user story demanderait trop de travail sur un product backlog complet.</p><h4><a
name="LeonsdemanagementparlaNASA"></a>Leçons de management par la NASA</h4><p>Jerry Madden, un ancien employé du <a
href="http://fr.wikipedia.org/wiki/Goddard_Space_Flight_Center" title="Goddard Space Flight Center" >Goddard Space Flight Center</a> de la NASA, a collecté &laquo;&nbsp;100 leçons&nbsp;&raquo; apprises auprès des managers qu&#8217;il a cotoyés.<br
/> Marios Alexandrou en a extrait <a
href="http://www.mariosalexandrou.com/blog/?p=69" title="les leçons qui collent le plus avec son expérience des projets web" >les leçons qui collent le plus avec son expérience des projets web</a>. Parmi les plus marquantes :</p><ul><li>Une <strong>réunion de travail</strong> devrait durer <strong>5 minutes</strong> minimum (moins elle est inutile) et <strong>1 heure</strong> maximum (plus c&#8217;est un marathon). Au-delà de 6 personnes, elle devrait être réservée au transfert d&#8217;information.</li><li>Ne demandez jamais à vos chefs de prendre une <strong>décision</strong> que vous pouvez prendre <strong>vous-même</strong>, sauf si un document vous l&#8217;interdit.</li><li>Ne supposez jamais que quelqu&#8217;un a fait quelque chose, <strong>demandez</strong> lui. Même le plus évident peut être oublié, surtout en période de stress.</li><li>La documentation ne remplace pas la <strong>connaissance</strong>. Les documents restent des images statiques dans le temps et sont rapidement dépassés.</li><li>Les projets nécessitent un <strong>travail d&#8217;équipe</strong> pour réussir. Rappelez-vous que la plupart des équipes ont un coach et non un boss, mais le coach doit parfois arbitrer certaines parties.</li><li>Si un chef de projet est l&#8217;homme le plus intelligent de l&#8217;équipe, c&#8217;est qu&#8217;il a fait un <strong>mauvais travail de recrutement</strong>.</li><li>Les principes de gestion sont toujours les mêmes. Seuls les outils changent. Vous devez toujours <strong>trouver les bonnes personnes</strong> pour faire le travail et rester à l&#8217;écart pour qu&#8217;ils puissent le faire.</li></ul><p>Il est amusant de constater certaines similitudes avec les méthodes agiles. Les individus et leurs connaissances sont plus importants que la documentation. Le coach doit s&#8217;appuyer sur une équipe de personnes motivées, intelligentes, et responsables qui n&#8217;attendent pas d&#8217;ordre d&#8217;un patron. Leur collaboration est essentielle à la réussite du projet. Ces ressemblances sont logiques finalement, il s&#8217;agit simplement de bon sens.</p><h3><a
name="RIA"></a>RIA</h3><h4><a
name="chosessavoirsurFlex"></a>10 choses à savoir sur Flex</h4><p>Les articles recommandant Flex se succèdent. Après l&#8217;annonce d&#8217;Atos sur son blog Entreprise 2.0 du choix de <a
href="http://entreprise2.wordpress.com/2008/10/06/flex-choix-maintenant-evident-pour-nos-rias/" title="Flex sur plusieurs projets pour de grands comptes" >Flex sur plusieurs projets pour de grands comptes</a> et la &laquo;&nbsp;victoire&nbsp;&raquo; de Flex lors de notre <a
href="http://blog.xebia.fr/2008/10/03/ria-contest-flex-silverlight-gwt-echo3-javafx/" title="RIA Contest" >RIA Contest</a>, c&#8217;est au tour de Alaric Cole, l&#8217;auteur de &laquo;&nbsp;Learning Flex 3&#8243; de lister <a
href="http://css.dzone.com/news/the-top-10-things-you-should-k" title="10 avantages à l'utilisation de Flex" >10 avantages à l&#8217;utilisation de Flex</a>.</p><p>Alaric Cole est partie prenante, et on a déjà pu lire sur d&#8217;autres blogs les différents points cités, mais l&#8217;article a l&#8217;avantage de les regrouper :</p><ol><li>Flex s&#8217;apparente aux standards d&#8217;une application Web : MXML est un langage de balises comparable à l&#8217;HTML, l&#8217;ActionScript est l&#8217;équivalent du JavaScript. Le tout customisable avec du CSS.</li><li>Flex = Flash : tout ce qui était possible en Flash l&#8217;est en Flex. Flex apporte cependant une couche de structuration/méthodologie par rapport à Flash</li><li>Une application Flex fonctionne sur tous les navigateurs et tous les OS (Linux 64bit ?). La seule contrainte est d&#8217;avoir déployé le plug-in d&#8217;exécution.</li><li>Le framework RIA d&#8217;Adobe accepte l&#8217;échange de données et propose des interfaces de communication avec plusieurs formats d&#8217;échange (SOAP, HTTP, AMF&#8230;)</li><li>Une application Web Flex aura un &laquo;&nbsp;Look And Feel&nbsp;&raquo; identique quelque soit l&#8217;OS client</li><li>Flex est léger et rapide grâce notamment aux améliorations du futur plug-in Flash 10. Par exemple, la fonctionnalité de &laquo;&nbsp;Framework Caching&nbsp;&raquo; permet de réduire à 100Ko la taille de l&#8217;application à télécharger</li><li>Les composants de Flex sont nativement construits pour être accessibles (loupe, internationalisation, raccourcis clavier&#8230;)</li><li>Le contenu d&#8217;une application Flex peut maintenant être indexé par un moteur de recherche</li><li>Le SDK Flex est maintenant OpenSource et gratuit mais attention l&#8217;IDE Flex Builder est payant.</li><li>Enfin, il rappelle la facilité d&#8217;apprentissage du langage. Pour un habitué de la Javadoc, l&#8217;accès au format ASDocs d&#8217;Adobe est cependant déroutant les premiers temps.</li></ol><p>Même si l&#8217;ancienneté de Flex sur le marché, la couverture de déploiement de son plugin d&#8217;exécution et la solidité de son distributeur Adobe semblent placer Flex en tête du tournoi RIA, il est bon de rappeler que la compétition ne fait que commencer : 2 outsiders sérieux (Silverlight et JavaFx) vont bientôt s&#8217;élancer dans la course ! L&#8217;avance prise par Flex pourra t-elle être comblée ?</p><h4><a
name="GraniteDsenversion"></a>GraniteDs en version 1.1.0</h4><p>GraniteDS est un framework opensource équivalent à <a
href="http://blog.xebia.fr/2008/09/16/blazeds/" title="BlazeDS" >BlazeDS</a>, simplifiant le développement des communications entre un RIA Flex et un serveur J2EE. Cet <a
href="http://www.infoq.com/news/2008/10/GDS-110-release" title="article d'InfoQ" >article d&#8217;InfoQ</a> nous présente les nouvelles fonctionnalités disponibles sur GraniteDS 1.1.0:</p><ul><li><strong>Granite Eclipse Builder</strong> : un plugin Eclipse basé sur AS3 Generator permettant de générer le code ActionScript 3 associé aux JavaBeans. Ce plugin génère automatiquement du code lorsqu&#8217;un JavaBean est modifié.</li><li><strong>Tide</strong> : ce framework fournit des fonctionnalités telles que la mémorisation d&#8217;objets dans un contexte qui transite entre la partie cliente et la partie serveur, la pagination des données. Il permet également de gérer le lazy loading des collection en wrappant les collections et en les récupérant dés que c&#8217;est nécessaire.</li><li><strong>MXML Web Compiler</strong> : une compilation à la volée du code source MXML et ActionScript 3 sur le serveur d&#8217;application.</li></ul><p>Avec cette nouvelle version, GraniteDS se positionne comme un concurrent sérieux de BlazeDS. La génération des JavaBeans, la gestion du lazy loading et la compilation à la volée sont des points forts qui séduiront très vite les développeurs. Cette nouvelle approche ne peut que faciliter et améliorer le développement d&#8217;applications Flex.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="JSROSGimatuerStanleyHo"></a>JSR-277 : <em>OSGi m&#8217;a tuer</em> (Stanley Ho)</h4><p>Stanley Ho <a
href="http://mail.openjdk.java.net/pipermail/jsr277-eg-observer/2008-October/000307.html" title="a annoncé son départ" >a annoncé son départ</a> de Sun Microsystems. Par la même occasion, il laisse les clés de la <a
href="http://jcp.org/en/jsr/detail?id=277" title="JSR-277" >JSR-277</a> dont il était à la tête. C&#8217;est  donc Alex Buckley qui reprend le flambeau, il était déjà responsable de la petite sœur, la <a
href="http://jcp.org/en/jsr/detail?id=294" title="JSR-294" >JSR-294</a> : les <a
href="http://blog.xebia.fr/2008/02/27/jsr-294-les-superpackages/" title="superpackages" >superpackages</a>.</p><p>Nous sommes en droit de nous demander si la création du prototype permettant l&#8217;interopérabilité entre <a
href="http://blog.xebia.fr/2008/07/28/revue-de-presse-xebia-67/#InteroprabilitOSGIetJavaModule" title="Java Module System et OSGi" >Java Module System et OSGi</a> qu&#8217;a amorcé Sun ces derniers mois a quelque chose à voir avec ce départ. Quoi qu&#8217;il en soit, le tournant est définitivement engagé pour le futur de Java Module System.</p><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evènements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="ParisJUGsoireOSGi"></a>Paris JUG : soirée OSGi</h4><p>Dernière piqûre de rappel pour la soirée OSGi de ce mardi 14 octobre au Paris JUG.</p><ul><li>Le programme est <a
href="http://www.parisjug.org/xwiki/bin/view/Meeting/20081014" title="disponible ici" >disponible ici</a> : première partie &#8216;introduction à OSGi&#8217;, seconde partie : &#8216;OSGi appliqué&#8217;</li><li>Les inscriptions sont gratuites et ouvertes à tous, <a
href="http://jugevents.jugpadova.it/jugevents/event/registration.form?event.id=8749" title="enregistrez-vous ici" >enregistrez-vous ici</a></li><li>La soirée aura lieu à l&#8217;ISEP, dont <a
href="http://www.parisjug.org/xwiki/bin/view/Location/ISEP" title="voici le plan d'accès" >voici le plan d&#8217;accès</a></li></ul><p>Nous vous y attendons nombreux.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/</link> <comments>http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/#comments</comments> <pubDate>Mon, 29 Sep 2008 17:36:27 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JBoss]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[REST]]></category> <category><![CDATA[SCRUM]]></category> <category><![CDATA[Spring]]></category> <category><![CDATA[Terracotta]]></category> <category><![CDATA[Websphere]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=762</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Spring Source : les VC prennent le contrôle JBoss certifié Java EE 5 : un anachronisme corrigé &#8230; &#8230; tandis que Websphere 7 sera le dernier grand sur la ligne d&#8217;arrivée Agilité Le Scrum meeting, story par story ? RIA [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/#SpringSourcelesVCprennentlecon">Spring Source : les VC prennent le contrôle</a></li><li><a
href="http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/#JBosscertifiJavaEEunanachronis">JBoss certifié Java EE 5 : un anachronisme corrigé &#8230;</a></li><li><a
href="http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/#tandisqueWebsphereseraledernie">&#8230; tandis que Websphere 7 sera le dernier grand sur la ligne d&#8217;arrivée</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/#LeScrummeetingstoryparstory">Le Scrum meeting, story par story ?</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/#MicrosoftetNokiaadoptentjQuery">Microsoft et Nokia adoptent jQuery</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/#LesspcificationsRESTseterminen">Les spécifications REST se terminent</a></li><li><a
href="http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/#JVMWishListvueparTerracotta"><em>JVM Wish List</em> vue par Terracotta</a></li><li><a
href="http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/#PrincipespourledesignduneAPI">Principes pour le design d&#8217;une API</a></li><li><a
href="http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/#DavidSyercommuniquesurSpringBa">David Syer communique sur Spring Batch</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="SpringSourcelesVCprennentlecon"></a>Spring Source : les VC prennent le contrôle</h4><p>Les semaines se suivent et ne se ressemblent pas chez Spring Source. Après le tumultueux revirement de stratégie Open Source il y a dix jours (cf. <a
href="http://blog.xebia.fr/2008/09/22/nouvelle-politique-de-maintenance-de-spring-la-tres-perilleuse-route-de-la-monetisation-de-lopen-source/" title="Nouvelle politique de maintenance de Spring : La très périlleuse route de monétisation de l'open source" >Nouvelle politique de maintenance de Spring : La très périlleuse route de monétisation de l&#8217;open source</a>), Benchmark Capital, le principal fond d&#8217;investissement de Spring Source, prend le contrôle opérationnel de la société en nommant Rob Bearden President and Chief Operations Officer (COO). Rod Johnson conserve le titre de CEO.</p><p>C&#8217;est un véritable tournant dans la vie de Spring Source qui était jusqu&#8217;à présent gouvernée par son fondateur Rod Johnson et est aujourd&#8217;hui confrontée aux défis de la rentabilité et de la croissance.</p><p>Nous noterons au passage un clin d&#8217;oeil de l&#8217;histoire : Rob Bearden, avant de rejoindre Benchmark Capital, a été COO de JBoss. Le monde de l&#8217;Open source est petit, espérons que les relations conflictuelles entre les camps JBoss et Spring Source s&#8217;adoucissent <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>Les interrogations sont nombreuses : quelle place trouvera Rod Johnson dans cette nouvelle organisation ? Quelle stratégie Open source va adopter Rob Bearden ? Entérinera-t-il la nouvelle politique de commercialisation des releases post trois mois qui suscite encore une polémique très vive ?</p><p>Quelques liens :</p><ul><li><a
href="http://www.theserverside.com/news/thread.tss?thread_id=50813" title="The Server Side : What will be next with SpringSource?" >The Server Side : What will be next with SpringSource?</a></li><li><a
href="http://www.springsource.com/content/springsource-names-president-and-chief-operating-officer" title="Communiqué officiel : SpringSource Names President and Chief Operating Officer" >Communiqué officiel : SpringSource Names President and Chief Operating Officer</a></li><li><a
href="http://www.theregister.co.uk/2008/09/26/springsource_president_coo/" title="The Register : SpringSource VC investor takes COO role" >The Register : SpringSource VC investor takes COO role</a></li></ul><h4><a
name="JBosscertifiJavaEEunanachronis"></a>JBoss certifié Java EE 5 : un anachronisme corrigé &#8230;</h4><p>L&#8217;anachronisme que personne ne comprenait est enfin corrigé. JBoss Application Server, précurseur de Java EE 5 avec le support de JPA dans Hibernate et la Web Application qui jouait le rôle d&#8217;un conteneur d&#8217;EJB 3 est enfin certifié Java EE 5. Sacha Labourey, JBoss, annonce dans <a
href="http://sacha.labourey.com/2008/09/15/jboss-as-is-now-ee5-certified/" title="JBoss AS is now EE5 certified!" >JBoss AS is now EE5 certified!</a> que la version release sera disponible dans les semaines à venir. Il n&#8217;en reste pas moins que JBoss AS 5 est une refonte sur le fond du serveur d&#8217;application (nouveau messaging, clustering, etc) qui a duré plus de trois ans (cf <a
href="http://www.infoq.com/news/2008/06/jboss-as5-rc1" title="InfoQ : Releasing JBoss AS 5: Q&#038;A with Project Lead Dimitris Andreadis" >InfoQ : Releasing JBoss AS 5: Q&#038;A with Project Lead Dimitris Andreadis</a>) et qu&#8217;on peut s&#8217;attendre à une phase de stabilisation de la nouvelle stack JBoss.</p><h4><a
name="tandisqueWebsphereseraledernie"></a>&#8230; tandis que Websphere 7 sera le dernier grand sur la ligne d&#8217;arrivée</h4><p>IBM nous rappelle avec Websphere que les parts de marché sont parfois décorrélées de l&#8217;implémentation des dernières spécifications. Websphere 7 sera le dernier grand serveur Java EE a être certifié Java EE 5.</p><p>La <a
href="http://www.ibm.com/developerworks/websphere/downloads/" title="version d'évaluation" >version d&#8217;évaluation</a> est déjà disponible sur DeveloperWorks ; des blogs (<a
href="http://webspherecommunity.blogspot.com/" title="Websphere Community" >Websphere Community</a> et <a
href="http://webspheremessaging.blogspot.com/" title="Websphere and Messagin" >Websphere and Messagin</a>) relaient la communication institutionnelle.</p><h3><a
name="Agilit"></a>Agilité</h3><h4><a
name="LeScrummeetingstoryparstory"></a>Le Scrum meeting, story par story ?</h4><p>Les <a
href="http://en.wikipedia.org/wiki/Stand-up_meeting" title="daily standup meetings" >daily standup meetings</a> se déroulent habituellement personne par personne, c&#8217;est-à-dire que chaque membre de l&#8217;équipe répond aux <a
href="http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms#1128" title="3 questions" >3 questions</a> l&#8217;un après l&#8217;autre. Le défaut de cette méthode selon <a
href="http://blog.mountaingoatsoftware.com/?p=51" title="Mike Cohn" >Mike Cohn</a> est qu&#8217;elle ne permet pas toujours de voir les problèmes sur les stories dont personne ne s&#8217;occupe puisque personne n&#8217;en parle.<br
/> Il suggère la possibilité d&#8217;attaquer le standup <a
href="http://blog.mountaingoatsoftware.com/?p=51" title="story par story" >story par story</a>, mais on perd alors en visibilité sur ce que fait chaque personne. Face à ce dilemme, plusieurs solutions sont possibles :</p><ul><li>L&#8217;équipe s&#8217;engage t-elle sur trop d&#8217;items par sprint ? Mike préconise une moyenne de 1 à 1,5 story / personne / sprint. Attention, cela ne veut absolument pas dire qu&#8217;une story doit être gérée par une seule personne !</li><li>Faire le standup devant le tableau des tâches, afin que chaque personne puisse pointer les items sur lesquels elle travaille.</li><li>Désigner des &laquo;&nbsp;story owners&nbsp;&raquo; : pour chaque story, une personne de l&#8217;équipe est responsable de son avancement. Cette personne n&#8217;est pas forcément le développeur principal de la story.</li><li>Regarder la taille de l&#8217;équipe : selon ses observations la taille idéale d&#8217;une équipe se situe entre 5-7 personnes.</li></ul><p>La plupart des équipes font leur standup par personne, mais certaines équipes peuvent se heurter à un manque de visibilité sur certaines stories. Cette vision &laquo;&nbsp;story par story&nbsp;&raquo; peut répondre à leurs attentes.</p><h3><a
name="RIA"></a>RIA</h3><h4><a
name="MicrosoftetNokiaadoptentjQuery"></a>Microsoft et Nokia adoptent jQuery</h4><p>À part GWT avec Google, un des reproches que l&#8217;on peut faire aux librairies JavaScript/AJAX est leur absence de support par un grand éditeur. Cet état de fait pourrait bien changer pour la librairie jQuery, une de nos librairies favorites, que l&#8217;on conseille et rencontre de plus en plus fréquemment chez nos clients. jQuery <a
href="http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia" title="annonce sur son blog" >annonce sur son blog</a> l&#8217;adoption par Microsoft et Nokia du framework, et son intégration dans leur plateforme de développement officielle respective.<br
/> jQuery sera donc distribué avec Visual Studio, et sera présent dans tous les nouveaux téléphones de Nokia qui utiliseront le moteur de rendu maison <a
href="http://www.s60.com/life/thisiss60/s60indetail/technologiesandfeatures/webruntime" title="Web Runtime" >Web Runtime</a>.<br
/> Les bénéfices pour jQuery et ses utilisateurs sont multiples : la reconnaissance de la librairie comme parmi les plus populaires, et son amélioration via la soumission de patchs et de tests. Excellente nouvelle donc !</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="LesspcificationsRESTseterminen"></a>Les spécifications REST se terminent</h4><p>Vous en entendrez certainement parler prochainement à l&#8217;occasion de Spring 3.0, les spécifications de la <a
href="http://jcp.org/en/jsr/detail?id=311" title="JSR-311 : Java API for RESTful Web Service" >JSR-311 : Java API for RESTful Web Service</a> (JAX-RS) ont été approuvées quasi unanimement (15 pour, 0 contre, 1 non votant) par l&#8217;<em>executive comitee</em>.</p><p>JAX-RS est une API permettant l&#8217;implémentation de Web Services REST, son fonctionnement est simple :</p><ul><li>on rajoute des annotations sur des classes et des méthodes pour décrire les services à exposer et la manière de les exposer</li><li>le choix du service s&#8217;effectue en fonction des URL / Content type / Headers et type de requête HTTP</li></ul><p>REST étant à la mode, plusieurs framework existent déjà dont :</p><ul><li><a
href=" https://jersey.dev.java.net/" title="Jersey" >Jersey</a>, l&#8217;implémentation de référence pour JAX-RS développée par Sun</li><li><a
href="http://www.restlet.org/" title="Restlet" >Restlet</a>, le framework du moment le plus utilisé pour les applications REST</li><li><a
href="http://cwiki.apache.org/CXF20DOC/jax-rs-jsr-311.html" title="CXF RESTful Services" >CXF RESTful Services</a>, l&#8217;implémentation JAX-RS du projet Apache CXF</li><li><a
href="http://jboss.org/resteasy" title="RESTeasy" >RESTeasy</a>, la version JBoss</li></ul><p>Une interview des specs leads Marc Hadley et Paul Sandoz est disponible sur <a
href="http://www.infoq.com/news/2008/09/jsr311-approved" title="InfoQ" >InfoQ</a>. Une des questions intéressantes porte sur l&#8217;influence de la JSR311 sur les spécifications de Servlet. Cela nous rappelle que, même si les API REST et les Servlets ont des approches complètement différentes, ces deux technologies doivent pouvoir cohabiter et travailler ensemble.</p><h4><a
name="JVMWishListvueparTerracotta"></a><em>JVM Wish List</em> vue par Terracotta</h4><p><a
href="http://dsoguy.blogspot.com/2008/09/jvm-wish-list.html" title="Cet article" >Cet article</a> présente une liste d&#8217;améliorations JVM espérées vues par un spécialiste <a
href="http://terracottatech.com/" title="Terracotta" >Terracotta</a>. S&#8217;il est vrai que cet outil aborde des problématiques peu communes (clustering de JVM), certaines de ces idées pourraient être utiles pour tout autre framework utilisant <a
href="http://blog.xebia.fr/2008/05/02/java-agent-instrumentez-vos-classes/" title="l'instrumentalisation de code" >l&#8217;instrumentalisation de code</a>.</p><p>Voici les idées proposées par Steeve Haris dans son article regroupées par domaines, elles permettent de :</p><ul><li>Simplifier grandement le code de ce genre de framework en évitant d&#8217;avoir à développer des surcouches logicielles simulant certaines de ces fonctionnalités</li><ul><li>Permettre de créer des <code>proxy</code> d&#8217;objets niveau JVM : cela faciliterait le maintien de la <em>heap virtuelle</em> de Terracotta</li><li>Pouvoir associer des métadatas à un objet : cela permettrait d&#8217;affiner les choix du <em>memory manager</em> de Terracotta</li><li>Faciliter le développement de tricks  en améliorant le _Hot swapping_</li></ul><li>Optimiser le nombre d&#8217;objets à instrumentaliser</li><ul><li>Permette d&#8217;instrumenter des tableaux sans avoir besoin de passer par les classes les utilisant</li><li>Permettre le remplacement de méthodes <em>natives</em> : actuellement si l&#8217;on veut modifier le comportement d&#8217;une méthode native, nous somme obligé d&#8217;instrumenter tous les objets appelant celle-ci.</li></ul><li>Adapter la JVM aux architectures d&#8217;aujourd&#8217;hui</li><ul><li>La taille des listes et des collections est définie par un <code>int</code>. Les architectures 64 bits nous permettant d&#8217;ajouter de plus en plus de mémoire, il se peut que cette taille devienne insuffisante dans certaines utilisations.</li></ul></ul><h4><a
name="PrincipespourledesignduneAPI"></a>Principes pour le design d&#8217;une API</h4><p><a
href="http://en.wikipedia.org/wiki/Joshua_Bloch" title="Joshua Bloch" >Joshua Bloch</a> (Google), auteur de Effective Java, énumère un ensemble de principes clés afin de réussir la conception et la réalisation d&#8217;une API : <a
href="http://www.infoq.com/articles/API-Design-Joshua-Bloch" title="Bumper-Sticker API Design" >Bumper-Sticker API Design</a>.</p><p>Une API n&#8217;est pas seulement mise en place dans les frameworks mais aussi dans des applications à différents niveaux :</p><ul><li>la couche d&#8217;accès aux données</li><li>la couche service</li></ul><p>La volonté d&#8217;une API est de réaliser un module cadré au fonctionnement clair. Le fonctionnement interne du module est caché derrière un contrat d&#8217;utilisation (qui ne repose pas nécessairement uniquement sur des interfaces Java). Le terme d&#8217;utilisabilité de l&#8217;API peut être employé.</p><p>L&#8217;utilisabilité d&#8217;une API peut être décrite avec les spécificités suivantes :</p><ul><li>contrat d&#8217;utilisation simple et explicité, cela passe par le nommage des éléments (classe, méthode, argument, &#8230;).</li><li>l&#8217;intégration aux cas d&#8217;utilisation doit être naturelle. Pour que ce soit le plus naturel possible, on peut même envisager de d&#8217;abord coder les cas d&#8217;utilisation avec l&#8217;appel à l&#8217;API et ensuite coder l&#8217;implémentation de l&#8217;API.</li><li>l&#8217;implémentation de l&#8217;API doit être indépendante du contexte d&#8217;appel</li></ul><p>Le développement d&#8217;API pose le problème de la gestion des versions. A partir du moment où elle est exposée, une API doit répondre de la même façon à tous les appels, quel que soit le client sollicitant le service. Il est vital de respecter les principes de l&#8217;IoC <em>Inversion of Control</em>, et ne pas enrichir chaque version d&#8217;un ou plusieurs comportements spécifiques :</p><pre class="brush: java; title: ; notranslate">
if (isClient1) {
  // Traitement spécifique client 1
} else if (isClient2) {
  // Traitement spécifique client 2
} else {
...
}
</pre><p>Des principes qui font généralement débats sont aussi présentés :</p><ul><li>Faire peu de documentation, les noms des classes/méthodes doivent être explicites</li><li>Ne pas remonter de <code>CheckException</code> que des <code>RuntimeException</code></li></ul><p>Il est vrai que la principale difficulté d&#8217;une API est de bien faire dès la première version. La moindre modification du contrat d&#8217;utilisation de l&#8217;API entraînera des régressions chez les clients de l&#8217;API.</p><p>C&#8217;est pour cette raison qu&#8217;il faut tenter de faire un premier jet aussi bref et concis que possible, et de ne traiter la multiplicité des cas qu&#8217;au fur et à mesure de leur apparition, dans des versions ultérieures.</p><p>Pour conclure, on reprendra la phrase de Joshua Bloch : le design d&#8217;API est un art, pas une science exacte.</p><p>N&#8217;hésitez pas à visionner le <a
href="http://www.infoq.com/presentations/effective-api-design" title="vidcast associé à cet article" >vidcast associé à cet article</a>.</p><h4><a
name="DavidSyercommuniquesurSpringBa"></a>David Syer communique sur Spring Batch</h4><p><a
href="http://blog.xebia.fr/2008/06/23/revue-de-presse-xebia-62/#DaveSyerrevientsurSpringBatchp" title="Nous vous l'annoncions avant l'été" >Nous vous l&#8217;annoncions avant l&#8217;été</a>, David Syer, le leader technique de Spring Batch, a entamé sa &laquo;&nbsp;tournée promotionnelle&nbsp;&raquo;.</p><p>À travers ce <a
href="http://www.infoq.com/presentations/syer-introducing-spring-batch" title="vidcast, capté au QCon de Londres et relayé par InfoQ" >vidcast, capté au QCon de Londres et relayé par InfoQ</a> (ou bien via <a
href="http://www.springsource.com/files/IntroducingSpringBatch-1.0.1.pdf" title="le support de présentation" >le support de présentation</a>), il revient sur :</p><ul><li>les patterns de batch et leur utilisation</li><li>un survol des concepts de SpringBatch</li><li>une étude de cas</li><li>l&#8217;avenir de ce produit</li></ul><p>D&#8217;autre part, dans une autre <a
href="http://www.tv4it.net/permalink/6169/spring-batch-un-framework-java-open-source-pour-le-plus-vieux-sujet-de-linformatique.aspx" title="vidéo publiée sur  TV4it" >vidéo publiée sur  TV4it</a>, Olivier Rachon, Senior Manager chez Accenture, nous en dit plus quant à l&#8217;utilisation de ce <em>récent</em> framework : 5 projets en production, des 10aines en cours de développement.</p><p>Pour information, la version 1.1.2 est disponible et les premiers tests que nous avons effectués, dans le cadre d&#8217;un XKE, nous ont paru très convaincants. Nous devrions publier prochainement notre retour d&#8217;expérience sur ce framework.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/09/29/revue-de-presse-xebia-76/feed/</wfw:commentRss> <slash:comments>12</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/09/15/revue-de-presse-xebia-74/</link> <comments>http://blog.xebia.fr/2008/09/15/revue-de-presse-xebia-74/#comments</comments> <pubDate>Mon, 15 Sep 2008 15:48:03 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JavaPolis]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[JVM]]></category> <category><![CDATA[Performance]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[Websphere]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=654</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Le coin de la technique invokedynamic vu de l&#8217;intérieur Concurrency : past and present Tuning des JVM Websphere 6.1 Performance d&#8217;affichage d&#8217;une page Web Evènements de notre communauté en France et à l&#8217;étranger Refactoring itératif de conférences : JavaPolis, Javoxx et DeVox Le coin [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/09/15/revue-de-presse-xebia/#invokedynamicvudelintrieur"><code>invokedynamic</code> vu de l&#8217;intérieur</a></li><li><a
href="http://blog.xebia.fr/2008/09/15/revue-de-presse-xebia/#Concurrencypastandpresent">Concurrency : past and present</a></li><li><a
href="http://blog.xebia.fr/2008/09/15/revue-de-presse-xebia/#TuningdesJVMWebsphere">Tuning des JVM Websphere 6.1</a></li><li><a
href="http://blog.xebia.fr/2008/09/15/revue-de-presse-xebia/#PerformancedaffichagedunepageW">Performance d&#8217;affichage d&#8217;une page Web</a></li></ul><p><strong>Evènements de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/09/15/revue-de-presse-xebia/#Refactoringitratifdeconfrences">Refactoring itératif de conférences : JavaPolis, Javoxx et DeVox</a></li></ul><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="invokedynamicvudelintrieur"></a><code>invokedynamic</code> vu de l&#8217;intérieur</h4><p>Dans <a
href="http://blog.headius.com/2008/09/first-taste-of-invokedynamic.html" title="cet article" >cet article</a>, Charles Nutter, <em>JRuby Core Developper</em> nous présente pourquoi il est nécessaire de mettre à jour le bytecode <code>invokedynamic</code>.<br
/> Java nous oblige à typer chaque variable et chaque méthode doit définir une signature statique dont les types sont connus avant le Runtime : Java est un langage  &#8216;statiquement&#8217; typé. Si ce typage fort est une des forces du langage, comment la JVM peut-elle supporter des langages dynamiques ? La rigidité de Java provient, plus de son langage que de son bytecode. C&#8217;est ainsi que des langages comme Groovy permettent d&#8217;enfreindre certaines règles, par exemple : ne pas définir de types aux variables.  Ce n&#8217;est pas pour autant que le bytecode va tout nous permettre, certaines règles sont incassables dont celles qui s&#8217;appliquent aux invocations de méthodes :</p><ul><li>Les invocations sont statiquement typées.</li><li>Les invocations doivent s&#8217;effectuer sur des méthodes Java. Il est impossible de remplacer un appel à une méthode par un morceau de code interprété.</li></ul><p>À l&#8217;origine, la <a
href="http://jcp.org/en/jsr/detail?id=292" title="JSR-292" >JSR-292</a> a proposé la mise en place d&#8217;un nouveau code <code>invokedynamic</code> permettant l&#8217;invocation de méthodes sans signatures typées statiquement, mais rien n&#8217;avait été prévu pour modifier dynamiquement la logique d&#8217;invocation de la JVM.</p><h4><a
name="Concurrencypastandpresent"></a>Concurrency : past and present</h4><p>Brian Goetz, auteur du livre &#8216;Java Concurrency In Practice&#8217;, a publié sur InfoQ une vidéo enregistrée lors du QCon 2007 : <a
href=" http://www.infoq.com/presentations/goetz-concurrency-past-present" title="Concurrency : Past and Present" >Concurrency : Past and Present</a>.<br
/> Pourquoi est-il plus difficile de développer des applications multithreadées que de parler en lisant son journal ?<br
/> Dans cette présentation, Brian tente de répondre à cette question en revenant sur les principales difficultés de la programmation concurrente. Sujet que nous avions également abordé lors d&#8217;un article publié cet été sur le sujet : <em>&laquo;&nbsp;<a
href=" http://blog.xebia.fr/2008/08/13/programmation-concurrentielle-notions-fondamentales/" title="programmation concurrente : notions fondamentales" >programmation concurrente : notions fondamentales</a>&laquo;&nbsp;</em>. Pour illustrer ces problèmes, Brian revient sur l&#8217;histoire de la programmation concurrente et ses différentes approches, avant de donner ses recommandations. À la fin de la vidéo, il présente également les fonctionnalités offertes par d&#8217;autres langages comme ErLang et Scala.</p><h4><a
name="TuningdesJVMWebsphere"></a>Tuning des JVM Websphere 6.1</h4><p>Giribabu Paramkusham et Ajay Bhalodia, WebSphere Application Server Technical Support, présentent dans <a
href="http://www-01.ibm.com/support/docview.wss?uid=swg27013400" title="JVM Performance Tuning with respect to Garbage Collection(GC) policies for WebSphere Application Server V6.1 part 1" >JVM Performance Tuning with respect to Garbage Collection(GC) policies for WebSphere Application Server V6.1 part 1</a> (<a
href="http://www-01.ibm.com/support/docview.wss?uid=swg27013400&#038;aid=1" title="pdf" >pdf</a>) les points clef du tuning des JVM pour Websphere. Nous retiendrons :</p><ul><li>Les JVM IBM proposent quatre stratégies de garbage collections :<br
/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<code>-Xgcpolicy:optthruput</code> pour minimiser le temps global d&#8217;exécution (batch, &#8230;).<br
/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<code>-Xgcpolicy:optavgpause</code> pour minimiser la durée de chaque pause.<br
/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<code>-Xgcpolicy:gencon</code> destiné aux applications web. L&#8217;algorithme Générationnel Concurrent communément utilisé dans les JVM Sun est optimisé pour les objets à courte durée de vie.<br
/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<code>-Xgcpolicy:subpools</code> pour les serveurs à grand nombre de processeurs (>16).</li><li>A la différence de l&#8217;implémentation GenCon de Sun qui comprend trois zones (Young, Tenurd et Permanent), celle d&#8217;IBM n&#8217;en comporte que deux (Young et Old)</li><li>L&#8217;option <code>-verbose:gc</code> est activable en production avec un impact négligeable sur les performances et l&#8217;option moins connue <a
href="http://publib.boulder.ibm.com/infocenter/javasdk/v5r0/index.jsp?topic=/com.ibm.java.doc.diagnostics.50/diag/appendixes/cmdline/cmdline_gc.html" title="-Xverbosegclog" ><code>-Xverbosegclog</code></a> permet de préciser un fichier de sortie en mode <em>rolling file</em> . Nous noterons que les informations de GC sont désormais formattées en XML ce qui facilitera la manipulation avec des outils.</li><li>Indépendamment des limites techniques liées au système d&#8217;exploitation, les JVM IBM sont optimisées pour utiliser des heap le plus souvent inférieures à 2 GB :</li></ul><table
cellspacing="0" cellpadding="5" style="border: 1px solid black"><tr><td
bgcolor="#663366" style="color: #ffffff; border: 1px solid black"><strong> Platform </strong></td><td
bgcolor="#663366" style="color: #ffffff; border: 1px solid black"><strong> Additional Options </strong></td><td
bgcolor="#663366" style="color: #ffffff; border: 1px solid black"><strong> Maximum Possible </strong></td><td
bgcolor="#663366" style="color: #ffffff; border: 1px solid black"><strong> Advised Maximum </strong></td></tr><tr><td
style="border: 1px solid black"> AIX</td><td
style="border: 1px solid black"> automatic</td><td
style="border: 1px solid black"> 3.25 GB</td><td
style="border: 1px solid black"> 2.5 GB</td></tr><tr><td
style="border: 1px solid black"> Linux</td><td
style="border: 1px solid black"></td><td
style="border: 1px solid black"> 2 GB</td><td
style="border: 1px solid black"> 1.5 GB</td></tr><tr><td
style="border: 1px solid black"></td><td
style="border: 1px solid black"> Hugemem Kernel</td><td
style="border: 1px solid black"> 3 GB</td><td
style="border: 1px solid black"> 2.5 GB</td></tr><tr><td
style="border: 1px solid black"> Windows</td><td
style="border: 1px solid black"></td><td
style="border: 1px solid black"> 1.8 GB</td><td
style="border: 1px solid black"> 1.5 GB</td></tr><tr><td
style="border: 1px solid black"></td><td
style="border: 1px solid black"> /3GB</td><td
style="border: 1px solid black"> 1.8 GB</td><td
style="border: 1px solid black"> 1.8 GB</td></tr><tr><td
style="border: 1px solid black"> z/OS</td><td
style="border: 1px solid black"></td><td
style="border: 1px solid black"> 1.7 GB</td><td
style="border: 1px solid black"> 1.3 GB</td></tr></table><p><em>source IBM</em></p><ul><li>L&#8217;utilisation de JVM 64 bits supprime les limites de taille de heap mais pénalisent les performances (plus de données manipulées) et la consommation mémoire (des pointeurs sur 64bits plutôt que 32bits accroissent de 30% à 50% la mémoire consommée)</li><li>La JVM 6 d&#8217;IBM réduit les dégradations de performances et de consommation mémoire en 64bits grâce à l&#8217;introduction de &laquo;&nbsp;pointeurs compressés&nbsp;&raquo;</li></ul><h4><a
name="PerformancedaffichagedunepageW"></a>Performance d&#8217;affichage d&#8217;une page Web</h4><p><a
href="http://xnme.exofire.net/" title="Hayes Potter" >Hayes Potter</a>, nous présente dans <a
href="http://www.catswhocode.com/blog/web-development/speed-up-your-website-quick-602" title="Speed up your website, quick!" >Speed up your website, quick!</a> des règles structurantes afin d&#8217;améliorer les performances d&#8217;affichage d&#8217;une page Web :</p><ul><li>Compression des ressources statiques (images, fichiers flashs, scripts, &#8230;).</li><li>Mettre en place une politique d&#8217;expiration des ressources statiques .</li><li>Mettre les styles CSS en haut de la page HTML tandis qu&#8217;il faut mettre les fichiers Javascript en bas de la page.</li><li>Limiter les requêtes <code>http://request</code> vers d&#8217;autres domaines. En effet à chaque requête vers un autre domaine, pendant le chargement de la page, une résolution DNS est effectué (<strong>accès réseaux supplémentaires</strong>).</li></ul><p>Dans le même esprit, Yahoo a mis à dispositon de la communauté des développeurs Web un ensemble de règles : <a
href="http://developer.yahoo.com/performance/rules.html" title="Exceptional Performances" >Exceptional Performances</a>.<br
/> Il y a 34 <em>Best Pratices</em> répartis dans 7 domaines différents :</p><ul><li>Contenu</li><li>Serveur</li><li>Cookie</li><li>CSS</li><li>Javascript</li><li>Image</li><li>Mobile</li></ul><p>Voici les règles les plus marquantes :</p><ul><li>Externaliser les fichiers CSS et Javascripts de la page HTML.</li><li>Réduire la taille des fichiers Javascripts en éliminant les caractères superflus (espace, variable à rallonge, &#8230;). Cela peut être assisté par des outils tel que <a
href="http://www.crockford.com/javascript/jsmin.html" title="JSMin" >JSMin</a> et <a
href="http://developer.yahoo.com/yui/compressor/" title="YUI Compressor" >YUI Compressor</a>. L&#8217;idéal c&#8217;est que les développeurs des pages gardent des fichiers Javascripts lisibles et maintenables puis au déploiement de ces pages, passer une moulinette sur les fichiers Javascripts afin d&#8217;épurer les caractères superflus.</li><li>Eviter la duplication des importations du même script, par exemple IE retéléchargera plusieurs le fichier bien que c&#8217;est la même ressource.</li><li>Utiliser une requête HTTP GET pour les requêtes AJAX.</li><li>Rassembler l&#8217;ensemble de vos images (pour les gestions des boutons par exemple) en une seule image et en faire un sprite avec CSS. Cette tache peut être assister par les outils <a
href="http://www.csssprites.com/" title="CSS Sprites" >CSS Sprites</a> et <a
href="http://spritegen.website-performance.org/" title="Website Performance CSS Sprite Generator" >Website Performance CSS Sprite Generator</a>.</li><li>Limiter l&#8217;utilisation des <code>iframe</code>.</li></ul><p>Références :</p><ul><li><a
href="http://www.dmxzone.com/ShowDetail.asp?NewsId=14958" title="Yahoo! New Performance Best Practices Now Available (Mars 2008)" >Yahoo! New Performance Best Practices Now Available (Mars 2008)</a>, excellente présentation de Stoyan Stefanox, développeur Yahoo, qui reprend point par point toutes ces <em>Best Pratices</em></li></ul><p>Voici une liste d&#8217;outils facilitant la mise en oeuvre et la vérification de ces points :</p><ul><li><a
href="http://developer.yahoo.com/yslow/" title="YSlow" >YSlow</a>, outil Yahoo aidant à la vérification de ces <em>best pratices</em></li><li><a
href="http://www.fiddlertool.com/fiddler/" title="Fiddler" >Fiddler</a>, debugger HTTP</li><li><a
href="http://www.alphaworks.ibm.com/tech/pagedetailer" title="IBM Page Detailler" >IBM Page Detailler</a>, décrire le déroulement des fichiers téléchargés pour l&#8217;affichage d&#8217;une page</li><li><a
href="https://addons.mozilla.org/fr/firefox/addon/1843" title="Firebug" >Firebug</a> (que pour firefox)</li><li><a
href="http://www.crockford.com/javascript/jsmin.html" title="JSMin" >JSMin</a>, minimiseur JavaScript</li><li><a
href="http://developer.yahoo.com/yui/compressor/" title="YUI Compressor" >YUI Compressor</a>, minimiseur Javascript</li><li><a
href="http://www.csssprites.com/" title="CSS Sprites" >CSS Sprites</a>, générateur de sprite CSS</li><li><a
href="http://spritegen.website-performance.org/" title="Website Performance CSS Sprite Generator" >Website Performance CSS Sprite Generator</a>, générateur de sprite CSS</li></ul><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evènements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="Refactoringitratifdeconfrences"></a>Refactoring itératif de conférences : JavaPolis, Javoxx et DeVox</h4><p>Terminons cette revue de presse par la petite histoire belge de la semaine. L&#8217;un des plus gros événements Java au monde JavaPolis vient de <a
href="http://weblogs.java.net/blog/fabriziogiudici/archive/2008/09/javapolis_javox.html" title="changer de nom" >changer de nom</a> pour la seconde fois cette année. Renommé Javoox en début d&#8217;année, il semblerait que cet ancien nouveau nom soit encore trop proche de « Java » pour Sun. Avec ce nouveau nom : <strong>DeVoxx</strong>, le BeJug (porteur de l&#8217;événement) continue le bras de fer avec Sun en osant mettre un &#8216;V&#8217; en 3e caractère de leur nouveau nom &#8230; tout comme dans &#8216;jaVa&#8217; &#8230; La <a
href=" http://www.devoxx.com/newsletters/2008/2/index.html" title="newsletter de DeVoxx" >newsletter de DeVoxx</a> nous explique que ce nouveau changement de nom est dû à une volonté de rester un événement Java indépendant.</p><ul><li>Site officiel du <a
href="http://www.bejug.org" title="BeJug" >BeJug</a></li><li>Site officiel du <a
href="http://www.devoxx.com" title="DeVoxx" >DeVoxx</a></li><li>Consultez la liste des <a
href="http://www.devoxx.com/display/JV08/Speakers" title="intervenants" >intervenants</a> à DeVoxx 2008</li></ul> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/09/15/revue-de-presse-xebia-74/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/</link> <comments>http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/#comments</comments> <pubDate>Mon, 28 Apr 2008 17:04:41 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Hibernate]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JBoss]]></category> <category><![CDATA[JPA]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[OSGi]]></category> <category><![CDATA[REST]]></category> <category><![CDATA[Sun]]></category> <category><![CDATA[Websphere]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII MySQL by Sun : Revirement de stratégie open source ? Choquant ? Superpackages (JSR-294) vs. OSGI : Episode n° 34291567&#8230;. Agilité User stories &#171;&#160;En tant que &#8230; je veux &#8230;&#160;&#187; Le coin de la technique De la sérialisation au parallélisme, [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/#MySQLbySunRevirementdestratgie">MySQL by Sun : Revirement de stratégie open source ? Choquant ?</a></li><li><a
href="http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/#SuperpackagesJSRvsOSGIEpisoden">Superpackages (JSR-294) vs. OSGI : Episode n° 34291567&#8230;.</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/#UserstoriesEntantquejeveux">User stories &laquo;&nbsp;En tant que &#8230; je veux &#8230;&nbsp;&raquo;</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/#Delasrialisationauparalllismeu">De la sérialisation au parallélisme, une évolution incarnée par java.util.concurrent</a></li><li><a
href="http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/#InnovationautourdeJPAJBossHibe">Innovation autour de JPA : JBoss Hibernate confirme son domination avec Envers</a></li><li><a
href="http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/#VideoIntroductiontoWebSphereeX">Cas d&#8217;utilisation des grilles Java avec WebSphere eXtreme Scale/ ObjectGrid</a></li><li><a
href="http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/#JSRJAXRSRESTunehistoiredeRESTa">JSR-311 JAX-RS REST une histoire de RESTaurant</a></li></ul><p><strong>Evènements de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/#XKEleprogrammedelasessiondemai">XKE, le programme de la session de mai</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="MySQLbySunRevirementdestratgie"></a>MySQL by Sun : Revirement de stratégie open source ? Choquant ?</h4><p><a
href="http://slashdot.org/" title="Slashdot" >Slashdot</a> essaie de nous emmener sur une polémique &laquo;&nbsp;Sun gâche MySQL&nbsp;&raquo; avec <a
href="http://developers.slashdot.org/article.pl?sid=08/04/16/2337224" title="Sun May Begin Close Sourcing MySQL Features" >Sun May Begin Close Sourcing MySQL Features</a> à l&#8217;occasion de l&#8217;annonce par l&#8217;éditeur de fonctionnalités (online backup, etc) qui seront uniquement disponibles dans la version payante <a
href="http://www.mysql.com/products/enterprise/" title="MySQL Enterprise" >MySQL Enterprise</a>. Au delà de l&#8217;insinuation peu crédible quand on se rappelle que l&#8217;essentiel du catalogue de Sun est disponible gratuitement, on retrouve le défi aujourd&#8217;hui classique de la monétisation de l&#8217;Open Source. Le rachat de MySQL par Sun change complétement le modèle économique de l&#8217;éditeur de base de données.</p><p>Hier, la startup MySQL, financée par des fonds de capital risque, se permettait d&#8217;être déficitaire car les candidats au rachat (Oracle puis finalement Sun) ne valorisaient pas MySQL Inc sur ses revenus mais sur les parts de marché de sa base de données. La stratégie a magnifiquement porté ses fruits puisque MySQL Inc s&#8217;est vendue un milliard de dollars à Sun, félicitations au management.</p><p>Aujourd&#8217;hui, MySQL est vraisemblablement devenue une division &#8216;classique&#8217; de Sun et doit donc devenir rentable. L&#8217;équation de la rentabilité de l&#8217;open source est complexe, Red Hat et JBoss by Red Hat ont été des pionniers sur ce chemin, souhaitons à MySql by Sun de trouver lui aussi son modèle.</p><p><a
href="http://www.theserverside.com/news/thread.tss?thread_id=49087" title="TSS : MySQL to get new features in Enterprise version" >TSS : MySQL to get new features in Enterprise version</a></p><p><i><strong>Modification du billet le 29 Avril 2008 : Jonathan Schwartz est finalement revenu en arrière et a annoncé que tous les produits que Sun distribue, sans exception, sont proposés gratuitement en licence Open source à la communauté. Pour plus de détails sur cette histoire, nous vous recommandons la série de <a
href="http://www.the451group.com/">The 451 Group</a> : <a
href="http://blogs.the451group.com/opensource/2008/04/17/mysqls-business-model-in-a-state-of-flux/">MySQL’s business model in a state of flux</a>, <a
href="http://blogs.the451group.com/opensource/2008/04/24/finding-the-right-balance-mysql%e2%80%99s-changing-development-model/">Finding the right balance &#8211; MySQL’s changing development model</a> et <a
href="http://blogs.the451group.com/opensource/2008/04/28/jonathan-schwartz-has-the-last-word-on-mysql/">Jonathan Schwartz has the last word on MySQL</a></strong></i></p><h4><a
name="SuperpackagesJSRvsOSGIEpisoden"></a>Superpackages (JSR-294) vs. OSGI : Episode n° 34291567&#8230;.</h4><p>La guerre continue entre les partisans de OSGI et ceux des JSR de SuperPackage et de JAM. Cependant, l&#8217;attaque vient cette fois-ci d&#8217;<a
href="http://blogs.sun.com/abuckley/" title="Alex Buckley" >Alex Buckley</a> de chez Sun.</p><p>Il explique dans son <a
href="http://altair.cs.oswego.edu/pipermail/jsr294-modularity-eg/2008-March/000171.html" title="email" >email</a> les inconvénients qu&#8217;il voit dans l&#8217;implémentation actuelle des superpackages[1]. En substance, il propose d&#8217;introduire à la place un nouvel &#8216;access modifier&#8217; (module).</p><p>Peter Kriens de l&#8217;OSGi Alliance semble plutôt emballé par cette <a
href="http://www.osgi.org/blog/2008/04/jsr-294-superpackages-no-more.html" title="proposition" >proposition</a>.</p><p>[1] Pour mémoire, nous avons publié en février dernier un <a
href="http://blog.xebia.fr/2008/02/27/jsr-294-les-superpackages/" title="article présentant les superpackages" >article présentant les superpackages</a></p><h3><a
name="Agilit"></a>Agilité</h3><h4><a
name="UserstoriesEntantquejeveux"></a>User stories &laquo;&nbsp;En tant que &#8230; je veux &#8230;&nbsp;&raquo;</h4><p>Mike Cohn nous rappelle les 3 raisons pour lesquelles il préconise de décomposer les <a
href="http://www.mountaingoatsoftware.com/presentation/63-an-introduction-to-user-stories" title="user stories" >user stories</a> sous forme de phrase <a
href="http://blog.mountaingoatsoftware.com/?p=24" title=""En tant que &lt;role&gt;, je veux &lt;but&gt;, pour que &lt;raison&gt;"" >&laquo;&nbsp;En tant que &lt;role&gt;, je veux &lt;but&gt;, pour que &lt;raison&gt;&nbsp;&raquo;</a> (la raison est optionnelle) :</p><ul><li>L&#8217;emploi de la 1ère personne du singulier aide les développeurs à s&#8217;identifier à l&#8217;utilisateur</li><li>La structure de la phrase &#8211; représentée par 3 colonnes dans le <a
href="http://www.mountaingoatsoftware.com/product_backlog" title="Product backlog" >Product backlog</a> &#8211; aide le <a
href="http://www.mountaingoatsoftware.com/product_owner" title="Product Owner" >Product Owner</a> à comprendre et prioriser les user stories</li><li>Pour ne pas rajouter de bruit dans la description des user stories, il suffit de nommer les colonnes du Product backlog &laquo;&nbsp;En tant que &#8230;&nbsp;&raquo;, &laquo;&nbsp;je veux &#8230;&nbsp;&raquo;, &laquo;&nbsp;pour que &#8230;&nbsp;&raquo; et le backlog devient intuitif à lire.</li></ul><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="Delasrialisationauparalllismeu"></a>De la sérialisation au parallélisme, une évolution incarnée par java.util.concurrent</h4><p>La programmation multi-threadée en java a évoluée : anciennement on utilisait la sérialisation incarnée par <code>synchronized</code>, désormais on peut faire du parallélisme avec l&#8217;introduction des API <code>java.util.concurrent</code> en Java 5.</p><p>Sharadjava nous présente dans sa Java Concurrency Series les différents aspects de cette nouvelle librairie :</p><ul><li><a
href="http://www.techgrasp.com/blogs/sharadjava/java-concurrency-series-simple-executor-example" title="Simple Executor example" >Simple Executor example</a> pour la parallélisation des tâches.</li><li><a
href="http://www.techgrasp.com/blogs/sharadjava/java-concurrency-series-examples-barrier" title="Barrier" >Barrier</a> pour l&#8217;attente entre tâches (on n&#8217;oubliera pas sur ce sujet le <a
href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/CountDownLatch.html" title="CountDownLatch" >CountDownLatch</a>).</li><li><a
href="http://www.techgrasp.com/blogs/sharadjava/java-concurrency-series-meaning-volatile-variable" title="Meaning of volatile" >Meaning of volatile</a> pour la visibilité inter-threads des valeurs des variables.</li></ul><h4><a
name="InnovationautourdeJPAJBossHibe"></a>Innovation autour de JPA : JBoss Hibernate confirme son domination avec Envers</h4><p>Après l&#8217;intégration de la recherche full text Lucene [1] et le support du Database Sharding, <a
href="http://www.hibernate.org" title="Hibernate" >Hibernate</a> confirme sa domination de l&#8217;innovation autour de JPA en ouvrant le chantier du versionnage des données. Cette problématique, bien que récurrente et accentuée par les nouvelles contraintes réglementaires (Sarbane &#038; Oaxley, etc), restait largement ignorées par nos frameworks et nos très chers design patterns. Seul Martin Fowler nous éclairait sur ce sujet délicat avec <a
href="http://www.martinfowler.com/ap2/timeNarrative.html" title="Patterns for things that change with time" >Patterns for things that change with time</a>.</p><p>JBoss comble aujourd&#8217;hui ce vide en lançant <a
href="http://www.jboss.org/envers/" title="Envers" >Envers</a>, une extension d&#8217;Hibernate qui versionne les données persistantes selon un pattern similaire au <a
href="http://www.martinfowler.com/ap2/temporalObject.html" title="Temporal Object" >Temporal Object</a> de Martin Fowler. Envers n&#8217;est qu&#8217;en version preview mais le projet est très prometteur et déjà une source d&#8217;inspiration pour les projets qui n&#8217;ont pas le temps d&#8217;attendre la première version stable.</p><p>On notera au passage qu&#8217;Envers préfère l&#8217;API standard JPA EntityManager à l&#8217;historique Session Hibernate ; on peut y voir un signe que le temps est venu pour les équipes projets de privilégier les standards JPA aux API historiques Hibernate.</p><p>Exemple d&#8217;entité persistante versionnée avec JBoss Envers</p><pre class="brush: java; title: ; notranslate">
@Entity
public class Person {
    @Id
    @GeneratedValue
    private Integer id;
    @Versioned
    private String name;
    @Versioned
    private String surname;
    @Versioned
    @ManyToOne
    private Address address;
   ...
}
</pre><p>[1] cf notre billet <a
href="http://blog.xebia.fr/2008/03/06/introduction-a-hibernate-search-googling-your-persistent-domain-model/" title="Introduction à Hibernate Search (Googling your Persistent Domain Model)" >Introduction à Hibernate Search (Googling your Persistent Domain Model)</a></p><h4><a
name="VideoIntroductiontoWebSphereeX"></a>Cas d&#8217;utilisation des grilles Java avec WebSphere eXtreme Scale/ ObjectGrid</h4><p>Billy Newport présente dans <a
href="http://www.devwebsphere.com/devwebsphere/2008/04/video-introduct.html" title="Video: Introduction to WebSphere eXtreme Scale/ObjectGrid with patterns and use cases" >Video: Introduction to WebSphere eXtreme Scale/ObjectGrid with patterns and use cases</a> les scénarios typiques d&#8217;utilisation de la grille Java d&#8217;IBM :</p><ul><li>Cache de proximité classique : la grille sert de Map distribuée ; l&#8217;application métier gère les données (chargement depuis les backends, mise en cache et sauvegarde des modifications dans les backends).</li><li>Cache de proximité avec &laquo;&nbsp;Loader synchrone&nbsp;&raquo; dans la grille : l&#8217;application métier se limite à demander des données à la grille et à les modifier ; la grille, grâce à un Loader, s&#8217;occupe de charger les données depuis les backends et sauvegarde en synchrone les données modifiées dans les backends.</li><li>Cache de proximité avec un &laquo;&nbsp;Loader à écriture différée&nbsp;&raquo; dans la grille : similaire au scénario précédent mais la sauvegarde des modifications dans les backends est asynchrone.</li><li>Cache collocalisé : l&#8217;application et la grille s&#8217;éxécutent dans les même JVM, chaque JVM héberge un noeud du cluster de l&#8217;application et un noeud de la grille. Ce scénario est typique de la mise en cache des sessions HTTP.</li></ul><p>On notera que les architectures de type <a
href="http://en.wikipedia.org/wiki/MapReduce" title="Map/Reduce" >Map/Reduce</a>, qui nécessitent une conception radicalement différente, ne semblent pas encore très répandues.</p><h4><a
name="JSRJAXRSRESTunehistoiredeRESTa"></a>JSR-311 JAX-RS REST une histoire de RESTaurant</h4><p>Dans cet <a
href="http://www.touilleur-express.fr/2008/04/25/jsr-311-jax-rs-rest-une-histoire-de-restaurant/" title="article" >article</a>, Nicolas Martignole nous présente l&#8217;architecture REST (<a
href="http://en.wikipedia.org/wiki/Representational_State_Transfer" title="Representational State Transfer" >Representational State Transfer</a>) et <a
href="http://jcp.org/en/jsr/detail?id=311" title="JSR 311: JAX-RS: The Java API for RESTful Web Services" >JSR 311: JAX-RS: The Java API for RESTful Web Services</a>. L&#8217;objectif de cette JSR est de faciliter la programmation d&#8217;applications REST en Java.<br
/> La première partie est consacrée à une introduction de REST (définition d&#8217;une ressource, lecture, création, mise à jour, suppression d&#8217;une ressource, Services Webs RESTfull).<br
/> La deuxième partie nous présente quelques détails sur l&#8217;implémentation JAX-RS avec Java.</p><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evènements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="XKEleprogrammedelasessiondemai"></a>XKE, le programme de la session de mai</h4><p>Le prochain XKE (Xebia Knowledge Exchange) aura lieu le <strong>mardi</strong> 6 Mai 2008. Les sujets suivants seront abordés :</p><ul><li>Sessions Pratiques<ul><li>Terracotta, the Network Attached Memory (NAM)</li><li>java.util.concurrent, concours de developpement</li></ul></li></ul><ul><li>Technique<ul><li>Java et la Cryptographie</li></ul></li></ul><ul><li>Architecture<ul><li>Retour sur l&#8217;architecture de l&#8217;un des plus grand site de ecommerce de France</li><li><a
href="http://xp-france.net/index.php?option=com_content&#038;task=view&#038;id=48&#038;Itemid=120#S836" title="Tests unitaires avec les librairies de Mock" >Tests unitaires avec les librairies de Mock</a></li></ul></li></ul><ul><li>Xebia Hollande<ul><li>Intervention du CTO de <a
href="http://www.xebia.com" title="Xebia Hollande" >Xebia Hollande</a></li></ul></li></ul><p>Comme nous l&#8217;annoncions, les XKE sont <a
href="http://blog.xebia.fr/2008/02/06/xebia-ouvre-ses-journees-de-partage-de-la-connaissance-xke/" title="ouverts" >ouverts</a> à l&#8217;ensemble des personnes à l&#8217;écoute du marché de l&#8217;emploi autour des technologies Java/J2EE. Si vous êtes l&#8217;une d&#8217;entre elles , n&#8217;hésitez pas à contacter <a
href="mailto:mbacrot@xebia.fr" title="Mélanie Bacrot" >Mélanie Bacrot</a> pour vous inscrire.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/04/28/revue-de-presse-xebia-54/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/</link> <comments>http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/#comments</comments> <pubDate>Mon, 14 Apr 2008 18:03:33 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Camel]]></category> <category><![CDATA[ESB]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Jetty]]></category> <category><![CDATA[Maven]]></category> <category><![CDATA[ObjectGrid]]></category> <category><![CDATA[Paris JUG]]></category> <category><![CDATA[Tomcat]]></category> <category><![CDATA[Websphere]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Google App Engine, écrivez vos propres applications Google Polémique : Gartner Group nous révèle que Windows Vista s’écroule sous son propre poids Le coin de la technique Polémique : Java est en train de perdre la bataille du web moderne [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/#GoogleAppEngine">Google App Engine, écrivez vos propres applications Google</a></li><li><a
href="http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/#Vista">Polémique : Gartner Group nous révèle que Windows Vista s’écroule sous son propre poids</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/#JavaWeb">Polémique : Java est en train de perdre la bataille du web moderne</a></li><li><a
href="http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/#JavaEERod">Java EE Next Generations, les prédictions de Rod Johnson</a></li><li><a
href="http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/#Maven209">Sortie de Maven 2.0.9</a></li><li><a
href="http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/#Camel13">Camel 1.3 : les lightweight ESB progressent</a></li><li><a
href="http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/#JettyTomcat">Netcraft Web Survey : Jetty progresse alors que Tomcat stagne</a></li><li><a
href="http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/#IBMeXtremeScale">IBM ObjectGrid est mort ! Longue vie à Websphere eXtreme Scale !</a></li><li><a
href="http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/#JavaWebFramework">Java Web Frameworks Survey</a></li></ul><p><strong>Evènements de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/#PJUG">Kirk Pepperdine au Paris JUG</a></li></ul><h3>Actualité éditeurs / SSII</h3><h4><a
name="GoogleAppEngine"></a>Google App Engine, écrivez vos propres applications Google</h4><p>Google a annoncé la semaine passée la mise à disposition d&#8217;une plateforme d&#8217;hébergement pour applications Web, <a
href="http://code.google.com/appengine/" title="Google App Engine" >Google App Engine</a>. La plateforme est pour l&#8217;instant en <i>preview release</i>, seuls 10 000 développeurs on pu s&#8217;enregistrer pour y accéder.</p><p>App Engine met à disposition des développeurs (pour l&#8217;instant gratuitement, mais le service sera bientôt payant) les outils utilisés par Google pour ses propres applications :</p><ul><li>Stockage de données avec <a
href="http://en.wikipedia.org/wiki/BigTable" title="BigTable">BigTable</a> et <a
href="http://en.wikipedia.org/wiki/Google_File_System">Google File System (GFS)</a></li><li>Scalabilité et répartition de charge</li><li>APIs Google, pour gérer l&#8217;authentification, envoyer des mails, et dialoguer avec le système de stockage de données</li><li>Ainsi qu&#8217;un environnement de développement local</li></ul><p>Les développements sont pour l&#8217;instant effectués en Python, mais d&#8217;autres langages devraient prochainement être supportés. Si vous souhaitez promouvoir votre langage favori, <a
href="http://code.google.com/p/googleappengine/issues/list" title="c'est par ici que ça se passe" >c&#8217;est par ici que ça se passe</a> (la demande de support de Java est actuellement en tête devant celles de Ruby et PHP).</p><p>Depuis la mise à disposition de ses services <a
href="http://en.wikipedia.org/wiki/Amazon_S3">Amazon Simple Storage Service (S3)</a>, <a
href="http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud">Amazon Elastic Cloud (EC2 &#8211; nuage de serveurs)</a>, et <a
href="http://en.wikipedia.org/wiki/SimpleDB">SimpleDB (base de données)</a>, nous savions que ce n&#8217;était qu&#8217;une question de mois avant de voir la riposte de Google.<br
/> 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&#8217;App Engine de Google en façade d&#8217;un nuage (EC2) pour le traitement par batchs.<br
/> A quand la réponse de Microsoft?</p><p>Quelques articles qui nous ont paru intéressants sur le sujet</p><ul><li><a
href="http://blogs.zdnet.com/Google/?p=999" title="ZDNet : Google announces App Engine: Should Amazon worry?" >ZDNet : Google announces App Engine: Should Amazon worry?</a></li><li><a
href="http://www.businessweek.com/the_thread/techbeat/archives/2008/04/google_apps_eng.html" title="BusinessWeek : Google App Engine Goes Up Against Amazon, But That's Not the Point" >BusinessWeek : Google App Engine Goes Up Against Amazon, But That&#8217;s Not the Point</a></li><li><a
href="http://www.biologeek.com/journal/index.php/google-app-engine-avantages-et-inconvenients" title="BioloGeek : Google App Engine - avantages et inconvénients" >BioloGeek : Google App Engine &#8211; avantages et inconvénients</a></li></ul><h4><a
name="Vista"></a>Polémique : Gartner Group nous révèle que Windows Vista s&#8217;écroule sous son propre poids</h4><p>Gartner Group nous annonce dans <a
href="http://blogs.zdnet.com/BTL/?p=8428" title="Windows collapsing under its own weight; Radical change needed" >Windows collapsing under its own weight; Radical change needed</a> que Windows 7 sera radicalement différent de Vista, ce sera le premier système d&#8217;exploitation modulaire de Microsoft.</p><p>Scoop ? Pas vraiment, Gartner nous l&#8217;avait déjà annoncé en Février 2007 dans <a
href="http://www.computerweekly.com/Articles/2007/02/27/222143/is-vista-the-last-monolithic-release.htm" title="Is Vista the last monolithic release?" >Is Vista the last monolithic release?</a>. En revanche, la nouvelle annonce nous dévoile quelques détails sur Windows 7.</p><h3>Le coin de la technique</h3><h4><a
name="JavaWeb"></a>Polémique : Java est en train de perdre la bataille du web moderne</h4><p>TV4IT nous avait invité à participer à son débat <a
href="http://www.tv4it.net/permalink/4681/live-tv4it-java-est-mort-vive-java-partie-1.aspx" title="Java est mort, vive Java ?" >Java est mort, vive Java ?</a> (<a
href="http://www.tv4it.net/permalink/4682/live-tv4it-java-est-mort-vive-java-partie-2.aspx" title="part 2" >part 2</a>, <a
href="http://www.tv4it.net/permalink/4685/live-tv4it-java-est-mort-vive-java-partie-3.aspx" title="part 3" >part 3</a>).<br
/> The Server Side relance le débat cette semaine avec <a
href="http://www.theserverside.com/news/thread.tss?thread_id=49016" title="Java is losing the battle for the modern web ..." >Java is losing the battle for the modern web &#8230;</a>. Derrière ce titre bien trouvé de guerre moderne, comme d&#8217;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.</p><p>Rien de nouveau dans les polémiques millénaristes si ce n&#8217;est un avis pessimiste sur l&#8217;avenir du prochainement disponible JavaFX face au prometteur <a
href="http://www.microsoft.com/silverlight/" title="Microsoft Silverlight" >Microsoft Silverlight</a> et à l&#8217;omniprésent <a
href="http://www.adobe.com/products/flex/" title="Adobe Flex" >Adobe Flex</a>. Comment JavaFX arrivera-t-il à prendre des parts de marché aux solutions d&#8217;Adobe et de Microsoft ? Quelle promesse de valeur ajoutée convaincra les clients de changer de technologie ?</p><h4><a
name="JavaEERod"></a>Java EE Next Generations, les prédictions de Rod Johnson</h4><p>Rod Johnson nous livre dans <a
href="http://blog.springsource.com/main/2008/04/09/the-biggest-losers-next-contestant-java-bloatware/" title="The Biggest Loser's Next Contestant: Java Bloatware" >The Biggest Loser&#8217;s Next Contestant: Java Bloatware</a> sa vision des prochains serveurs d&#8217;applications Java.</p><p>C&#8217;est l&#8217;occasion de comprendre la ligne directrice du framework Spring et en particulier de <a
href="http://www.springframework.org/osgi" title="Spring Dynamic Modules for OSGi(tm) Service Platforms" >Spring Dynamic Modules for OSGi(tm) Service Platforms</a>, <a
href="http://www.springframework.org/spring-integration" title="Spring Integration" >Spring Integration</a> et Tomcat (récemment rapproché de Spring par le rachat de Covalent).</p><p>Nous passerons les habituelles piques contre les serveurs d&#8217;applications Java EE qualifiés cette fois de &laquo;&nbsp;morbidly obese legacy platforms&nbsp;&raquo;. Au delà de ces critiques lassantes, nous retiendrons :</p><ul><li>L&#8217;avenir de Java EE ne passera plus seulement par les spécifications du JCP mais aussi par celles d&#8217;organismes (cf OSGI, SCA, etc.)</li><li>Les serveurs d&#8217;applications de demain seront modulaires et beaucoup plus compacts</li><li>Les ESB et les serveurs d&#8217;applications vont converger</li><li>Ces évolutions augurent un renouveau de la compétition sur la marché des serveurs d&#8217;applications</li><li>Spring se positionne avec sa stack associée au serveur Tomcat dont on peut s&#8217;attendre une évolution rapide (OSGI-fication ?)</li></ul><h4><a
name="Maven209"></a>Sortie de Maven 2.0.9</h4><p>La dernière version de <a
href="http://maven.apache.org/release-notes.html" title="Maven" >Maven</a> est disponible, voici les points les plus innovants :</p><ul><li><a
href="http://jira.codehaus.org/browse/MNG-3395" title="MNG-3395" >MNG-3395</a> : le <i>super pom</i> 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 <a
href="http://docs.codehaus.org/display/MAVENUSER/Making+Maven+not+suck+%28-db+branch%29" title="effectué par Don Brown avec sa branche maven-db" >effectué par Don Brown avec sa branche maven-db</a> a en partie payé!</li><li><a
href="http://jira.codehaus.org/browse/MNG-1412" title="MNG-1412" >MNG-1412</a> et <a
href="http://jira.codehaus.org/browse/MNG-3111" title="MNG-3111" >MNG-3111</a> : l&#8217;ordre des dépendances dans les fichiers classpath générés est désormais déterminé par l&#8217;ordre de déclaration dans le pom, les dépendances héritées étant ajoutées à la fin.</li><li><a
href="http://jira.codehaus.org/browse/MNG-3415" title="MNG-3415" >MNG-3415</a> : une erreur lors du téléchargement d&#8217;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.</li><li>Un projet peut désormais <a
href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies" title="importer les dépendances de plusieurs projets" >importer les dépendances de plusieurs projets</a> grâce au <i>scope</i> &laquo;&nbsp;import&nbsp;&raquo;. Sur un gros projet multi-modules c&#8217;était quasiment impossible, puisqu&#8217;un module ne peut hériter que d&#8217;un seul parent. Bien évidemment si on utilise cette fonctionnalité Maven 2.0.9 devient obligatoire pour builder le projet.</li></ul><p>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 <a
href="http://jira.codehaus.org/secure/ReleaseNote.jspa?version=13801&#038;styleName=Html&#038;projectId=10500" title="est en ligne" >est en ligne</a>.</p><h4><a
name="Camel13"></a>Camel 1.3 : les <i>lightweight ESB</i> progressent</h4><p>James Strachan nous <a
href="http://macstrac.blogspot.com/2008/04/apache-camel-130-released-with-208-new.html" title="présente les nouveautés d'Apache Camel 1.3" >présente les nouveautés d&#8217;Apache Camel 1.3</a>, le prédécesseur du toujours pas releasé <a
href="http://www.springframework.org/node/625" title="Spring Integration" >Spring Integration</a> dans le domaine des <i>lightweight esb</i> [1].<br
/> On remarquera l&#8217;amélioration de la testabilité, la meilleure intégration aux POJOs et le support de <a
href="http://www.microsoft.com/windowsserver2003/technologies/msmq/default.mspx" title="Microsoft Message Queuing (MSMQ)" >Microsoft Message Queuing (MSMQ)</a> et d&#8217;<a
href="https://jira.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Protocol" title="AMQP" >AMQP</a>.</p><p>Si cette release est une bonne nouvelle pour les utilisateurs des <a
href="http://enterpriseintegrationpatterns.com/" title="Enterprise Integration Patterns" >Enterprise Integration Patterns</a>, elle est en revanche une source de confusion pour les utilisateurs d&#8217;<a
href="http://servicemix.apache.org/" title="Apache ServiceMix 3" >Apache ServiceMix 3</a>, le conteneur JBI également inclus dans la stack <a
href="http://open.iona.com/" title="IONA FUSE" >IONA FUSE</a>, dont la valeur ajoutée par rapport à Camel est aujourd&#8217;hui difficile à trouver. La <a
href="http://cwiki.apache.org/confluence/download/attachments/70895/Apache+ServiceMix+4.0.ppt?version=1" title="présentation du futur ServiceMix 4" >présentation du futur ServiceMix 4</a>, qui intégrera OSGI, CXF et Camel, aidera les utilisateurs surpris à comprendre comment s&#8217;articulera la suite ActiveMQ-Camel-CXF-ServiceMix.</p><p>[1] cf. <a
href="http://blog.xebia.fr/2007/12/17/spring-integration-lavenement-des-lightweight-esb/" title="Xebia Blog : Spring Integration - L'avènement des 'lightweight ESB' ?" >Xebia Blog : Spring Integration &#8211; L&#8217;avènement des &#8216;lightweight ESB&#8217; ?</a></p><h4><a
name="JettyTomcat"></a>Netcraft Web Survey : Jetty progresse alors que Tomcat stagne</h4><p>Alors que <a
href="http://www.lighttpd.net/" title="LightHttpd" >LightHttpd</a> empiète poliment sur les plates-bandes de <a
href="http://httpd.apache.org/" title="Apache Http Server" >Apache Http Server</a> avec seulement 2% des parts de marché de son aîné, le conteneur de Servlets open source <a
href="http://www.webtide.com/" title="Jetty" >Jetty</a> rivalise sans complexe avec le très établi mais stagnant <a
href="http://tomcat.apache.org" title="Apache Tomcat" >Apache Tomcat</a> : le nombre de serveurs Jetty représente 80% de celui de serveurs Tomcat (cf <a
href="http://blogs.webtide.com/gregw/2008/04/11/1207878698135.html" title="webtide blog: Jetty has 80% of Tomcats public servers" >webtide blog: Jetty has 80% of Tomcats public servers</a>).</p><p>Comment Jetty a-t-il rattrapé Tomcat aussi vite ? Les innovations de Jetty sont certes intéressantes (<a
href="http://www.osgi.org/Main/HomePage" title="OSGI" >OSGI</a>, <a
href="http://en.wikipedia.org/wiki/Comet_(programming)" title="Ajax Comet Push" >Ajax Comet Push</a>, etc) mais il faut surtout voir l&#8217;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&#8217;est quelque peu endormi sur ses lauriers. Espérons que le <a
href="http://blog.xebia.fr/2008/02/04/revue-de-presse-xebia-42/#SpringSourcerCovalent" title="récent rachat de Covalent par Spring Source " >récent rachat de Covalent par Spring Source </a> redynamisera la communauté Tomcat.</p><div
align="center"> <img
src='http://blog.xebia.fr/wp-content/uploads/2008/04/jetty_comcat.png' alt='jetty_comcat.png' /><br
/> <em>Source : <a
href="http://blogs.webtide.com/gregw/2008/04/11/1207878698135.html" title="Webtide blog : Jetty Improves in Netcraft survey" >Webtide blog : Jetty Improves in Netcraft survey</a></em></div><h4><a
name="IBMeXtremeScale"></a>IBM ObjectGrid est mort ! Longue vie à Websphere eXtreme Scale !</h4><p>Billy Newport nous annonce que la grille de données qu&#8217;il a supervisée, IBM ObjectGrid, <a
href="http://www.devwebsphere.com/devwebsphere/2008/04/objectgrid-gets.html" title="s'appellera dorénavant Websphere eXtreme Scale" >s&#8217;appellera dorénavant Websphere eXtreme Scale</a></p><p>Simple détail de marketing ou signe de &laquo;&nbsp;Big Is Beautiful&nbsp;&raquo; chez IBM ? Hormis ses qualités qui font d&#8217;ObjectGrid une grille de données de tout premier plan [1], ObjectGrid se singularisait dans le portfolio Java d&#8217;IBM par une grande indépendance à la stack Websphere (les 6 petits Mo du client ObjectGrid s&#8217;exécutent indépendamment de Websphere, <a
href="http://www.ibm.com/developerworks/wikis/display/objectgridprog/Using+a+non-IBM+JDK+or+JRE+with+ObjectGrid" title="même sur une JVM Sun" >même sur une JVM Sun</a>) et par un format de documentation très novateur avec un <a
href="http://www.ibm.com/developerworks/wikis/display/objectgridprog/Reference" title="wiki Confluence" >wiki Confluence</a> plutôt qu&#8217;un classique <a
href="http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.doc/info/welcome_nd.html" title="Infocenter" >Infocenter</a>.</p><p>Billy Newport avait été visionnaire en prédisant dès juillet 2005 l&#8217;avènement du lightweight Java dans <a
href="http://www.devwebsphere.com/devwebsphere/2005/07/end_of_the_road.html" title="End of the Java Web Frameworks Survey road for invasive middleware?" >End of the Java Web Frameworks Survey road for invasive middleware?</a>. Espérons que son message continuera à influencer Big Blue et qu&#8217;ObjectGrid ne disparaîtra pas dans l&#8217;imposante stack Websphere.</p><p>[1] cf. l&#8217;<a
href="http://www.ibm.com/developerworks/wikis/display/objectgridprog/Introduction+to+the+EntityManager+API" title="EntityManager" >EntityManager</a> <i>à la</i> JPA qui n&#8217;a pas d&#8217;égal pour manipuler les POJOs des la grille</p><h4><a
name="JavaWebFramework"></a>Java Web Frameworks Survey</h4><p>Peter Karich présente dans <a
href="http://java.dzone.com/tips/java-web-frameworks-survey" title="Java Web Frameworks Survey" >Java Web Frameworks Survey</a> un comparatif des huit frameworks Web qui suivent :</p><ul><li><a
href="http://click.sourceforge.net/" title="Click Framework" >Click Framework</a></li><li><a
href="http://echo.nextapp.com/site/echo2" title="Echo2" >Echo2</a></li><li><a
href="http://code.google.com/webtoolkit/" title="GWT" >GWT</a></li><li><a
href="http://java.sun.com/products/jsp/" title="JSP" >JSP</a></li><li><a
href="http://www.thinwire.com/" title="Thinwire" >Thinwire</a></li><li><a
href="http://wicket.apache.org/" title="Wicket" >Wicket</a></li><li><a
href="http://wingsframework.org/" title="WingS" >WingS</a></li><li><a
href="http://www.zkoss.org/" title="ZK Framework" >ZK Framework</a></li></ul><p>L&#8217;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 <a
href="http://www.gnuplot.info/" title="gnuplot" >gnuplot</a> a été utilisée.</p><p>Le comparatif nous permet de découvrir certains frameworks peu connus. Selon l&#8217;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&#8217;est pas très compliqué. En revanche GWT demande un certain coût d&#8217;entrée&#8230; (Nous avions partagé certaines de ces conclusions dans notre <a
href="http://blog.xebia.fr/2007/10/26/xebia-web-framework-contest/" title="Web Framework Contest" >Web Framework Contest</a> en Octobre dernier.</p><p>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&#8217;il une communauté active? Quelles sont les possibilités d&#8217;intégration à une application existante ?</p><h3>Evènements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="PJUG"></a>Kirk Pepperdine au Paris JUG</h4><p><a
href="http://kirk.blog-city.com/" title="Kirk Pepperdine" >Kirk Pepperdine</a> 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 :</p><ul><li>L&#8217;émergence des processeurs multi-coeurs révèle des problèmes de concurrence d&#8217;accès qui n&#8217;apparaissaient pas auparavant : une application peut s&#8217;exécuter moins vite sur un processeur multi-coeur à cause d&#8217;apparition de goulets d&#8217;étranglement (synchronisation, etc).</li><li>Les APIs <code>java.util.concurrent</code> introduites avec Java 5 (en même temps que la clarification du modèle mémoire) simplifient le développement d&#8217;applications hautes performances.</li><li>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 (<a
href="http://www.terracotta.org/" title="Terracotta" >Terracotta</a>, <a
href="http://www.oracle.com/technology/products/coherence/index.html" title="Coherence" >Coherence</a>, etc) qui elles exploitent les opportunités de parallélisme.</li><li>Diagnostiquer un problème des performances d&#8217;une application Java nécessite d&#8217;étudier simultanément les quatre couches de &laquo;&nbsp;The Box&nbsp;&raquo; [1] : Hardware, JVM, Application et People.</li><li>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&#8217;ensemble (IO, CPU Système, CPU Applicative, etc).</li></ul><p>D&#8217;autres blogs parlent de la venue de Kirk Pepperdine : <a
href="http://www.touilleur-express.fr/2008/04/09/presentation-de-kirk-pepperdine-au-paris-java-user-group/" title="Le touilleur Express : Présentation de Kirk Pepperdine au Paris Java User Group" >Le touilleur Express : Présentation de Kirk Pepperdine au Paris Java User Group</a>, <a
href="http://sunchic.free.fr/wordpress/index.php/archives/2008/04/09/troisieme-rencontre-du-paris-java-user-group/" title="David Gageot: Troisième rencontre du Paris Java User Group" >David Gageot: Troisième rencontre du Paris Java User Group</a>.</p><p>Merci encore aux organisateurs du Paris JUG et <a
href="http://www.parisjug.org/meetings/20080513/presentation.html" title="rendez-vous le 13 mai" >rendez-vous le 13 mai</a> pour des présentations sur la Productivité des développements Java (Guillaume Duquesnay) et Maven (Arnaud Heritier).</p><p>[1] cf <a
href="http://www.infoq.com/articles/the-box" title="InfoQ : The Box: A Shortcut to finding Performance Bottlenecks" >InfoQ : The Box: A Shortcut to finding Performance Bottlenecks</a> par Kirk Pepperdine</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/04/14/revue-de-presse-xebia-52/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/</link> <comments>http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#comments</comments> <pubDate>Mon, 07 Apr 2008 17:27:10 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[AIR]]></category> <category><![CDATA[Eclipse]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[OSGi]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[SCA]]></category> <category><![CDATA[SCRUM]]></category> <category><![CDATA[Spring]]></category> <category><![CDATA[Websphere]]></category> <category><![CDATA[XP]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Microsoft se rapproche de la fondation Eclipse Eclispe 4, une refonte du socle ? SpringSource Application Management Suite (AMS) Agilité Polémique : Scrum aliène-t-il XP ? RIA Adobe AIR pour Linux Le coin de la technique SCA Java EE Integration [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#MicrosoftEclipse">Microsoft se rapproche de la fondation Eclipse</a></li><li><a
href="http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#Eclispe4">Eclispe 4, une refonte du socle ?</a></li><li><a
href="http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#AMS">SpringSource Application Management Suite (AMS)</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#ScrumXP">Polémique : Scrum aliène-t-il XP ?</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#AdobeAIRpourLinux">Adobe AIR pour Linux</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#SCA">SCA Java EE Integration specification : v0.9</a></li><li><a
href="http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#WebsphereMQV7">IBM annonce Websphere MQ V7 pour Juin</a></li><li><a
href="http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#Cyclomatique">Complexité cyclomatique optimale : 11 selon Enerjy !</a></li><li><a
href="http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#JavaModuleSystemOSGI">Java Module System (JSR-277) et OSGI, un silence pesant</a></li></ul><p><strong>Evènements de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#avril">Poissons d&#8217;avril</a></li></ul><hr/><h3>Actualité éditeurs / SSII</h3><h4><a
name="MicrosoftEclipse"></a>Microsoft se rapproche de la fondation Eclipse</h4><p>A l&#8217;occasion d&#8217;EclipseCon 08, Sam Ramji, leader de la <a
href="http://port25.technet.com/">communauté Open Source</a> chez Microsoft, a <a
href="http://port25.technet.com/archive/2008/03/19/supernova.aspx">annoncé</a> le début d&#8217;une collaboration entre La fondation Eclipse et Microsoft.<br
/> Le principal but de ce rapprochement concerne une meilleure intégration du toolkit graphique d&#8217;Eclipse <a
href="http://www.eclipse.org/swt/">SWT</a> avec <a
href="http://en.wikipedia.org/wiki/Windows_Presentation_Foundation">Windows Presentation Foundation (WPF)</a>.</p><h4><a
name="Eclispe4"></a>Eclispe 4, une refonte du socle ?</h4><p>Voulant conquérir de nouveaux horizons, notamment côté serveur, la fondation Eclipse <a
href="http://dev.eclipse.org/mhonarc/lists/eclipse.org-committers/msg00504.html">annonce</a> la création d&#8217;un nouveau composant appelé e4. Le but principal de ce projet est de poser les bases du futur Eclipse 4.0. Partant de zéro, son rôle sera de simplifier la plateforme Eclipse et d&#8217;être résolument tourné vers le web.<br
/> Prévu au mieux pour fin 2009, Eclipse 4 sera développé en parallèle d&#8217;Eclipse 3.4 (Ganymede) et devrait assurer le compatibilité des plugins existants.</p><h4><a
name="AMS"></a>SpringSource Application Management Suite (AMS)</h4><p>SpringSource <a
href="http://blog.springsource.com/main/2008/03/31/springsource-application-management-suite-ams-released/">vient de livrer</a> une solution de monitoring des applications basée sur Spring. Voyons ici un système concurrent de <a
href="http://www.glassbox.com/">Glassbox</a>. Cependant, cet outil tire partie des nouvelles possibilités de configuration par annotation offertes par Spring 2.5. Il comprend automatiquement les annotations @Controller, @Repository, @Transactional, @Component et @Service. L&#8217;avantage donc par rapport à Glassbox finalement c&#8217;est la prise en compte automatique des beans gérés par Spring dans le monitoring.</p><p>SpringSource AMS est basé sur Hyperic&#8217;s HQ Enterprise Edition, fruit du récent partenariat entre les deux sociétés.</p><p>Un outil résolument à suivre &#8230;.</p><h3>Agilité</h3><h4><a
name="ScrumXP"></a>Polémique : Scrum aliène-t-il XP ?</h4><p>Notre collègue <a
href="http://vikashazrati.wordpress.com/about/">Vikas Hazrati</a> a résumé sur <a
href="http://www.infoq.com/news/2008/04/scrum-alienating-xp">InfoQ: Do Extreme Programming Folks Care about Scrum?</a> une discussion très &laquo;&nbsp;animée&nbsp;&raquo; initiée par <a
href="http://www.danube.com/blog/michaeljames">Michael James</a> à propos de Scrum vue par les praticiens d&#8217;XP (eXtreme Programming). Ce dernier pense que Scrum et XP sont des alliés, mais ce n&#8217;est pas l&#8217;avis de tout le monde.</p><p>Comme Guillaume Bodet l&#8217;expliquait dans <a
href="http://blog.xebia.fr/2008/01/10/scrum-ou-xp-scrum-et-xp/">Scrum ou XP ? Scrum et XP !</a>, nous pensons que Scrum et XP sont complémentaires, Scrum se positionne au niveau de la gestion/organisation de projet tandis que XP concerne les activités de développement.<br
/> Mais comme le dit Bruce Robinson, XP n&#8217;est pas la seule méthode de développement et elle n&#8217;est pas forcément la plus adaptée dans tous les cas, on peut par exemple préférer la revue de code au pair programming.</p><p><a
href="http://alistair.cockburn.us/index.php/Main_Page">Alistair Cockburn</a> répète que les pratiques préconisées par XP sont utiles mais pas nécessaires, des projets fonctionnent très bien sans XP.<br
/> Peu importe la méthode, mais tous sont d&#8217;accord qu&#8217;un projet nécessite des pratiques de développement pour réussir. Effectivement Scrum fournit un cadre méthodologique mais elle nécessite d&#8217;être complétée, &laquo;&nbsp;implémentée&nbsp;&raquo; par des pratiques de développement.</p><p>Wayne Mack propose l&#8217;approche du menu chinois : apprenez les 2 méthodes, choisissez ensuite les éléments qui vous semble intéressants parmi le menu.<br
/> Attention toutefois, Vikas Hazrati nous rappelle à travers le <a
href="http://vikashazrati.wordpress.com/2008/01/27/so-your-agile-adoption-failed-ever-heard-of-shu-ha-ri/">ShuHaRi</a> que choisir les éléments du menu et créer sa propre méthode demande de la maturité, il conseille de commencer par expérimenter une méthode telle que préconisée, et seulement une fois à l&#8217;aise avec la méthode vous pouvez essayer de la personnaliser.</p><p>Pour en revenir aux valeurs de l&#8217;agilité, la méthode n&#8217;est pas le principal, les personnes et leurs interactions sont plus importantes. Car même si vous appliquez de bonnes pratiques, cela ne vous protège pas contre une &laquo;&nbsp;mauvaise&nbsp;&raquo; équipe (manque de compétences techniques, mauvais relationnel, esprit compliqué&#8230;). Quelle que soit la méthode il faut des gens talentueux et motivés pour mener à bien un projet selon <a
href="http://c2.com/cgi/wiki?JbRainsberger">J. B. Rainsberger</a>, cependant un processus peut aider et XP semble le mieux adapté pour compléter Scrum.</p><p>Même si le groupe n&#8217;a pu se mettre d&#8217;accord au final, certains ont mentionné avoir utilisé Scrum et XP ensemble avec succès !</p><p>La discussion originale est sur <a
href="http://tech.groups.yahoo.com/group/extremeprogramming/message/139415">Yahoo! Extreme Programming: How is Scrum alienating the eXtreme Programming folks?</a>.</p><h3>RIA</h3><h4><a
name="AdobeAIRpourLinux"></a>Adobe AIR pour Linux</h4><p><a
href="http://labs.adobe.com/technologies/air/">Adobe AIR</a> est enfin disponible pour la plateforme Linux. Seul bémol, celui-ci est une version alpha. Néanmoins, cette version contient le runtime, un exemple d&#8217;application et le AIR SDK. Par ailleurs, <a
href="http://labs.adobe.com/downloads/flexbuilder_linux.html">Flex Builder 3</a> a aussi été mis à jour afin de supporter la mise en place d&#8217;applications AIR sous Linux.<br
/> Adobe continue son ascension et remporte de plus en plus de succès et d&#8217;adhésion. Va t-on vers une ère Adobe ?</p><h3>Le coin de la technique</h3><h4><a
name="SCA"></a>SCA Java EE Integration specification : v0.9</h4><p>Pendant que le Java Community Process tarde à statuer sur le modèle de composants de bas niveau OSGI, la communauté <a
href="http://en.wikipedia.org/wiki/Service_component_architecture">SCA </a> continue à avancer les pions de son standard d&#8217;assemblage de composants de haut niveau avec la publication d&#8217;une première ébauche de la <a
href="http://www.infoq.com/news/2008/04/sca-java-ee">SCA Java EE Integration specification</a>. Cette spécification a le mérite d&#8217;apaiser le monde Java EE après la tonitruante déclaration de Michael Rowley (BEA) : <em>&laquo;&nbsp;EJB session beans, MDBs, JAX-WS and even JMS aren&#8217;t usually necessary in an SCA universe&nbsp;&raquo;</em> dans <a
href="http://dev2dev.bea.com/blog/mrowley/archive/2007/05/does_sca_define.html">Does SCA define a new programming model for Java?</a>.</p><p>Quel impact pour le quotidien des développeurs Java ? Quasiment aucun pour le moment ; SCA est une spécification à l&#8217;utilisation encore confidentielle (SCA est principalement présent dans Websphere ESB et Process Server).</p><h4><a
name="WebsphereMQV7"></a>IBM annonce Websphere MQ V7 pour Juin</h4><p>Le marché des middlewares de messages est lui aussi modifié par l&#8217;émergence d&#8217;offres open source matures (<a
href="http://activemq.apache.org">Apache ActiveMQ</a>, etc ). Dans cette atmosphère dynamisée, IBM Websphere MQ, le leader du marché, tourne la page de trois ans de V6.0 avec <a
href="http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=an&amp;subtype=ca&amp;appname=GPA&amp;htmlfid=897/ENUS208-068">l&#8217;annonce de WMQ V7.0 pour Juin 2008</a>.<br
/> Les principales améliorations :</p><ul><li>Amélioration des performances (particulièrement publish/subscribe, réception sur selector et messages non persistents).</li><li>Simplification de l&#8217;administration du mode publish/subscribe et des ressources JMS.</li><li><a
href="http://www-306.ibm.com/software/integration/wmq/httpbridge/">Bridge HTTP</a> pour directement exposer les queues à des clients Web 2.0/Ajax.</li><li>Intégration native du mode publish/subscribe  au Queue Manager [1].</li></ul><p>Nous aurions espéré :</p><ul><li>Un mécanisme de relivraison différé des messages équivalent à la <a
href="http://activemq.apache.org/redelivery-policy.html">redelivery policy d&#8217;ActiveMQ</a>.</li><li>Une amélioration des performances des temporary queues similaire à celle apportée aux selectors. L&#8217;utilisation de files temporaires est un modèle encore plus simple que les selectors pour réaliser des invocations synchrones avec un middleware de messages (cf <a
href="http://enterpriseintegrationpatterns.com/RequestReply.html">pattern request/reply</a>).</li></ul><p>Plus d&#8217;informations dans <a
href="ftp://ftp.software.ibm.com/software/websphere/pdf/DRAFT_WebSphere_MQ_V7_Redbook.pdf">Redbook: WebSphere MQ V7.0 Features and Enhancements (Draft)</a>.</p><p>[1] En v6.0, un broker périphérique était utilisé.</p><h4><a
name="Cyclomatique"></a>Complexité cyclomatique optimale : 11 selon Enerjy !</h4><p>Les outils d&#8217;analyse statique de code fleurissent avec l&#8217;essor des serveur d&#8217;intégration continue. L&#8217;éditeur <a
href="http://www.enerjy.com/">Enerjy</a>, après avoir étudié des projets open source réputés à la loupe de son analyseur, <a
href="http://www.infoq.com/news/2008/03/cyclomaticcomplexity">révise la valeur optimale de la complexité </a> à 11. On notera que cette valeur est légèrement supérieure à celle retenue par CheckStyle, le leader de l&#8217;analyse statique, qui estime que <a
href="http://checkstyle.sourceforge.net/config_metrics.html#CyclomaticComplexity">10 est déjà excessif</a>.</p><p>Si la valeur exacte est sujette à débat, c&#8217;est l&#8217;occasion de se rappeler que la complexité cyclomatique est un indicateur pertinent de qualité du code et que les environnements de développement et serveurs d&#8217;intégration continue rendent aujourd&#8217;hui facile le suivi de ces indicateurs.</p><h4><a
name="JavaModuleSystemOSGI"></a>Java Module System (JSR-277) et OSGI, un silence pesant</h4><p>Nouveau rebondissement dans le feuilleton &laquo;&nbsp;<a
href="http://jcp.org/en/jsr/detail?id=277">JSR-277 : Java Modules System</a> versus OSGI&nbsp;&raquo;.</p><p>La JSR d&#8217;assemblage des composants menée par Sun prenait un retard inquiétant pour être intégrée à la version 7 de Java (Dolphin). Un petit répit s&#8217;annonce avec le décalage de la sortie de Dolphin désormais planifiée pour Janvier 2009.</p><p>Si cette prolongation donne une chance à la JSR-277 de figurer dans la prochaine version de Java, il reste néanmoins un problème de gouvernance de fond sur cette spécification. Peter Kriens (OSGI Alliance) expliquait en Septembre dernier qu&#8217;il a été <a
href="http://www.infoq.com/interviews/osgi-peter-kriens">refoulé de l&#8217;expert group sans raison convaincante</a>. Dalibor Topic (kaffe.org) a <a
href="http://mail.openjdk.java.net/pipermail/modules-dev/2008-January/000463.html">demandé en Janvier l&#8217;éviction de 9 membres de ce même expert group</a> sur une mailing list du projet Open JDK. Les déclarations fusent et l&#8217;expert group de la JSR 277 qui ne communique toujours rien de concret sur la position du très important OSGI, laissant la place à la rumeur et au mécontentement &#8230;</p><h3>Evènements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="avril"></a>Poissons d&#8217;avril</h4><p>Premier jour d&#8217;avril oblige, certains ont annoncé de fausses nouvelles, surprenantes ou amusantes. Voici une liste des poissons d&#8217;avril que nous avons recensés :</p><ul><li><a
href="http://www.infoq.com/news/2008/04/microsoft-springsource-purchase">Microsoft rachète SpringSource</a></li><li><a
href="http://www.theserverside.com/news/thread.tss?thread_id=18635">Microsoft rachète TheServerSide.com</a> (décidément Microsoft est en forme)</li><li><a
href="http://www.google.com/virgle/">Google et Richard Branson (Virgin) s&#8217;associent pour lancer la 1ère colonie sur Mars</a></li><li><a
href="http://blog.catchpole.net/2008/04/strange-imagery-found-in-java-class.html">De l&#8217;ASCII Art dans le bytecode Java</a></li><li><a
href="http://www.zeroturnaround.com/blog/javarebel-goes-ai/">Le projet JavaRebel</a> intègre une Intelligence Artificielle qui code à votre place pendant vos pauses-cafés</li><li>Cédric Beust lance le projet Toledo : <a
href="http://beust.com/weblog/archives/000480.html">un générateur de code multi-langage</a></li><li><a
href="http://www.eclipse.org/org/press-release/20080401_nextgen.php">Eclipse e4 déjà disponible</a></li><li><a
href="http://www.theserverside.com/news/thread.tss?thread_id=48904">TSS devient multilingue</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/02/11/revue-de-presse-xebia-43/</link> <comments>http://blog.xebia.fr/2008/02/11/revue-de-presse-xebia-43/#comments</comments> <pubDate>Mon, 11 Feb 2008 17:01:30 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Eclipse]]></category> <category><![CDATA[Grails]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[Spring]]></category> <category><![CDATA[Websphere]]></category> <category><![CDATA[Wicket]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/02/11/revue-de-presse-xebia-43/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Sortie de Wicket 1.3.1 Sortie de Grails 1.0 Agilité Comment mesurer le succès d&#8217;un projet agile du point de vue client ? Le coin de la technique Eclipse 3.4 M5 : le Breadcrumb Mode Les différents GC de la JVM [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/02/11/revue-de-presse-xebia-43/#Wicket">Sortie de Wicket 1.3.1</a></li><li><a
href="http://blog.xebia.fr/2008/02/11/revue-de-presse-xebia-43/#Grails">Sortie de Grails 1.0</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/02/11/revue-de-presse-xebia-43/#ProjetAgile">Comment mesurer le succès d&#8217;un projet agile du point de vue client ?</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/02/11/revue-de-presse-xebia-43/#Breadcrumb">Eclipse 3.4 M5 : le Breadcrumb Mode</a></li><li><a
href="http://blog.xebia.fr/2008/02/11/revue-de-presse-xebia-43/#GC">Les différents GC de la JVM</a></li><li><a
href="http://blog.xebia.fr/2008/02/11/revue-de-presse-xebia-43/#TestUnitaireSpringMVC">Test Unitaire avec Spring MVC</a></li><li><a
href="http://blog.xebia.fr/2008/02/11/revue-de-presse-xebia-43/#WebSphereApplicationServer">Websphere Webcast : Prepare for Problem Determination for WebSphere Application Server</a></li></ul><hr/><h3>Actualité éditeurs / SSII</h3><h4><a
name="Wicket"></a>Sortie de Wicket 1.3.1</h4><p>Il y a un mois <a
href="http://blog.xebia.fr/2008/01/07/revue-de-presse-xebia-38/#Wicket">nous annoncions</a> la sortie de Wicket 1.3.<br
/> Comme un peu de teasing ne fait pas de mal, nous profitons de la sortie <a
href="http://wicket.apache.org/news.html#News-wicket1.3.1">version 1.3.1</a> pour vous annoncer une prochaine série de billets dédiée à ce Web Framework.<br
/> Quant à cette version, la principale nouveauté concerne le <a
href="https://issues.apache.org/jira/browse/WICKET-1272">support transparent et out-of-the-box d&#8217;un mode cluster</a>.</p><h4><a
name="Grails"></a>Sortie de Grails 1.0</h4><p>Grails est défini comme &#8216;the ultimate rapid prototyping for Java&#8217; <a
href="http://groovy.dzone.com/news/grails-10-released">par certains</a>. Il s&#8217;agit d&#8217;un framework web s&#8217;inspirant de <a
href="http://www.rubyonrails.org/">Ruby on Rails</a> écrit en Java et de <a
href="http://groovy.codehaus.org/">Groovy</a>. Grails repose sur des frameworks ayant fait leurs preuves comme Spring et Hibernate.<br
/> Vous pouvez télécharger Grails à <a
href="http://grails.org/Download">cette adresse</a>, sa documentation est disponible <a
href="http://grails.org/doc/1.0.x/">ici</a>.</p><h3>Agilité</h3><h4><a
name="ProjetAgile"></a>Comment mesurer le succès d&#8217;un projet agile du point de vue client ?</h4><p>Vikas Hazrati revient dans <a
href="http://www.infoq.com/news/2008/02/agile-customer-success">InfoQ &#8211; Discussion: Measuring Success of an Agile Project from the Customer&#8217;s Perspective</a> sur un échange ayant eu lieu sur le <a
href="http://groups.yahoo.com/group/scrumdevelopment/messages/25945?threaded=1&amp;m=e&amp;var=1&amp;tidx=1">user group Scrum Development</a>.<br
/> Il y offre des pistes pour définir quels éléments de <b>mesure</b> peuvent <em>(devraient)</em> être communiqués par l&#8217;équipe afin qu&#8217;un client puisse mesurer sa <b>satisfaction</b> <em>(et donc le succès du projet)</em>.</p><h3>Le coin de la technique</h3><h4><a
name="Breadcrumb"></a>Eclipse 3.4 M5 : le Breadcrumb Mode</h4><p>Le projet Eclipse vient de mettre à disposition le MileStone 5 de la version 3.4 &#8211; Projet Ganymede (Date de Sortie prévue le 25 juin). Parmi les <a
href="http://download.eclipse.org/eclipse/downloads/drops/S-3.4M5-200802071530/eclipse-news-M5.html#JDT">évolutions marquantes</a>, on peut noter le <a
href="http://en.wikipedia.org/wiki/Breadcrumb_%28navigation%29">Breadcrumb Mode</a>. Une fois activé, Eclipse ajoute sur chaque fichier ouvert une barre de navigation horizontale qui indique les différents éléments qui mènent à la sélection courante. Dans cette vidéo, on voit l&#8217;évolution de cette barre en fonction de la sélection: une classe, une méthode, une inner-classes et une méthode de l&#8217;inner-classe.</p><p>Démonstration en vidéo : <a
href='http://blog.xebia.fr/wp-content/uploads/2008/02/breadcrumb.wmv' title='Eclipse 3.4 M5 : le Breadcrumb Mode'>Breadcrumb.wmv</a>.</p><h4><a
name="GC"></a>Les différents GC de la JVM</h4><p>Ce <a
href="http://blogs.sun.com/jonthecollector/entry/our_collectors">post</a> de Jon Masamitsu présente les particularités des différents algorithmes offerts par la JVM pour gérer et libérer les différentes zones mémoires d&#8217;une JVM Sun. Il dévoile également un nouveau type de &#8216;collector&#8217; qui serait disponible et utilisé par défaut dans la prochaine version de Java, le &#8216;Garbage First&#8217; ou G1. L&#8217;idée principale est ne plus diviser la mémoire en deux zones (Young &amp; Tenured) mais en plusieurs régions dont le rôle majeur (Young/Tenured) serait déterminé au runtime.</p><h4><a
name="TestUnitaireSpringMVC"></a>Test Unitaire avec Spring MVC</h4><p>Le nombre de tests unitaires d&#8217;un framework de présentation est souvent faible en comparaison des autres parties de l&#8217;application. C&#8217;est sur ce constat que le framework <a
href="http://www.springframework.org/">Spring MVC</a> a mis l&#8217;accent sur l&#8217;outillage de ces tests unitaires.<br
/> Craig Walls et John Ferguson Smart nous présentent respectivement leurs conseils dans <a
href="http://www.jroller.com/habuma/entry/unit_testing_spring_mvc_it">Unit-testing Spring MVC: It gets even awesomer</a> et <a
href="http://java.dzone.com/blogs/mrjohnsmart/2008/02/03/unit-testing-your-spring-mvc-a">Unit testing your Spring-MVC applications</a>. Il n&#8217;y a plus d&#8217;excuses !</p><h4><a
name="WebSphereApplicationServer"></a>Websphere Webcast : Prepare for Problem Determination for WebSphere Application Server</h4><p>Yu Tang, membre du WebSphere SWAT team, nous présente <a
href="http://www-1.ibm.com/support/docview.wss?uid=swg27011295">Prepare for Problem Determination for WebSphere Application Server </a>. Les points essentiels :</p><ul><li>La gestion d&#8217;un problème sur un serveur J2EE se décompose en trois étapes :<br
/> &nbsp;&nbsp;&nbsp;-&nbsp;Collecte des informations de diagnostique. Cette phase est essentielle pour la correction sur le fond du problème.<br
/> &nbsp;&nbsp;&nbsp;-&nbsp;Fix en urgence et redémarrage du serveur.<br
/> &nbsp;&nbsp;&nbsp;-&nbsp;Correction sur le fond du problème.</li><li>Les problèmes se regroupent en deux grandes familles :<br
/> &nbsp;&nbsp;&nbsp;-&nbsp;Les crashs (JVM, système, etc).<br
/> &nbsp;&nbsp;&nbsp;-&nbsp;Les blocages / dégradations de performances (avec ou sans consommation élevée de CPU).</li><li>Les principales informations à collecter sont :<br
/> &nbsp;&nbsp;&nbsp;-&nbsp;Les classiques logs SystemOut et SystemErr sans oublier les informations de FFDC et d&#8217;activity.log.<br
/> &nbsp;&nbsp;&nbsp;-&nbsp;Les logs de VerboseGC : un très bon indicateur de l&#8217;état de santé de la JVM. <b>VerboseGC mérite d&#8217;être activé en permanence</b> car son impact sur les performances est très faible (il faut toutefois gérer la purge régulière du fichier).<br
/> &nbsp;&nbsp;&nbsp;-&nbsp;Les javacores (aka thread dumps) :  essentiels pour diagnostiquer les blocages/dégradations de performances.<br
/> &nbsp;&nbsp;&nbsp;-&nbsp;Vmstat et netstat : compléments des javacores en cas de problème de performance.<br
/> &nbsp;&nbsp;&nbsp;-&nbsp;Les heap dumps : essentiels pour traiter les OutOfMemoryError. Préciser la variable <tt>IBM_HEAPDUMPDIR</tt> pour diriger ces logs très volumineuses sur un système de fichiers dédié pour prévenir les problèmes <em>file system full</em> [1].<br
/> &nbsp;&nbsp;&nbsp;-&nbsp;Il faut rédiger et <b>tester régulièrement les procédures de collecte des informations de diagnostiques</b> (notamment les heap dumps et les java cores).</li></ul><p>Un complément pour approfondir le sujet : <a
href="http://www.ibm.com/developerworks/websphere/techjournal/0708_supauth/0708_supauth.html">The Support Authority: 12 ways you can prepare for effective production troubleshooting</a> par IBM Software Services for Websphere.</p><p>[1] Ce système de fichiers dédié (e.g. <tt>/coredumps/</tt>) sera mutualisé entre les différentes applications java voire avec d&#8217;autres applications qui peuvent générer des cores volumineux. Ce système de fichiers est destiné à devenir plein si le problème se répète rapidement et que le nombre de cores se multiplie. Son but est d&#8217;éviter de remplir les autres systèmes de fichiers.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/02/11/revue-de-presse-xebia-43/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <enclosure
url="http://blog.xebia.fr/wp-content/uploads/2008/02/breadcrumb.wmv" length="579126" type="video/x-ms-wmv" /> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/01/07/revue-de-presse-xebia-38/</link> <comments>http://blog.xebia.fr/2008/01/07/revue-de-presse-xebia-38/#comments</comments> <pubDate>Mon, 07 Jan 2008 17:38:36 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JSF]]></category> <category><![CDATA[ObjectGrid]]></category> <category><![CDATA[Websphere]]></category> <category><![CDATA[Wicket]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/01/07/revue-de-presse-xebia-38/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Le coin de la technique JSF Testing Tools Wicket 1.3 released WebSphere MQ en environnent J2EE/JEE : JMS vs. &#8216;MQ Java Interfaces&#8217; IBM ObjectGrid 6.1 fix 3 : une grille résolument &#8216;developer friendly&#8217; Le coin de la technique JSF Testing Tools Cet article présente [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/01/07/revue-de-presse-xebia-38/#JSFTestingTools">JSF Testing Tools</a></li><li><a
href="http://blog.xebia.fr/2008/01/07/revue-de-presse-xebia-38/#Wicket">Wicket 1.3 released</a></li><li><a
href="http://blog.xebia.fr/2008/01/07/revue-de-presse-xebia-38/#WebSphereMQ">WebSphere MQ en environnent J2EE/JEE : JMS vs. &#8216;MQ Java Interfaces&#8217;</a></li><li><a
href="http://blog.xebia.fr/2008/01/07/revue-de-presse-xebia-38/#IBMObjectGrid">IBM ObjectGrid 6.1 fix 3 : une grille résolument &#8216;developer friendly&#8217;</a></li></ul><hr/><h3>Le coin de la technique</h3><h4><a
name="JSFTestingTools"></a><a
href="http://www.infoq.com/news/2007/12/jsf-testing-tools">JSF Testing Tools</a></h4><p>Cet article présente trois principaux frameworks permettant d&#8217;effectuer des tests unitaires JSF. Pour rappel, la principale difficulté est de pouvoir effectuer des tests en dehors du container, et grâce à ces outils il est possible de tester les composants côtés client mais aussi côté serveur.</p><ul><li>JSFUnit est basé sur HttpUnit et Apache Cactus. Son API permet notamment de tester le transfert de données dans un formulaire et de savoir si le managed bean correspondant à bien été mis à jour&#8230; Cet outil inclue aussi un JSF Static Analysis permettant notamment d&#8217;analyser les fichiers de configuration.</li><li>Shale Test est un projet Apache fournissant des implémentations d&#8217;objet Mock pour les Servlets et les composants JSF.</li><li>JSF Extensions est basé sur JUnit, HTMLUnit, et Cactus. Cet outil est composé d&#8217;un module <a
href="https://jsf-extensions.dev.java.net/nonav/mvn/index.html#Test%20Time">Test-Time</a> fournissant des objets Mock pour les composants JSF 1.2, ainsi qu&#8217;un module <a
href="https://jsf-extensions.dev.java.net/nonav/mvn/index.html#Design%20Time">Design-Time</a> pour effectuer des déploiements plus rapide (hot deploy). Cette fonctionnalité a pour but de mettre en place des tests de manière itératif durant le développement d&#8217;application JSF.</li></ul><p>Enfin l&#8217;article termine par deux outils d&#8217;aide au développement et au monitoring d&#8217;applications JSF :</p><ul><li>JXInsight, se basant sur l&#8217;interface PhaseListener, permet de collecter différentes informations sur l&#8217;exécution du code (les stacks&#8230;)</li><li>JSF Tools, sous projet de Eclipse WTP, fournit un support pour le développement et le déploiement d&#8217;application JSF.</li></ul><p>Pour terminer, cet article présente assez bien les différents outils, mais il aurait peut être été bien de proposer des critiques sur ceux-ci, qui feront peut être l&#8217;objet d&#8217;un nouvel article.</p><h4><a
name="Wicket"></a>Wicket 1.3 released</h4><p>Nous annoncions lors de la revue de presse du <a
href="http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/#ApacheWicket">12 novembre dernier</a> son passage en RC, et bien c&#8217;est maintenant officiel : Apache Wicket 1.3 fait maintenant partit de la volumineuse liste des java web framework disponibles sur le marché. Malgré cette farouche concurrence, le buzz continue : Wicket est l&#8217;un des web framework faisant le plus de bruit sur la toile, ses promesses sont simples : simplicité d&#8217;utilisation, POJO-centric, pas de configuration XML &#8230; donnez votre sur le billet du <a
href="http://blog.xebia.fr/2007/10/26/xebia-web-framework-contest/">Xebia Web Framework Contest</a>.</p><p>Nous vous invitons à consulter la liste complète des nouveautés à partir du site d&#8217;Apache.</p><ul><li><a
href="http://wicket.apache.org/">Apache Wicket</a></li><li><a
href="http://zedros.developpez.com/tutoriels/java/wicket/">Discovering Apache Wicket 1.3 by Pachod Joseph</a></li><li><a
href="http://cwiki.apache.org/WICKET/migrate-13.html">Guide de migration à Wicket 1.3</a></li></ul><h4><a
name="WebSphereMQ"></a>WebSphere MQ en environnent J2EE/JEE : JMS vs. &#8216;MQ Java Interfaces&#8217;</h4><p>David Currie nous rappelle dans <a
href="http://david.currie.name/archives/2008/01/02/websphere-mq-java-in-j2ee/">WebSphere MQ Java in J2EE</a> que JMS est l&#8217;API privilégiée pour accéder à Websphere MQ dans un environnement J2EE/JEE et que les historiques API &laquo;&nbsp;MQ Java Interfaces&nbsp;&raquo; devraient progressivement être remplacées [1].</p><p>Au delà d&#8217;un simple choix technique d&#8217;API (la fiabilité de JMS est aujourd&#8217;hui avérée), il s&#8217;agit d&#8217;un réel changement de culture depuis l&#8217;historique approche en langage C (user exits MQ, style de programmation des &laquo;&nbsp;MQ Java Interfaces&nbsp;&raquo;, etc) vers le monde orienté objet Java / .Net [2]. Cette évolution demande un travail d&#8217;explication et de formation des équipes qu&#8217;il ne faut pas négliger.</p><p>La roadmap MQ JMS pourra aller jusqu&#8217;au remplacement de Queue Managers MQ par le Websphere Embedded Messaging Engine pour les utilisateurs du serveur J2EE d&#8217;IBM &#8230;</p><p>[1] <a
href="http://www-1.ibm.com/support/docview.wss?rs=171&amp;context=SSFKSJ&amp;dc=DB520&amp;uid=swg21266535&amp;loc=en_US&amp;cs=UTF-8&amp;lang=en&amp;rss=ct171websphere">IBM Technote : Using WebSphere MQ Java Interfaces in J2EE/JEE Environments</a> : <em>&laquo;&nbsp;This technote explains why &#8216;WebSphere MQ classes for Java Message Service&#8217; is the API best suited for use in J2EE/JEE environments &#8230;&nbsp;&raquo;</em><br
/> [2] <a
href="http://www.ibm.com/developerworks/websphere/library/techarticles/0509_phillips/0509_phillips.html">IBM DeveloperWorks : Introducing XMS : The IBM Messages API</a></p><h4><a
name="IBMObjectGrid"></a>IBM ObjectGrid 6.1 fix 3 : une grille résolument &#8216;developer friendly&#8217;</h4><p><a
href="http://www.ibm.com/developerworks/wikis/display/objectgridprog/ObjectGrid+6.1+cumulative+fix+3+contents">Le fix 3 d&#8217;IBM ObjectGrid</a> apporte de nouvelles fonctionnalités résolument à l&#8217;écoute des développeurs avec notamment :</p><ul><li><a
href="http://www.ibm.com/developerworks/wikis/display/objectgridprog/Spring+framework+integration">Support de Spring Framework</a><br
/> - Intégration aux transactions Spring et à leurs annotation @Transactional<br
/> - Gestion par le container Spring des beans d&#8217;extension d&#8217;ObjectGrid (ObjectTransformer, Loader, TransactionCallback, etc)</li><li><a
href="http://www.ibm.com/developerworks/wikis/display/objectgridprog/Entity+listeners+and+life+cycle+callback+methods">Entity Listeners</a> similaires aux listeners JPA/Hibernate autour des événements persist, load, update et remove</li></ul><p>On remarquera à l&#8217;occasion la poursuite de la nuit de noces entre IBM et Spring Framework dont les précédents épisodes marquant furent <a
href="http://www.springframework.org/node/561">le support officiel de Websphere par Spring Framework</a> (11/2007) et la <a
href="http://www.devwebsphere.com/devwebsphere/2007/12/great-time-at-t.html">présentation de Billy Newport sur l&#8217;eXtreme Transaction Processing</a> à The Spring Experience (12/2007).<br
clear="all"></p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/01/07/revue-de-presse-xebia-38/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/</link> <comments>http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#comments</comments> <pubDate>Mon, 10 Dec 2007 17:59:22 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Aqualogic]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[Groovy]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JBoss]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[Seam]]></category> <category><![CDATA[Tomcat]]></category> <category><![CDATA[Websphere]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Aqualogic Service Bus 3.0 IBM et l&#8217;intégration continue Websphere Process Server 6.1 : renforcement des workflows humains Websphere Application Server 6.1 supporte les EJB 3 Agilité Le monde devient agile Le coin de la technique Apache Tomcat, la star des [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#ALSB">Aqualogic Service Bus 3.0</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#IBM">IBM et l&#8217;intégration continue</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#WPS">Websphere Process Server 6.1 : renforcement des workflows humains</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#WAS">Websphere Application Server 6.1 supporte les EJB 3</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#Lemonde">Le monde devient agile</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#ApacheTomcat">Apache Tomcat, la star des serveurs d&#8217;applications ?</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#hashmap">La collision dans les hashmap</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#JBossSeam">Introducing JBoss Seam</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#Groovy">Groovy 1.5</a></li></ul><hr/><h3>Actualité éditeurs / SSII</h3><h4><a
name="ALSB"></a>Aqualogic Service Bus 3.0</h4><p>La nouvelle version de l&#8217;ESB de BEA est pour bientôt. Parmis les fonctionnalités majeures attendues on retrouve :</p><ul><li>non seulement  la performance (Gestion des messages de grandes tailles, routine XSLT/Xquery et une meilleure gestion de caches lié à la sécurité)</li><li>mais également l&#8217;intégration avec les différents élements de la suite Aqualogic, en particulier avec Aqualogic Registry Repository et sa vision SCA (Service Component Architecture).<br
/> L&#8217;intégration consiste également à généraliser le developpement lié au bus. Dans les versions précédentes, l&#8217;approche consistait principalement à du paramétrage: le developpeur se connecte au bus, importe ses resources (XSchéma, WSDL), défini ses Business Services et Proxy Services. Unitairement cette approche est séduisante mais au niveau d&#8217;une réelle mise en oeuvre sur un projet d&#8217;entreprise cette méthode montre rapidement ces limites:</p><ul><li>gestion des environnements et des versions : le passage d&#8217;un environement de dev à un environnement de recette se fait par un unique mécanisme d&#8217;import / export</li><li>mauvaise vision d&#8217;ensemble : refactoring et mutualisation de resources impossible</li></ul></li></ul><p>L&#8217;approche proposée par ALSB 3.0 est de pouvoir effectuer toutes ces opérations depuis un environement de travail unifié sous Workshop Studio (Eclipse) et d&#8217;ensuite pouvoir déployer (au sens J2EE) l&#8217;applications &#8216;bus&#8217; dans un environement adéquat, de gérer ses resources dans un gestionnaire de source type CVS/SVN, de se connecter facilement à un repository de services pour les assembler et les composer (SCA).<br
/> Reférence : <a
href="http://dev2dev.bea.com/blog/npatil/archive/2007/12/aqualogic_service_bus_30_sneak.html">AQUALOGIC SERVICE BUS 3.0 sneak preview</a> sur Dev2Dev.</p><h4><a
name="IBM"></a>IBM et l&#8217;intégration continue</h4><p>IBM possède maintenant lui aussi sa propre solution d&#8217;intégration continue : IBM Rational Build Forge.<br
/> Il commence aussi à pondre des articles sur le sujet, comme celui-ci : <a
href="http://www.ibm.com/developerworks/java/library/j-ap11297/index.html?ca=drs-">Automation for the people: Continuous Integration anti-patterns</a>.</p><p>Reste à suivre cette série d&#8217;articles pour voir ce que cette solution apporte face aux actuels leaders du marché.<br
/> Le tutoriel : <a
href="http://www.ibm.com/developerworks/edu/r-dw-r-buildforge1.html?ca=drs-tp4907">Improve your build process with IBM Rational Build Forge, Part 1</a>.</p><h4><a
name="WPS"></a>Websphere Process Server 6.1 : renforcement des workflows humains</h4><p>Les éditeurs de serveurs de processus <a
href="http://en.wikipedia.org/wiki/BPEL">BPEL</a> avaient encore rappelé en juin 2007 leur intention de couvrir le domaine des workflows humains avec la publication du standard <a
href="http://en.wikipedia.org/wiki/WS-BPEL_Extension_for_People">WS-BPEL Extension for People</a> (Active Endpoints, Adobe, BEA, IBM, Oracle et SAP).</p><p>IBM franchit aujourd&#8217;hui une nouvelle étape avec l&#8217;enrichissement des fonctionnalités de workflows humains dans la version 6.1 de Websphere Process Server et de Websphere Integration Developer. Si l&#8217;infocenter 6.1 n&#8217;a pas encore été publié, des introductions sont déjà disponibles sur Developerworks : <a
href="http://www.ibm.com/developerworks/websphere/library/techarticles/0712_fasbinder_wps/0712_fasbinder.html?ca=drs-">What&#8217;s new in WebSphere Process Server V6.1</a> <a
href="http://www.ibm.com/developerworks/websphere/library/techarticles/0712_fasbinder_wid/0712_fasbinder.html?ca=drs-">What&#8217;s new in WebSphere Integration Developer V6.1</a>.</p><p>Est-ce le moment de remplacer les moteurs de workflow par des serveurs de processus BPEL ? Ce choix est à évaluer au cas par cas étant données les limitations de WS-BPEL Extension for People [1].</p><p>[1] voir <a
href="http://is.tm.tue.nl/staff/wvdaalst/BPMcenter/reports/2007/BPM-07-10.pdf">Evaluation of the BPEL4People and WS-HumanTask Extensions to WS-BPEL 2.0 using the Workflow Resource Pattern</a> par Nick Russell and Wil M.P. van der Aalst, Université d&#8217;Eindhoven.</p><h4><a
name="WAS"></a>Websphere Application Server 6.1 supporte les EJB 3</h4><p>Websphere 6.1 supporte désormais les EJB 3.0 avec le <a
href="http://www-1.ibm.com/support/docview.wss?rs=180&amp;context=SSEQTP&amp;context=SSCMGN&amp;dc=D600&amp;uid=swg21287579&amp;loc=en_US&amp;cs=UTF-8&amp;lang=en">Feature Pack for EJB 3.0</a>. Un complément au <a
href="http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/covr_featurepack_wbs.html">Feature Pack for Web Services</a> pour entrer dans le monde Java EE 5 et préparer Websphere 7.</p><p>Rappelons que l&#8217;implémentation JPA repose sur <a
href="http://openjpa.apache.org/">Apache OpenJPA</a> et que celle de JAX-WS est une adaptation d&#8217;<a
href="http://ws.apache.org/axis2/">Axis 2</a>.</p><p>Des tutoriels du Feature pack for EJB 3.0 sont disponibles sur <a
href="http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/topic/com.ibm.iea.wasfpejb/wasfpejb/wasfpejb_Task.html">IBM Education Assistant for WebSphere Application Server V6.1 Feature Pack EJB 3.0</a>.</p><h3>Agilité</h3><h4><a
name="Lemonde"></a>Le monde devient agile</h4><p>Les temps changent et Le Monde Informatique aussi <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br
/> Avec un titre qui pourrait facilement créer des polémiques auprès de ses lecteurs habituels, Le monde informatique nous décrit très brièvement les méthodes agiles les plus populaires (XP et Scrum). Il nous invite à assister aux rencontres agiles auxquelles il s&#8217;associe et qui auront lieu le 18 décembre prochain, à Paris La Défense.</p><p>L&#8217;article : <a
href="http://www.lemondeinformatique.fr/actualites/lire-des-rencontres-agiles-pour-ameliorer-le-taux-de-reussite-des-projets-24790.html">Des rencontres agiles pour améliorer le taux de réussite des projets</a></p><h3>Le coin de la technique</h3><h4><a
name="ApacheTomcat"></a>Apache Tomcat, la star des serveurs d&#8217;applications ?</h4><p>Le cabinet <a
href="http://www.bzresearch.com/">BZ Research</a> estime qu&#8217;Apache Tomcat est <a
href="http://www.infoq.com/news/2007/12/tomcat-favorite-container">utilisé par 64% des développeurs Java</a>, suivi par IBM Websphere et JBoss Application Server. Si l&#8217;on peut débattre de la précision des chiffres, la tendance est indiscutable. L&#8217;utilisation de Tomcat sur les postes de développement est en train de se banaliser et des grand comptes montrent la pertinence de Tomcat en production (Morgan Stanley pour la finance, <a
href="http://www.eos1.dk/qcon/sf2007/slides/public/JeanLucVaillant_LinkedIn.pdf">LinkedIn</a> et <a
href="http://www.eos1.dk/qcon/sf2007/slides/public/IanFlint_YahooCommunitiesArchitecture.pdf">Yahoo</a> pour l&#8217;Internet, etc).</p><p>A quand du support commercial en France pour Tomcat ?</p><h4><a
name="hashmap"></a>La collision dans les hashmap</h4><p>Il est bon de rappeler parfois qu&#8217;une Map (HashMap,Hashtable,&#8230;) n&#8217;est efficace que si la fonction de hash() est performante. Mais la performance d&#8217;une telle fonction engendre nécessairement des collisions. Ce <a
href="http://www.codinghorror.com/blog/archives/001014.html">billet</a> de chez &#8216;Coding Horror&#8217; illustre parfaitement cette dualité (Cases à Pigeon vs Le paradoxe des anniversaires)</p><h4><a
name="JBossSeam"></a>Introducing JBoss Seam</h4><p>JBoss Seam nous vante de simplifier J2EE et de rendre utilisable JSF. Reste à savoir quel est l&#8217;intérêt d&#8217;utiliser un standard qui nous oblige à le compléter avec d&#8217;autres frameworks du marché et de fait, nous écarter du standard &#8230;</p><p><a
href="http://www.developer.com/java/ejb/article.php/10931_3715171_1">L&#8217;introduction</a> &#8230;</p><h4><a
name="Groovy"></a>Groovy 1.5</h4><p>Guillaume Laforge nous présente les principales caractéristiques de la version <a
href="http://www.infoq.com/articles/groovy-1.5-new">Groovy 1.5</a> dans cet article sur InfoQ :</p><ul><li>Intégration Java5 : ajout des annotations, generic types, enums, varargs, static imports, covariant return type</li><li>Syntaxe :<br
/> - Elvis operator &#8216;?:&#8217; (smiley avec la banane) :</p><pre class="brush: java; title: ; notranslate">x ?: &quot;defaut&quot;</pre><p> equivaut en java à</p><pre class="brush: java; title: ; notranslate">x != null ? x : &quot;defaut&quot;</pre><p> - Java &#8216;for&#8217; : les for syntaxe java sont désormais possibles<br
/> - named parameters sans parentèses</li><li>Outils :<br
/> &#8211; Joint compiler : permet de compiler des sources java et groovy ensemble sans se soucier des dépendances entre classes<br
/> &#8211; <a
href="http://mojo.codehaus.org/groovy/index.html">MOJO Maven plugin</a><br
/> &#8211; GroovyDoc : équivalent de JavaDoc pour Groovy<br
/> &#8211; Nouveau <a
href="http://groovy.codehaus.org/Groovy+Shell">Groovy shell</a> : pour les fans de VI<br
/> &#8211; <a
href="http://groovy.codehaus.org/IntelliJ+IDEA+Plugin+%28JetBrains+Edition%29">IntelliJ IDEA JetGroovy plugin</a></li><li>Amélioration des performances</li><li>MetaClass : permet entre autre de rajouter des méthodes au runtime</li><li>Swing on Steroids : pour construire des interfaces Swing plus facilement</li></ul><p>Ce langage dynamique fort de son succès avec la version 1.0, améliore ici sa compatibilité avec Java et l&#8217;outillage commence à s&#8217;étoffer. Ce langage vaut vraiment le détour.<br
/> Pour aller plus loin, InfoQ a récemment interviewé Guillaume Laforge sur <a
href="http://www.infoq.com/interviews/guillaume-laforge-groovy">Groovy et les Domain-Specific Languages</a>.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2007/11/26/revue-de-presse-xebia-33/</link> <comments>http://blog.xebia.fr/2007/11/26/revue-de-presse-xebia-33/#comments</comments> <pubDate>Mon, 26 Nov 2007 17:38:57 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Eclipse]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Maven]]></category> <category><![CDATA[Spring]]></category> <category><![CDATA[Websphere]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2007/11/26/revue-de-presse-xebia-33/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Enfin une intégration native de Maven à Eclipse Le coin de la technique Les 12 commandements pour préparer le &#8216;troubleshooting&#8217; de production WebSphere MQ Low Latency Messaging : le &#8216;multicast messaging&#8217; version IBM Spring 2.5 released Comparing JVM Web Frameworks [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/11/26/revue-de-presse-xebia-33/#MavenEclipse">Enfin une intégration native de Maven à Eclipse</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/11/26/revue-de-presse-xebia-33/#troubleshooting">Les 12 commandements pour préparer le &#8216;troubleshooting&#8217; de production</a></li><li><a
href="http://blog.xebia.fr/2007/11/26/revue-de-presse-xebia-33/#WebSphereMQ">WebSphere MQ Low Latency Messaging : le &#8216;multicast messaging&#8217; version IBM</a></li><li><a
href="http://blog.xebia.fr/2007/11/26/revue-de-presse-xebia-33/#Spring">Spring 2.5 released</a></li><li><a
href="http://blog.xebia.fr/2007/11/26/revue-de-presse-xebia-33/#JVMWebFrameworks">Comparing JVM Web Frameworks Videocast</a></li></ul><hr/><h3>Actualité éditeurs / SSII</h3><h4><a
name="MavenEclipse"></a>Enfin une intégration native de Maven à Eclipse</h4><p>Le projet <a
href="http://code.google.com/p/q4e/">q4e</a> vient d&#8217;être proposé à la fondation Eclipse. Ne vous réjouissez pas trop vitre pour autant, d&#8217;après leur roadmap, la première release est prévu pour septembre 2008. En attendant, il est possible d&#8217;essayer d&#8217;utiliser la version actuelle 0.2.3.</p><p>Plus d&#8217;info sur <a
href="http://www.eclipse.org/proposals/iam/">http://www.eclipse.org/proposals/iam/</a>.</p><h3>Le coin de la technique</h3><h4><a
name="troubleshooting"></a>Les 12 commandements pour préparer le &#8216;troubleshooting&#8217; de production</h4><p>Daniel Julin, WebSphere Serviceability, nous livre ses <a
href="http://www.ibm.com/developerworks/websphere/techjournal/0708_supauth/0708_supauth.html">12 ways you can prepare for effective production troubleshooting</a> :</p><ol><li>Créer et maintenir à jour un schéma d&#8217;architecture système.</li><li>Créer et suivre un inventaire des éléments qui permettent de diagnostiquer les problèmes (localisation des fichiers de logs, etc).</li><li>Attacher une attention particulière aux dumps et autres éléments qui ne sont générés que lorsqu&#8217;un problème survient (cores système, javacores, heap dumps, First Failure Data Capture &#8211; FFDC, etc)</li><li>Revoir et améliorer les niveaux de logs durant le fonctionnement normal de la plateforme.</li><li>Suivre les indicateurs des couches système d&#8217;exploitation et réseau (cpu, disque, trafic réseau inter composants, etc).</li><li>Etre préparé à générer des informations de diagnostique complémentaires lorsqu&#8217;un problème survient (générer des dumps, collecter des métriques, générer de l&#8217;activité métier, etc).</li><li>Définir une procédure de collecte d&#8217;informations de diagnostique et s&#8217;entraîner à exécuter cette procédure.</li><li>Etablir une image de référence pour connaître la valeurs des indicateurs et logs lorsque la plateforme fonctionne correctement (logs, dumps générés à la demande,&nbsp; niveaux d&#8217;activité cpu/disque/réseau, débit moyen des applications, etc).</li><li>Purger et archiver régulièrement les logs et les dumps.</li><li>Eliminer les &#8216;fausses erreurs&#8217; et autres messages bruyants des logs.</li><li>Maintenir un change log des modifications de la plateforme.</li><li>Mettre en place des outils de supervision de bon fonctionnement du système.</li></ol><p>Une liste pleine de bon sens qui sera une bonne base de réflexion pour aborder le &#8216;troubleshooting&#8217; de production.</p><h4><a
name="WebSphereMQ"></a>WebSphere MQ Low Latency Messaging : le &#8216;multicast messaging&#8217; version IBM</h4><p>IBM annonce la sortie de <a
href="http://www-03.ibm.com/press/us/en/pressrelease/22558.wss">WebSphere MQ Low Latency Messaging version 2</a>, un middleware de message destiné aux places de marchés [1] capable d&#8217;envoyer jusqu&#8217;à 3 millions de messages par seconde avec une latence de quelques dizaines de microsecondes.</p><p>Quelle est la différence entre  Websphere MQ Low Latency Messaging et le classique Websphere MQ utilisé en informatique de gestion ?</p><ul><li>Websphere MQ Low Latency Messaging repose sur un modèle de distribution multicast : l&#8217;émetteur envoi un seul exemplaire du message via un <a
href="http://en.wikipedia.org/wiki/Multicast">multicast UDP</a> que reçoivent tous les destinataires. Ce modèle est particulièrement adapté aux scénarios ayant un très grand nombre de destinataires (one-to-very-many) mais est inadapté à la garantie d&#8217;acheminement des messages qui requiert de contrôler que chaque destinataire a reçu le message et de gérer le cas échéant les ré-envois sans pour autant envoyer plusieurs fois le même message à un destinataire.</li><li>Le classique Websphere MQ repose sur un modèle hub-and-spoke : l&#8217;émetteur envoi un exemplaire du message à un hub (le Queue Manager) qui prend en charge l&#8217;acheminement du message à chacun des destinataires. Ce modèle permet de gérer facilement la garantie d&#8217;acheminement et tient bien la charge tant que le nombre de destinataires est limité. La principale difficulté du modèle hub-and-spoke est la haute disponibilité qui nécessite la mise en cluster du hub.</li></ul><p>Pour conclure, Websphere MQ et Websphere MQ Low Latency reposent sur deux modèles fondamentalement différents : hub-and-spoke et multicast. Si le modèle hub-and-spoke est adapté aux scénarios classiques d&#8217;informatique de gestion en offrant des fonctionnalités riches (garantie d&#8217;acheminement, etc), il devient inadapté lorsque le nombre de destinataires augmente. A l&#8217;inverse, le modèle multicast offre de grandes performances dans les scénarios qui impliquent un très grand nombre de destinataires mais cela se fait au dépend des fonctionnalités comme la garantie d&#8217;acheminement qui devient très complexe.</p><p>Qu&#8217;en est-il de l&#8217;offre de Tibco, le principal concurrent de Websphere MQ ? Tibco propose également les deux modèles de middlewares de messages : <a
href="http://www.tibco.com/software/messaging/rendezvous/default.jsp">Tibco Rendezvous (RV) </a> repose sur le modèle multicast et le récent <a
href="http://www.tibco.com/software/messaging/enterprise_messaging_service/default.jsp">Tibco Enterprise Messaging Service (EMS)</a> repose sur le modèle hub-and-spoke [2]. On notera que :</p><ul><li>Seul Tibco EMS offre un connecteur JMS ; Tibco Rendezvous expose une API Java propriétaire. On peut y voir que Tibco positionne plus EMS pour l&#8217;informatique de gestion classique.</li><li>Tibco Rendezvous propose deux mécanismes pour pallier au problème de garantie d&#8217;acheminement du modèle multicast : RV Certified Messaging (le message est acheminé au moins une fois, avec un risque de duplication) et RV TX (le message est acheminé exactement une fois, avec une dégradation sensible des performances).</li></ul><p>[1] Plus de détails dans <a
href="http://www.smartmoney.com/news/pr/index.cfm?story=PR-20071107-001321-0825">Smart Money : IBM WebSphere Products Improve Financial Markets Firms&#8217; Ability to Manage Growing Market Data Volumes and Speeds</a>.<br
/> [2] Voir <a
href="http://narencoolgeek.blogspot.com/2006/01/tibco-rv-vs-tibco-ems.html">Tibco RV vs Tibco EMS</a> by Narendra Naidu.</p><h4><a
name="Spring"></a>Spring 2.5 released</h4><p>Spring 2.5 vient d&#8217;être releasé et apporte son lot de nouveautés que vous pouvez consulter <a
href="http://www.springframework.org/node/561">ici</a>.</p><p>InfoQ se lance pour l&#8217;occasion dans un découverte des apports de cette version 2.5 : <a
href="http://www.infoq.com/articles/spring-2.5-part-1">http://www.infoq.com/articles/spring-2.5-part-1</a>.</p><p>Nous avions déjà traité des nouveautés de Spring 2.5 dans notre <a
href="http://blog.xebia.fr/2007/10/29/revue-de-presse-xebia-29/#IntroSpring">revue de presse de la semaine dernière</a> :</p><ul><li>Réduction et simplification des configurations XML<ul><li>Java Config</li><li>XML namespaces &laquo;&nbsp;jms&nbsp;&raquo; et &laquo;&nbsp;context&nbsp;&raquo;</li><li>etc</li></ul></li><li>Componentisation avec OSGI</li><li>Unification des accès aux systemes externes avec JCA 1.5</li><li>Support officiel de Websphere</li></ul><h4><a
name="JVMWebFrameworks"></a>Comparing JVM Web Frameworks Videocast</h4><p>Dans la <a
href="http://blog.xebia.fr/2007/11/19/revue-de-presse-xebia-32/#JVMWebFrameworks">revue de presse précédente</a>, nous parlions de la comparaison des principaux framework de présentation effectuée par <a
href="http://raibledesigns.com/rd/">Matt Raible</a>. JavaZone vient de publier <a
href="http://parleys.com/display/PARLEYS/Comparing+Java+Web+Frameworks?showComments=true">une vidéo</a> de cette même analyse dans laquelle les frameworks Jsf, Spring MVC,  Struts 2, Stripes, Tapesty, Wicket  sont détaillés sous deux angles de vue principaux : un premier aspect « technique » étudiant les fonctionnalités offertes par chacun des framework et un aspect « communautaire » mesurant l&#8217;activité de chacun.</p><ul><li><a
href="http://parleys.com/display/PARLEYS/Comparing+Java+Web+Frameworks?showComments=true">Consulter la vidéo</a></li><li><a
href="http://static.raibledesigns.com/repository/presentations/ComparingJavaWebFrameworks-JavaZone2007.pdf">Récupérer les slides de la présentation</a></li><li><a
href="http://blog.xebia.fr/2007/10/26/xebia-web-framework-contest/">Xebia Web Framework Contest</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2007/11/26/revue-de-presse-xebia-33/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/</link> <comments>http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/#comments</comments> <pubDate>Mon, 12 Nov 2007 15:22:31 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Seam]]></category> <category><![CDATA[Weblogic]]></category> <category><![CDATA[Websphere]]></category> <category><![CDATA[Wicket]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Weblogic Server 10.3 Le coin de la technique Release de Seam 2.0 Un vent de Websphere 7 chez IBM Apache Wicket 1.3.0-rc1 is released! Actualité éditeurs / SSII Weblogic Server 10.3 Cette nouvelle mouture du serveur d&#8217;application de BEA reste [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/#WeblogicServer10">Weblogic Server 10.3</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/#Seam">Release de Seam 2.0</a></li><li><a
href="http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/#Websphere">Un vent de Websphere 7 chez IBM</a></li><li><a
href="http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/#ApacheWicket">Apache Wicket 1.3.0-rc1 is released!</a></li></ul><hr
/><h3>Actualité éditeurs / SSII</h3><h4><a
name="WeblogicServer10"></a>Weblogic Server 10.3</h4><p>Cette nouvelle mouture du serveur d&#8217;application de BEA reste conforme aux spécifications J2EE 5 tout en ajoutant le support de Java SE 6. Donc peu de nouveautés technico-fonctionnelles, l&#8217;accent a été mis sur les performances. Cette version vient de sortir en mode &#8216;<a
href="http://commerce.bea.com/showproduct.jsp?family=WLS&amp;major=10.3Tech&amp;minor=-1">Tech Preview</a>&#8216;. La version 10.3 deviendrat-elle une version aussi performante et stable qu&#8217;est (ou fût) la version 8.1SP5+ ?</p><h3>Le coin de la technique</h3><h4><a
name="Seam"></a>Release de <a
href="http://sourceforge.net/project/showfiles.php?group_id=22866&amp;package_id=163777&amp;release_id=551158">Seam 2.0</a></h4><p>Pour rappel, Seam permet de mettre en des applications par le biais des technologies JSF, EJB 3, AJAX, BPM&#8230; Sa nouvelle version arrive avec ses lots <a
href="http://in.relation.to/Bloggers/WhatsNewInSeam2">de corrections et d&#8217;améliorations</a> parmi lesquelles :</p><ul><li>possibilité d&#8217;écrire des composants Seam en Groovy</li><li>intégration de GWT pour le rendering de page ou bien encore inclure des composants GWT dans une page JSF</li><li>les composants Seam peuvent faire l&#8217;office de Web Service</li><li>intégration de Hibernate Search</li><li>syntaxe des EL améliorée</li></ul><h4><a
name="Websphere"></a>Un vent de Websphere 7 chez IBM</h4><p>IBM nous prépare à Websphere 7, ses EJB3, sa persistance JPA et ses web services JAX-WS 2.0  en publiant le redbook <a
href="http://www.redbooks.ibm.com/abstracts/sg247497.html">Designing and Coding Applications for Performance and Scalability in WebSphere Application Server</a> et en annonçant <a
href="https://www14.software.ibm.com/iwm/web/cc/earlyprograms/rational/RAD75OpenBeta/index.shtml">Rational Application Developer 7.5 Open Beta</a>.</p><p>RAD 7.5, dont la beta sera disponible mi-décembre, apporte le support de support de Java EE 5 (EJB 3, JPA, JAX-WS, etc). La sortie de cette version, en avance sur Websphere 7, rassurera les clients RAD qui avaient été déçus par le décalage de plusieurs mois entre la sortie de WAS 6.1 et celle de RAD 7 (la v7 de RAD apportait le support de Java 5 et le WAS 6.1 runtime environment).</p><p><em>Designing and Coding Applications for Performance and Scalability in WebSphere Application Server</em> est un RedBook de transition de l&#8217;ère des EJB 2.1 vers les nouveaux EJB 3.0 qui seront supportés par le futur Websphere 7 :</p><p>On y retrouve hélas quelques exemples légèrement <em>défraîchis</em> qui font penser à des copier/coller des redbooks précédents :</p><ul><li>Le chapitre sur l&#8217;utilisation des mécanismes de synchronisation (p99) mériteraient d&#8217;être réécrit en s&#8217;inspirant du très intéressant Google Tech Talk <a
href="http://video.google.com/videoplay?docid=8394326369005388010&amp;hl=en">Advanced Topics in Programming Languages: The Java Memory Model</a> de Jeremy Manson qui nous expliquent comment les blocs <tt>synchronized</tt> devraient être remplacé par les verrous introduis avec la librairie <tt>java.util.concurrent.locks</tt></li><li>Les exemples qui utilisent <tt>Vector</tt> et <tt>Hashtable</tt> pourraient avantageusement être mis à jour pour parler de <tt>List</tt>/<tt>ArrayList</tt> et de <tt>Map</tt>/<tt>HashMap</tt></li><li>Le paragraphe sur Struts et ses <tt>ActionForm</tt> pourrait être remplacé par son équivalent avec Struts2 ou être supprimé si IBM ne souhaite pas mettre en avant Struts2.</li></ul><p>A côté de ces anachronismes mineurs, IBM nous livre les grands axes de la stratégie Websphere :</p><ul><li>SCA/SDO sont toujours des technologies clefs. Ce redbook nous explique avec clarté et raison leur rôle et leur position par rapport à EJB3/JPA : <em>If you are developing a traditional (non SOA) application and only have relational data and are only developing in Java, then EJB 3.0 is a good choice. (p 449)</em>.</li><li>Java Connector Architecture (JCA) est désormais la technologie standard et unifiée pour accéder aux Enterprise Information Systems (EIS) comme CICS et IMS dont les connecteurs Java propriétaires ont été remplacés par des Resources Adapter JCA [1]. Le support de l&#8217;API JCA permet une intégration élégante à SpringFramework [2].</li><li>EJB3, JPA et JAX-WS sont les successeurs respectifs d&#8217;EJB 2.1, d&#8217;EJB CMP et de JAX-RPC ; ils sont disponibles avec WAS 6.1 sous forme de <em>feature pack</em> additionnels [3] ; Websphere 7 les embarquera en standard. Ce redbook sera une bonne introduction pour ceux qui n&#8217;ont pas encore eu le temps de découvrir ces nouvelles technologies.</li></ul><p>Pour conclure, RAD 7.5 et ce redbook sont principalement des <em>previews</em> des technologies JavaEE 5 (EJB3, JPA, JAX-WS, etc) que nous attendons avec impatience et qui seront disponible avec Websphere 7.</p><p>D&#8217;ici à y voir les prémices d&#8217;une grande opération de <em>teasing</em> pour préparer l&#8217;imminente arrivée de Websphere 7 &#8230; <img
class="emoticon" src="/confluence/images/icons/emoticons/wink.gif" alt="" align="absmiddle" border="0" height="20" width="20"></p><p>[1] Voir <a
href="http://www-306.ibm.com/software/data/ims/ims/components/tm-resource-adapter.html">IMS TM Resource Adapter</a> et <a
href="http://www-306.ibm.com/software/htp/cics/ctg/">CICS Transaction Gateway</a>.<br
/> [2] Voir <a
href="http://www.javaworld.com/javaworld/jw-08-2005/jw-0822-cics.html">Access CICS applications with Spring</a> par Thierry Templier pour JavaWorld.<br
/> [3] Voir <a
href="https://www14.software.ibm.com/iwm/web/cc/earlyprograms/websphere/was61ejb3/">WebSphere® Application Server Version 6.1 Feature Pack for EJB 3.0</a> et <a
href="http://www-1.ibm.com/support/docview.wss?rs=180&amp;uid=swg21264563">Feature Pack for Web Services for WebSphere Application Server V6.1</a></p><h4><a
name="ApacheWicket"></a><a
href="http://wicket.apache.org/wicket-130-rc1.html">Apache Wicket 1.3.0-rc1</a> is released!</h4><p> Le projet Wicket avance et entre en release candidates. Cela signifie que seulement des corrections de bugs seront faites jusque la sortie finale de la version 1.3.<br
/> Au programme de cette release :</p><ul><li>un <a
href="http://cwiki.apache.org/WICKET/migrate-13.html">guide de migration</a> à partir de la version 1.2 : l&#8217;API a évolué/changé et donc pas mal de changements sont à prévoir.</li><li>beaucoup de bugs ont été corrigés, et les évolutions sont nombreuses. <a
href="http://wicket.apache.org/wicket-130-rc1.html#wicket-1.3.0-rc1-Reportingbugs">Voici la liste</a>.</li></ul> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2007/11/05/revue-de-presse-xebia-30/</link> <comments>http://blog.xebia.fr/2007/11/05/revue-de-presse-xebia-30/#comments</comments> <pubDate>Mon, 05 Nov 2007 17:20:31 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[Websphere]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2007/11/05/revue-de-presse-xebia-30/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Agilité Intégration continue &#8211; taux de couverture de code Estimations Agiles Le coin de la technique Continuum 1.1 Beta 4 et Archiva 1.0 Beta 3 RIA &#8211; qui utilise Flex aujourd&#8217;hui ? Buildr premier projet Ruby à rejoindre l&#8217;incubateur de [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/11/05/revue-de-presse-xebia-30/#tauxdecouverturedecode">Intégration continue &#8211; taux de couverture de code</a></li><li><a
href="http://blog.xebia.fr/2007/11/05/revue-de-presse-xebia-30/#EstimationsAgiles">Estimations Agiles</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/11/05/revue-de-presse-xebia-30/#Continuum">Continuum 1.1 Beta 4 et Archiva 1.0 Beta 3</a></li><li><a
href="http://blog.xebia.fr/2007/11/05/revue-de-presse-xebia-30/#Flex">RIA &#8211; qui utilise Flex aujourd&#8217;hui ?</a></li><li><a
href="http://blog.xebia.fr/2007/11/05/revue-de-presse-xebia-30/#Buildr">Buildr premier projet Ruby à rejoindre l&#8217;incubateur de la fondation Apache</a></li><li><a
href="http://blog.xebia.fr/2007/11/05/revue-de-presse-xebia-30/#EncodagedesmessagesavecWebsphereMQ">Encodage des messages avec Websphere MQ</a></li></ul><hr
/><h3>Agilité</h3><h4><a
name="tauxdecouverturedecode"></a>Intégration continue &#8211; taux de couverture de code</h4><p>Un serveur d&#8217;intégration continue qui <a
href="http://hudson.gotdns.com/wiki/display/HUDSON/Meet+Hudson">déroule les tests unitaires du projet</a>, c&#8217;est très bien. Le serveur donne le nombre de tests unitaires qui sont passés, le nombre de tests échoués, notifie les intervenants du projet, et génère des rapports et des graphiques à partir des résultats donnés par JUnit. Mais il manque tout de même une information importante&#8230; Quel est le pourcentage de code couvert par les tests unitaires ?</p><p><a
href="http://www.atlassian.com/software/clover/whats-new.jsp">Clover</a>, après son récent rachat par Atlassian, vient de sortir en version 2 avec son lot de nouveautés :</p><ul><li>les rapports présentent désormais à la fois le taux de couverture des tests et le résultat des tests,</li><li>on connaît couverture de code par test,</li><li>le module d&#8217;affichage des sources en HTML a été amélioré</li></ul><p>Clover est un outil commercial nécessitant une licence payante. Dans le monde opensource, les alternatives se nomment <a
href="http://cobertura.sourceforge.net">Cobertura</a> et <a
href="http://emma.sourceforge.net/">EMMA</a>. Ces outils peuvent être couplés au processus de build (Ant ou Maven), et les résultats peuvent (parfois, suivant les plugins disponibles sur tel ou tel serveur) être affichés dans les rapports du serveur d&#8217;intégration continue.</p><h4><a
name="EstimationsAgiles"></a>Estimations Agiles</h4><p>Mike Griffiths, praticien agile ayant participé en 1994 à l&#8217;élaboration de la méthode agile <a
href="http://www.dsdm.org/">DSDM</a>, vient d&#8217;initier une série de billets sur les <b>estimations agiles</b>. Dans ce premier <a
href="http://leadinganswers.typepad.com/leading_answers/2007/11/agile-estimatio.html">billet</a>, il aborde notamment la problématique de <b>l&#8217;estimation initiale</b> et commence par rappeler que, approche agile ou non, cet exercice sera toujours difficile du fait du caractère unique de chaque projet. Ainsi, les estimations initiales peuvent considérablement varier par rapport à la réalité comme l&#8217;illustre parfaitement bien le désormais célèbre <a
href="http://www.codinghorror.com/blog/archives/000623.html">cône d&#8217;incertitude</a> de <a
href="http://en.wikipedia.org/wiki/Barry_Boehm">Barry W. Boehm</a>. Avec les méthodologies agiles, les estimations peuvent être affinées après quelques itérations en fonction de la vélocité mesurée du projet. Mais en début de projet, que la méthodologie adoptée soit agile ou traditionnelle, le problème reste le même &#8211; <em>estimer le temps nécessaire pour construire un système unique avec une équipe inexpérimentée</em> &#8211; et nous devons donc accepter que les approches seront similaires. Mike livre ici quelques techniques qui peuvent vous aider.</p><h3>Le coin de la technique</h3><h4><a
name="Continuum"></a>Continuum 1.1 Beta 4 et Archiva 1.0 Beta 3</h4><p>Semaine riche sur la planète Maven avec les annonces, à quelques jours d&#8217;intervalle, de <a
href="http://maven.apache.org/continuum/download.html">Continuum 1.1 Beta 4</a> et <a
href="http://maven.apache.org/archiva/download.html">Archiva 1.0 Beta 3</a>. Au menu pour Continuum (non exhaustif) : de nombreuses corrections de bogues, une nouvelle page permettant de visualiser la queue de build et la possibilité d&#8217;utiliser des templates de mail configurables. Pour plus de détail, vous pouvez consulter les <a
href="http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10540&amp;styleName=Html&amp;version=13727">release notes</a>. Pour Archiva, cette nouvelle beta qui sera a priori l&#8217;avant dernière avant la 1.0 finale contient essentiellement des corrections de bogues et quelques améliorations. De même, les <a
href="http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10980&amp;styleName=Html&amp;version=13660">release notes</a> vous donneront tous les détails. Félicitations aux équipe Continuum et Maven Archiva !</p><h4><a
name="Flex"></a>RIA &#8211; qui utilise Flex aujourd&#8217;hui ?</h4><p>Le taux de pénétration d&#8217;une technologie est un facteur important (prédominant?) pour les décideurs informatiques. Les deux technologies qui sortent du lot pour développer des applications RIA (Rich Internet Application) sont AJAX (et sa flopé de frameworks) et <a
href="http://www.adobe.com/fr/products/flex/">Flex</a> d&#8217;Adobe.</p><p>Flex est un environnement de développement permettant de créer des applications RIA multiplateformes, la partie présentation est en Flash (le taux de pénétration du plugin Flash est excellent, proche de 100%, il n&#8217;y a donc pas de problème de déploiement), et les applications Flex peuvent consommer des services distants (web services, EJB, etc.). L&#8217;environnement de développement <a
href="http://www.adobe.com/products/flex/flexbuilder/">FlexBuilder</a> est basé  sur Eclipse, mais est payant, tandis qu&#8217;Adobe a <a
href="http://labs.adobe.com/wiki/index.php/Flex:Open_Source">récemment passé Flex sous licence opensource</a>.</p><p>Flex est aujourd&#8217;hui utilisé par de nombreuses compagnies, cet <a
href="http://www.infoq.com/news/2007/10/who-is-using-flex">article chez InfoQ</a> liste certaines d&#8217;entre elles.</p><h4><a
name="Buildr"></a>Buildr premier projet Ruby à rejoindre l&#8217;incubateur de la fondation Apache</h4><p><a
href="http://buildr.rubyforge.org/">Buildr</a> semble être l&#8217;alternative à Maven 2 qui monte&#8230; <a
href="http://www.infoq.com/news/2007/11/apache-incubates-buildr">Cet article d&#8217;InfoQ</a> est un bon point d&#8217;entrée pour en apprendre un peu plus sur l&#8217;outil.<br
/> Buildr est donc un outil de build pour projets Java, mais est codé en Ruby. L&#8217;outil semble être plus rapide que Maven 2 et est surtout beaucoup plus facilement extensible.</p><p>Il ne sera tout de même pas être évident de déloger Maven 2 mais les deux projets sont désormais sous l&#8217;ombrelle de la fondation Apache, nous verrons bien ce qu&#8217;il en sortira.</p><h4><a
name="EncodagedesmessagesavecWebsphereMQ"></a>Encodage des messages avec Websphere MQ</h4><p>La gestion des encodages avec Websphere MQ est toujours un sujet délicat à traiter (EBCDIC, CCSID et autres joyeusetés). IBM met à jour <a
href="http://hursleyonwmq.wordpress.com/2007/10/31/websphere-mq-and-ccsids-encoding-and-data-conversion/">Data Conversion Under WebSphere MQ</a>. C&#8217;est l&#8217;occasion de rappeler quelques bonnes pratiques pour prévenir ces problèmes auxquels nous ne sommes pas habitués :</p><ul><li>JMS et son pendant XMS (.Net, C et C++) sont les API de prédilection pour accéder à MQ depuis des applications d&#8217;informatique de gestion :<ul><ol>-&nbsp;JMS est une API de beaucoup plus haut niveau que MQI qui est intégrée aux standards et frameworks Java EE (JTA/JCA, Message Driven Bean, Spring JMS, etc).</ol><ol>-&nbsp;L&#8217;implémentation JMS de MQ offre les mêmes performances que l&#8217;API &laquo;&nbsp;WebSphere MQ classes for Java&nbsp;&raquo; (cf <a
href="ftp://ftp.software.ibm.com/software/integration/support/supportpacs/individual/mp7g.pdf">JMS Performance with WebSphere MQ for Windows 6.0</a>)</ol><ol>-&nbsp;Le pooling des ressources JMS par les serveurs d&#8217;application, similaire aux DataSource jdbc, apporte simplicité d&#8217;exploitation et maîtrise de la montée en charge (cf <a
href="http://www.ibm.com/developerworks/websphere/library/techarticles/0707_titheridge/0707_titheridge.html">Using JMS connection pooling with WebSphere Application Server and WebSphere MQ</a>)</ol><ol>-&nbsp;XMS porte l&#8217;API JMS pour les langages C, C++ et .Net (cf <a
href="http://hursleyonwmq.wordpress.com/2007/01/30/xms-clients/">XMS Clients</a>), cette nouveauté est une roadmap importante à étudier. La transposition de l&#8217;API JMS pour les autres langages de programmation se retrouve aussi dans <a
href="http://www.tibco.com/software/messaging/enterprise_messaging_service/">Tibco Enterprise Messaging Service (EMS)</a>.</ol></ul></li><li>Le format MQRFH2, autrefois difficile à manipuler avec les APIs MQI, se généralise avec les APIs JMS/XMS et le support de SOAP (cf. <a
href="http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqzau.doc/csq85c0202.htm#csq85c0202">WMQ SOAP Listeners</a>).</li><li>L&#8217;utilisation de TextMessage pour transporter des documents XML est le standard de-facto. Cependant, ce choix nécessite de maintenir en synchronisation le ccsid du message MQ et l&#8217;attribut &laquo;&nbsp;encoding&nbsp;&raquo; du document XML (cf <a
href="http://www.mqseries.net/phpBB2/viewtopic.php?t=40149">MQSeries.net : XML in JMSTextMessage or JMSBytesMessage</a>). Une règle de précaution est de systématiquement utiliser UTF-8, l&#8217;encodage par défaut en XML (voir infra).</li><li>UTF-8 est un très bon candidat comme encodage standard d&#8217;échange des messages MQ. Il est supporté de façon transparente par les APIs JMS et XMS et est l&#8217;encodage par défaut des documents XML.</li></ul> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2007/11/05/revue-de-presse-xebia-30/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Livre Blanc Migration Websphere 6.1</title><link>http://blog.xebia.fr/2007/09/14/livre-blanc-migration-websphere-61/</link> <comments>http://blog.xebia.fr/2007/09/14/livre-blanc-migration-websphere-61/#comments</comments> <pubDate>Fri, 14 Sep 2007 13:27:07 +0000</pubDate> <dc:creator>Cyrille Le Clerc</dc:creator> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Publications]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Migration]]></category> <category><![CDATA[Websphere]]></category> <category><![CDATA[Websphere-6.1]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2007/09/14/livre-blanc-migration-websphere-61/</guid> <description><![CDATA[La fin du support de Websphere 5.1 est annoncée pour Septembre 2008. Si migrer de version de middleware est un sujet récurrent des Directions Informatiques, cela n&#8217;en reste pas moins un projet difficile souvent perçu comme une contrainte dénuée de retour sur investissement. &#160; Nous avons étudié la migration à Websphere 6.1, sur les volets [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://blog.xebia.fr/wp-content/uploads/2007/09/wp_migration_websphere_61.pdf" title="Livre Blanc Migration Websphere 6.1"><img
src="http://blog.xebia.fr/wp-content/uploads/2007/09/wp_migration_websphere.png" alt="Livre Blanc Migration Websphere 6.1"  style="margin: 1em 1em 1em 1em; float: right;" /></a><br
/> La fin du support de Websphere 5.1 est annoncée pour Septembre 2008. Si migrer de version de middleware est un sujet récurrent des Directions Informatiques, cela n&#8217;en reste pas moins un projet difficile souvent perçu comme une contrainte dénuée de retour sur investissement.<br
/> <br
/>&nbsp;<br
/> Nous avons étudié la migration à Websphere 6.1, sur les volets de l&#8217;exploitation et des études, selon les deux axes :</p><ul><li>L&#8217;axe de la maîtrise des risques pour sécuriser le projet.</li><li>L&#8217;axe des opportunités pour ne plus voir ce projet comme une contrainte mais comme une occasion d&#8217;améliorer sa plate-forme et d&#8217;apporter des avantages aux différents acteurs de la DSI (exploitation, études et achats).</li></ul><p>&nbsp;<br
/> <br
/>&nbsp;<br
/> <a
href="http://blog.xebia.fr/wp-content/uploads/2007/09/wp_migration_websphere_61.pdf" title="Livre Blanc Migration Websphere 6.1">Télécharger le Livre Blanc Migration Websphere 6.1 par Xebia.</a></p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2007/09/14/livre-blanc-migration-websphere-61/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> </channel> </rss>
