<?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; Revue de presse</title> <atom:link href="http://blog.xebia.fr/category/revue-de-presse/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/2012/02/07/revue-de-presse-xebia-2012-06/</link> <comments>http://blog.xebia.fr/2012/02/07/revue-de-presse-xebia-2012-06/#comments</comments> <pubDate>Tue, 07 Feb 2012 08:04:38 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[clojure]]></category> <category><![CDATA[Eclipse]]></category> <category><![CDATA[FOSDEM]]></category> <category><![CDATA[jmeter]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=10601</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Sortie de JMeter en version 2.6 (Par Benoit Lemoine) Eclipse 3.8 M5 (Par Nicolas Demengel) Le coin de la technique mutability-detector (Par Nicolas Demengel) Evénements de notre communauté en France et à l&#8217;étranger Podcasts Java et&#8230; Clojure (Par Bertrand Dechoux) [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2012/02/07/revue-de-presse-xebia-2012-06#RevuedePresseXebia-SortiedeJMeterenversion2.6">Sortie de JMeter en version 2.6</a> <em>(Par Benoit Lemoine)</em></li><li><a
href="http://blog.xebia.fr/2012/02/07/revue-de-presse-xebia-2012-06#RevuedePresseXebia-Eclipse3.8M5">Eclipse 3.8 M5</a> <em>(Par <a
href="http://blog.xebia.fr/author/ndemengel/" rel="nofollow">Nicolas Demengel</a>)</em></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2012/02/07/revue-de-presse-xebia-2012-06#RevuedePresseXebia-mutabilitydetector">mutability-detector</a> <em>(Par <a
href="http://blog.xebia.fr/author/ndemengel/" rel="nofollow">Nicolas Demengel</a>)</em></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/2012/02/07/revue-de-presse-xebia-2012-06#RevuedePresseXebia-PodcastsJavaet...Clojure">Podcasts Java et&#8230; Clojure</a> <em>(Par <a
href="http://blog.xebia.fr/author/bdechoux/" rel="nofollow">Bertrand Dechoux</a>)</em></li></ul><h3><a
name="RevuedePresseXebia-Actualit%C3%A9%C3%A9diteurs%2FSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="RevuedePresseXebia-SortiedeJMeterenversion2.6"></a>Sortie de JMeter en version 2.6</h4><p>Pour sa première version en tant que projet Top Level de Apache, <a
href="http://jmeter.apache.org/" rel="nofollow">JMeter</a> 2.6 apporte de nombreuses nouveautés, dont la liste exhaustive est disponible directement sur <a
href="http://jmeter.apache.org/changes.html" rel="nofollow">la page du projet</a>.</p><p>Le célèbre logiciel de test de charge écrit en Java se voit doter, entre autres, d&#8217;une toolbar, d&#8217;un nouveau système de recherche par mots-clés, ou encore d&#8217;un sampler HTTP Raw facilitant le test d&#8217;applications GWT ou SOAP. Cette nouvelle version corrige par ailleurs une vingtaine de bugs et ajoute une intégration plus prononcée avec l&#8217;OS en gérant les copier/coller et les glisser/déposer de fichiers.</p><h4><a
name="RevuedePresseXebia-Eclipse3.8M5"></a>Eclipse 3.8 M5</h4><p>La Milestone M5 de Eclipse 3.8 (Juno) a été livrée la semaine dernière, l&#8217;occasion pour nous de faire un point <a
href="http://download.eclipse.org/eclipse/downloads/drops/S-3.8M1-201108031800/eclipse-news-M1.html" rel="nofollow">sur</a> <a
href="http://download.eclipse.org/eclipse/downloads/drops4/S-4.2M2-201109161615/eclipse-news-M2.html" rel="nofollow">les</a> <a
href="http://download.eclipse.org/eclipse/downloads/drops4/S-4.2M3-201110281100/eclipse-news-M3.html" rel="nofollow">principales</a> <a
href="http://download.eclipse.org/eclipse/downloads/drops4/S-4.2M4-201112092100/eclipse-news-M4.html" rel="nofollow">fonctionnalités</a> <a
href="http://download.eclipse.org/eclipse/downloads/drops4/S-4.2M5-201201271145/eclipse-news-M5.html" rel="nofollow">promises</a> par la future version d&#8217;Eclipse :</p><ul><li>conversion facile des boucles &laquo;&nbsp;for each&nbsp;&raquo; vers un autre type de boucle (avec index ou avec iterateur, selon l&#8217;objet sur lequel on itère) via l&#8217;assistant contextuel ;</li><li>la détection de fuites mémoire potentielles ou avérées dans le code ;</li><li>la détection de violations des annotations @Nullable et @NonNull ;</li><li>l&#8217;inclusion des champs de classe dans l&#8217;analyse des variables potentiellement nulles lors de leur utilisation ;</li><li>une barre d&#8217;outils simplifiée pour le mode debug et une amélioration des performances des vues associées ;</li><li>l&#8217;ajout des annotations de paramètres dans l&#8217;explorateur de Javadoc ;</li><li>des évolutions et options cosmétiques ;</li><li>de nombreuses évolutions à l&#8217;attention des développeurs de plugins.</li></ul><p>Cette version intégrera bien évidemment le support de Java 7. Pour rappel, ce support a déjà été intégré dans la version 3.7.1 (voir la liste de <a
href="http://www.eclipse.org/jdt/ui/r3_8/Java7news/whats-new-java-7.html" rel="nofollow">ce qui est supporté</a>).</p><p>A noter aussi que depuis quelques années se prépare la nouvelle architecture d&#8217;Eclipse, qui aura beaucoup d&#8217;impact pour les développeurs travaillant sur la plateforme, et qui devrait se traduire notamment par des évolutions de l&#8217;interface pour les utilisateurs. Cette nouvelle version majeure contiendra également les nouveautés listées précédemment dans sa version 4.2.</p><h3><a
name="RevuedePresseXebia-Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="RevuedePresseXebia-mutabilitydetector"></a>mutability-detector</h4><p>Ce week-end s&#8217;est déroulé à Bruxelles le Free and Open source Software Developers&#8217; European Meeting (FOSDEM). Bien que n&#8217;y étant pas nous-mêmes, certains tweets (<a
href="http://twitter.com/Piwai" rel="nofollow">@Piwai</a> pour l&#8217;exemple) ont porté à notre attention l&#8217;outil <a
href="http://code.google.com/p/mutability-detector/" rel="nofollow">mutability-detector</a> qui y était présenté.</p><p>Cette librairie Java se propose de détecter si nos classes sont immuables ou non, avec un certain indice de confiance : <code>IMMUTABLE</code> (totalement immuable), <code>EFFECTIVELY_IMMUTABLE</code> (immuable à condition de rester maître de l&#8217;utilisation de la classe, par exemple si elle peut être étendue), <code>NOT_IMMUTABLE</code> (absolument pas immuable). Pour ce faire, elle applique les règles formalisées par Josh Bloch dans <a
href="http://www.amazon.fr/Effective-Java-Joshua-Bloch/dp/0321356683" rel="nofollow">Effective Java</a>.</p><p>L&#8217;outil propose deux modes de fonctionnement :</p><ul><li>analyse statique :<pre class="brush: java; gutter: false; title: ; notranslate">
java -jar MutabilityDetector.jar -classpath path/to/MyCodebase
</pre></li></ul><ul><li>ou utilisation au runtime, dans un test unitaire par exemple :<pre class="brush: java; gutter: false; title: ; notranslate">
import static org.mutabilitydetector.unittesting.AllowedReason.*;
import static org.mutabilitydetector.unittesting.MutabilityAssert.*;
import static org.mutabilitydetector.unittesting.MutabilityMatchers.*;
@Test public void checkMyClassIsImmutable() {
  assertImmutable(MyClass.class);
}
// on précise ici que l'on veut pouvoir sous-classer la classe en en comprenant les implications
@Test public void checkMyClassIsImmutable() {
  assertInstancesOf(AbstractIntHolder.class, areImmutable(), allowingForSubclassing());
}
</pre></li></ul><p>Un exemple de sortie :</p><pre class="brush: java; gutter: false; title: ; notranslate">
org.mutabilitydetector.unittesting.MutabilityAssertionError:
Expected: MyClass to be IMMUTABLE
  but: MyClass is actually NOT_IMMUTABLE
  Reasons:
    Can be subclassed, therefore parameters declared to be this type could be mutable subclasses at runtime. [Class: MyClass]
    Field is not final, if shared across threads the Java Memory Model will not guarantee it is initialised before it is read. [Field: name, Class: MyClass]
    Field [name] can be reassigned within method [setName] [Class: MyClass]
    Field can have a mutable type (java.lang.String) assigned to it. [Field: name, Class: MyClass]
</pre><p>mutability-detector se présente donc comme un outil intéressant pour se prémunir de mauvaises surprises dans une base de code pas très bien maîtrisée qui reposerait sur de la programmation concurrente. Il s&#8217;agit aussi d&#8217;un moyen comme un autre d&#8217;apprendre les règles de l&#8217;immutabilité.</p><p>On notera tout de même que l&#8217;outil n&#8217;est &#8211; des dires de son auteur &#8211; pas encore prêt pour un usage intensif. A surveiller donc !</p><h3><a
name="RevuedePresseXebia-Ev%C3%A9nementsdenotrecommunaut%C3%A9enFranceet%C3%A0l%27%C3%A9tranger"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="RevuedePresseXebia-PodcastsJavaet...Clojure"></a>Podcasts Java et&#8230; Clojure</h4><p>Les podcasts sont un médium unique pour rester en contact avec la communauté. Les javaïstes connaîtront bien sûr les <a
href="http://lescastcodeurs.com" rel="nofollow">Cast Codeurs</a> (en français) ou encore <a
href="http://javaposse.com" rel="nofollow">Java Posse</a> (en anglais). Mais la JVM ne se limite pas à Java. Et les clojuriens commencent également à avoir leurs podcasts : <a
href="http://mostlylazy.com" rel="nofollow">Mostly lazy</a> ou encore <a
href="http://thinkrelevance.com/blog/tags/podcast" rel="nofollow">Think relevance</a>. On y parle entre autres d&#8217;<a
href="http://avout.io" rel="nofollow">avout</a>, permettant d&#8217;utiliser le modèle d&#8217;état de Clojure dans un environnement distribué mais aussi de <a
href="https://github.com/clojure/clojurescript" rel="nofollow">clojureScript</a>, un GWT à la Clojure et encore d&#8217;<a
href="http://overtone.github.com" rel="nofollow">Overtone</a>, permettant de réutiliser vos compétences en programmation pour créer de la musique.</p><div
class="shr-publisher-10601"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F02%2F07%2Frevue-de-presse-xebia-2012-06%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F02%2F07%2Frevue-de-presse-xebia-2012-06%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2012/02/07/revue-de-presse-xebia-2012-06/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2012/01/31/revue-de-presse-xebia-2012-05/</link> <comments>http://blog.xebia.fr/2012/01/31/revue-de-presse-xebia-2012-05/#comments</comments> <pubDate>Tue, 31 Jan 2012 15:55:59 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[JavaFX]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[jQ Mobi]]></category> <category><![CDATA[JQuery Mobile]]></category> <category><![CDATA[Twitter]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=10488</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII jq.Mobi, jQuery Mobile réécrit et optimisé (Par Jean Helou) RIA JavaFX disponible sur Linux (Par Diego Lemos) Le coin de la technique Twitter Bootstrap 2.0 (Par Aurélien Maury) Actualité éditeurs / SSII jq.Mobi, jQuery Mobile réécrit et optimisé jQ.Mobi est [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2012/01/31/revue-de-presse-xebia-2012-05#RevuedePresseXebia-jq.Mobi%2CjQueryMobiler%C3%A9%C3%A9critetoptimis%C3%A9">jq.Mobi, jQuery Mobile réécrit et optimisé</a> <em>(Par <a
href="https://twitter.com/#!/jeanhelou" rel="nofollow">Jean Helou</a>)</em></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2012/01/31/revue-de-presse-xebia-2012-05#RevuedePresseXebia-JavaFXdisponiblesurLinux">JavaFX disponible sur Linux</a> <em>(Par <a
href="https://twitter.com/#!/dlresende" rel="nofollow">Diego Lemos</a>)</em></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2012/01/31/revue-de-presse-xebia-2012-05#RevuedePresseXebia-TwitterBootstrap2.0">Twitter Bootstrap 2.0</a> <em>(Par <a
href="http://blog.xebia.fr/author/amaury/" rel="nofollow">Aurélien Maury</a>)</em></li></ul><h3><a
name="RevuedePresseXebia-Actualit%C3%A9%C3%A9diteurs%2FSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="RevuedePresseXebia-jq.Mobi%2CjQueryMobiler%C3%A9%C3%A9critetoptimis%C3%A9"></a>jq.Mobi, jQuery Mobile réécrit et optimisé</h4><p><a
href="http://www.jqmobi.com/" rel="nofollow">jQ.Mobi</a> est un concurrent de <a
href="http://jquerymobile.com/download/" rel="nofollow">jQuery Mobile</a>, développé spécifiquement pour les plateformes mobiles et optimisé pour HTML5. Ces axes d&#8217;optimisation permettent à la version minifiée de jQ.Mobi d&#8217;être environ 10 fois plus petite que celle de jQuery Mobile, son téléchargement est donc bien plus rapide, accélérant d&#8217;autant le chargement des pages. L&#8217;optimisation pour le html5 simplifie le code en plus de l&#8217;alléger et permet de gagner également en vitesse d&#8217;exécution (facteur 3 sur Android, 2.2 sur iOS d&#8217;après <a
href="http://jsperf.com/jqm3/4" rel="nofollow">Jsperf</a>).</p><p>La syntaxe de jQ.Mobi est identique à celle de JQuery, l&#8217;api des plugins est également compatible mais jQ.Mobi ne contient qu&#8217;un sous-ensemble des fonctionnalités de JQuery, celles utilisées par appMobi, société qui a développé le framework avant de le mettre à disposition en open source.</p><p>jQ.Mobi est séparé en trois composants:</p><ul><li>jQ (le coeur)</li><li>jQ.UI (l&#8217;interface)</li><li>jQ.plugin (plugins pour les navigateurs (WebKit)</li></ul><p><a
href="http://www.appmobi.com/" rel="nofollow">appMobi</a> explique le développement de son framework par la volonté de véritablement le spécialiser pour les plateformes mobiles quitte à être incomaptible avec les navigateurs &laquo;&nbsp;desktop&nbsp;&raquo;, l&#8217;objectif étant d&#8217;améliorer autant que possible l&#8217;expérience utilisateur sur mobile.<br
/> Le reponsable de JQuery mobile, Todd Parker a reconnu certains des problèmes et l&#8217;équipe du framework semble se réorienter pour les prendre en compte.</p><h3><a
name="RevuedePresseXebia-RIA"></a>RIA</h3><h4><a
name="RevuedePresseXebia-JavaFXdisponiblesurLinux"></a>JavaFX disponible sur Linux</h4><p>Cette semaine, la communauté JavaFX a reçu une nouvelle depuis longtemps attendue. Finalement, Oracle a annoncé sur le <a
href="http://blogs.oracle.com/javafx/entry/javafx_2_0_is_cross" rel="nofollow">blog JavaFX</a> une version Linux (32-bits!) du SDK JavaFX 2.1. La toute  nouvelle version a été testée par Oracle sur Ubuntu 10.04 avec un JDK 7u2. Néanmoins, Oracle fait comprendre que le JDK JavaFX devrait fonctionner sans problème sur d&#8217;autres distributions Linux.</p><p>Pour  rappel, JavaFX est une plateforme de développement pour la création  d&#8217;applications internet riches (RIA). Avec JavaFX, il est possible de  développer des applications desktop, web et mobile. JavaFX est aussi le  nom du langage de script utilisé pour le développement sur la plateforme du même nom. Le code est compilé en bytecode Java et peut donc être  exécuté sur une JVM.</p><h3><a
name="RevuedePresseXebia-Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="RevuedePresseXebia-TwitterBootstrap2.0"></a>Twitter Bootstrap 2.0</h4><p>Pour ceux qui ne connaissent pas encore cette librairie, il s&#8217;agit d&#8217;un framework CSS/JS <a
href="https://github.com/twitter/bootstrap" rel="nofollow">ouvert sur GitHub</a> par Twitter à la communauté OpenSource (sous licence Apache 2.0). Il intègre notamment une grille de placement et des styles pour un grand nombre d&#8217;éléments de formulaires, de messages aux utilisateurs, d&#8217;onglets de mise en page, de menus déroulants, etc. La cuvée 2.0 devrait sortir officiellement dans la semaine (sortie annoncée pour le&#8230; aujourd&#8217;hui si tout va bien). En avant première la documentation est déjà en ligne sur <a
href="http://markdotto.com/bs2/docs/index.html" rel="nofollow">le blog d&#8217;un des développeurs</a>. Jetez y un oeil, ça vaut le détour. Au menu des nouveautés :</p><ul><li>Amélioration du support cross-browser, annoncé &laquo;&nbsp;cross-everything&nbsp;&raquo;</li><li>Plugins JQuery spécifiquement adaptés</li><li>Prêt pour le <a
href="http://www.designspartan.com/tutoriels/responsive-design-definition-fonctionnement-ressources-et-tutoriels/" rel="nofollow">Responsive webdesign</a></li><li>Plus d&#8217;exemples, une meilleure documentation</li><li>Beaucoup plus de composants, notamment des barres de progression et des menus de navigations supplémentaires</li></ul><p>C&#8217;est une expérience à vivre. Je vous le conseille fortement pour votre prochain prototype. Si vous voulez avoir une idée de ce que certains ont réalisé avec la version 1.4, visitez le <a
href="http://builtwithbootstrap.com/" rel="nofollow">Tumblr non officiel BuiltWithBootstrap</a>.</p><div
class="shr-publisher-10488"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F01%2F31%2Frevue-de-presse-xebia-2012-05%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F01%2F31%2Frevue-de-presse-xebia-2012-05%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2012/01/31/revue-de-presse-xebia-2012-05/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2012/01/24/revue-de-presse-xebia-2012-04/</link> <comments>http://blog.xebia.fr/2012/01/24/revue-de-presse-xebia-2012-04/#comments</comments> <pubDate>Tue, 24 Jan 2012 08:30:17 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[AWS]]></category> <category><![CDATA[CommonCrawl]]></category> <category><![CDATA[Dynamo]]></category> <category><![CDATA[DynamoDB]]></category> <category><![CDATA[SimpleDB]]></category> <category><![CDATA[Visuwall]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=10387</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Amazon dévoile DynamoDB (Par Alexandre Dutra) Sortie de Visuwall 0.3 (Par Julien Smadja et Arnaud Lemaire) Evénements de notre communauté en France et à l&#8217;étranger Common Crawl Corpus : le web disponible sur les disques d&#8217;Amazon Web Service (Par Bertrand [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2012/01/24/revue-de-presse-xebia-2012-04#Revuedepresse-Amazond%C3%A9voileDynamoDB">Amazon dévoile DynamoDB</a> <em>(Par <a
href="https://twitter.com/#!/alexdut">Alexandre Dutra</a>)</em></li><li><a
href="http://blog.xebia.fr/2012/01/24/revue-de-presse-xebia-2012-04#Revuedepresse-SortiedeVisuwall0.3">Sortie de Visuwall 0.3</a> <em>(Par <a
href="http://blog.xebia.fr/author/jsmadja/">Julien Smadja</a> et <a
href="http://blog.xebia.fr/author/alemaire/">Arnaud Lemaire</a>)</em></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/2012/01/24/revue-de-presse-xebia-2012-04#Revuedepresse-CommonCrawlCorpus%3Alewebdisponiblesurlesdisquesd%27AmazonWebService">Common Crawl Corpus : le web disponible sur les disques d&#8217;Amazon Web Service</a> <em>(Par <a
href="http://blog.xebia.fr/author/bdechoux/">Bertrand Dechoux</a>)</em></li></ul><h3><a
name="Revuedepresse-Actualit%C3%A9%C3%A9diteurs%2FSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="Revuedepresse-Amazond%C3%A9voileDynamoDB"></a>Amazon dévoile DynamoDB</h4><p>Il était difficile, cette semaine, de passer à côté de la nouvelle: après les <a
href="http://pandodaily.com/2012/01/17/good-news-for-ec2-customers-amazon-may-launch-new-cloud-search-tomorrow/" rel="nofollow">rumeurs les plus folles</a> et un teasing maîtrisé, Amazon mit fin au suspense le 18 janvier dernier en dévoilant un nouveau service baptisé <a
href="http://aws.amazon.com/fr/dynamodb//177-7357257-5640903" rel="nofollow">Amazon DynamoDB</a>.</p><p>Bon nombre de nos confrères ont relayé l&#8217;information: <a
href="http://techcrunch.com/2012/01/18/amazon-database-dynamodb/" rel="nofollow">TechCrunch</a>, <a
href="http://www.readwriteweb.com/cloud/2012/01/amazon-enters-the-nosql-market.php" rel="nofollow">ReadWriteCloud</a> ou encore <a
href="http://www.informationweek.com/news/software/info_management/232500104" rel="nofollow">InformationWeek</a> y sont allés de leur plume, mais c&#8217;est <a
href="http://www.allthingsdistributed.com/2012/01/amazon-dynamodb.html" rel="nofollow">dans son blog</a> que Werner Vogels, CTO d&#8217;Amazon, revient longuement sur les choix qui l&#8217;ont poussé à mettre au point DynamoDB.</p><p>Sans surprise, DynamoDB serait le fruit d&#8217;un double retour d&#8217;expérience: celui de Dynamo d&#8217;une part, la solution NoSQL <a
href="http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf" rel="nofollow">mise au point par Amazon</a> dès 2007 et qui est à l&#8217;origine d&#8217;Apache Cassandra, Voldemort, Riak et de bien d&#8217;autres solutions NoSQL orientées clé-valeur; et celui de <a
href="http://aws.amazon.com/fr/simpledb/" rel="nofollow">SimpleDB</a> d&#8217;autre part, une autre solution non-relationnelle également développée par Amazon depuis 2007.</p><p>Dynamo, on le sait, fut une des toutes premières solutions non-relationnelles à s&#8217;attaquer aux principes des systèmes massivement distribués, hautement scalables et fiables. De l&#8217;aveu de Vogels, ce fut une réussite technique incontestable, mais le succès auprès des développeurs n&#8217;a jamais atteint le niveau escompté, sans doute en raison de la complexité du système.</p><p>SimpleDB, en revanche, était plus limitée mais aussi plus flexible et plus facile d&#8217;administration, et a fini par l&#8217;emporter en popularité auprès des développeurs. Un brin rancunier, Vogels explique qu&#8217;en préférant SimpleDB à Dynamo &laquo;&nbsp;les développeurs on choisi la simplicité plutôt que la précision&nbsp;&raquo; en &laquo;&nbsp;votant avec leurs pieds&nbsp;&raquo; (sic). En somme &laquo;&nbsp;les développeurs voulaient un service&nbsp;&raquo;, non une infrastructure.</p><p>Amazon DynamoDB, selon Vogels, est un peu le meilleur des deux mondes: un service cloud bâti sur les principes solides dérivés de Dynamo (scalabilité incrémentale, haute performance prévisible), tout en gardant la facilité d&#8217;administration et le côté &laquo;&nbsp;clé-en-mains&nbsp;&raquo; qui ont fait le succès de SimpleDB.</p><p>Selon Vogels toujours, DynamoDB compte les avantages suivants sur ses prédécesseurs:</p><ul><li>Facilité d&#8217;administration: DynamoDB se charge de la complexité engendrée par les réplications et les partitionnements de données.</li><li>Scalabilité: DynamoDB est conçu pour allouer automatiquement les ressources nécessaires à l&#8217;application, et ce jusqu&#8217;à des centaines, voire des milliers de noeuds répartis sur plusieurs Availability Zones. DynamoDB corrige ici une erreur de design souvent reprochée à SimpleDB: l&#8217;allocation au préalable des <em>Domains</em>, espaces mémoire à la capacité finie.</li><li>Rapidité: DynamoDB fournit un très haut débit et une latence très basse grâce à l&#8217;usage de disques SSD (<em>Solid State Drives</em>).</li><li>Prévisibilité des performances: DynamoDB répond à cette problématique par la notion de &laquo;&nbsp;Débit provisionné&nbsp;&raquo; (<em>Provisioned Throughput</em>): le client peut désormais spécifier le débit requis par l&#8217;application, pour une table donnée; DynamoDB alloue les ressources nécessaires de manière transparente afin de garantir un niveau de performances stable.</li><li>Disponibilité: DynamoDB réplique ses données sur différents data centers afin de minimiser les risques de défaillance.</li><li>Flexibilité: s&#8217;inspirant ici davantage de SimpleDB, DynamoDB n&#8217;impose pas de contrainte de schéma pour le modèle de données (d&#8217;ailleurs plus riche qu&#8217;un simple modèle clé-valeur comme celui de Dynamo), bien qu&#8217;il soit possible d&#8217;y appliquer un certain nombre de contraintes d&#8217;intégrité.</li></ul><p>Enfin, le pricing a été complètement revu. Finies les obscures &laquo;&nbsp;heures machine&nbsp;&raquo; de SimpleDB, place à une grille tarifaire simple:</p><ul><li>Le stockage est proposé à $1 par gigaoctet et par mois.</li><li>La bande passante est facturée en fonction du débit provisionné:<ul><li>$0.01 par heure pour chaque 10 unités de capacité en écriture (<em>Write Capacity</em>);</li><li>$0.01 par heure pour chaque 50 unités de capacité en lecture (<em>Read Capacity</em>) fortement consistantes (les lectures potentiellement consistantes &#8211; <em>eventually consistent</em> &#8211; sont à moitié prix).</li></ul></li></ul><p>(Une unité de capacité en lecture ou écriture correspond, selon Vogel, respectivement à une capacité de lecture ou d&#8217;écriture par seconde pour des objets allant jusqu&#8217;à 1 kilo-octet en taille.)</p><p>Enfin, il faudrait noter que DynamoDB est intimement lié aux services Elastic MapReduce proposés par Amazon: il sera donc possible d&#8217;utiliser DynamoDB dans des opérations MapReduce, ce qui ouvre des perspectives intéressantes pour le traitement en quasi temps réel de grands volumes de données, directement sur la base de données de production, et donc en phase avec l&#8217;approche BigData.</p><h4><a
name="Revuedepresse-SortiedeVisuwall0.3"></a>Sortie de Visuwall 0.3</h4><p>La version 0.3 de Visuwall est sortie la semaine dernière. Pour rappel, cet outil avait déjà fait l&#8217;objet d&#8217;un article dans notre blog : <a
href="http://blog.xebia.fr/2011/12/02/visuwall-mixer-vos-outils-de-build-et-de-qualite/" rel="nofollow">Visuwall &#8211; Mixer vos outils de build et de qualité</a>. Vous pouvez dès à présent télécharger cette nouvelle version <a
href="http://repo1.maven.org/maven2/net/awired/visuwall/visuwall-web/0.3/visuwall-web-0.3.war" rel="nofollow">ici</a> sur le repository Maven.</p><p>Cette version apporte son lot de nouveautés :</p><ul><li>Support des projets autres que Maven.</li><li>Ajout d&#8217;un nouveau plugin pour les utilisateurs de Continuum.</li><li>Support de l&#8217;authentification des outils d&#8217;Intégration Continue et de Sonar.</li><li>Message d&#8217;information concernant la compatibilité du plugin Sonar (Visuwall est disponible exclusivement pour les versions de Sonar supérieures à 1.3).</li><li>Auto suppression de la base de données en cas de montée de version de Visuwall (la migration est prévue dans une version ultérieure).</li><li>Ajout d&#8217;un logo en fond lorsqu&#8217;aucun projet n&#8217;est encore affiché.</li><li>Les paramètres de configuration de l&#8217;interface graphique sont sauvegardés en cookie.</li><li>Lorsque le build d&#8217;un projet est en échec, les photos des développeurs apparaissent (Visuwall utilise Gravatar).</li><li>Une configuration à base de TeamCity &amp; Sonar est désormais possible.</li></ul><p>Le <a
href="https://raw.github.com/awired/visuwall/develop/CHANGELOG.txt" rel="nofollow">changelog</a> complet est disponible pour également suivre la correction des bugs.</p><p>La version 0.4 est dores et déjà en développement, toutes propositions d&#8217;évolution ou de rapport de bugs sont les bienvenues via un mail à cette adresse: <a
href="mailto:visuwall.ci@gmail.com" rel="nofollow">visuwall.ci@gmail.com</a> ou directement via l&#8217;<a
href="https://github.com/awired/visuwall/issues" rel="nofollow">issue tracker Github du projet</a>.</p><p>Vous pouvez également nous suivre sur Twitter : <a
href="https://twitter.com/visuwallci" rel="nofollow">@visuwallci</a> et nous soumettre des photos de <a
href="http://awired.github.com/visuwall/photos.html" rel="nofollow">Visuwall en action</a> comme ci-dessous :</p><p><img
src="http://awired.github.com/visuwall/photo_tn/6488348309_0a4b56bc4d_b.jpg" style="border: 1px solid black" /></p><h3><a
name="Revuedepresse-Ev%C3%A9nementsdenotrecommunaut%C3%A9enFranceet%C3%A0l%27%C3%A9tranger"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="Revuedepresse-CommonCrawlCorpus%3Alewebdisponiblesurlesdisquesd%27AmazonWebService"></a>Common Crawl Corpus : le web disponible sur les disques d&#8217;Amazon Web Service</h4><p><a
href="http://hadoop.apache.org/" rel="nofollow">Hadoop</a> a été historiquement développé pour distribuer <a
href="http://nutch.apache.org/" rel="nofollow">Nutch</a>, un moteur de recherche open source. Hadoop vous permet désormais d&#8217;analyser facilement de gros volumes de données tel que l&#8217;ensemble des pages web. Obtenir celles-ci demande cependant plus d&#8217;effort. Il faut en effet mettre en place votre infrastructure pour crawler les sites qui vous intéressent et ceci n&#8217;est pas trivial. La fondation <a
href="http://www.commoncrawl.org/" rel="nofollow">Common Crawl</a> s&#8217;est donnée pour but de construire et maintenir un crawl de l&#8217;ensemble du web afin de créer une nouvelle vague d&#8217;innovation, d&#8217;éducation et de recherche. En effet, le web est une mine d&#8217;informations mais pour l&#8217;instant son exploitation se fait par un cercle restreint d&#8217;acteurs : Google, Bing, Yahoo&#8230;</p><p>Depuis le 20 janvier, le <a
href="http://aws.amazon.com/datasets/4174056542375970" rel="nofollow">corpus Common Crawl</a> est disponible au sein d&#8217;<a
href="http://aws.amazon.com/" rel="nofollow">Amazon Web Services</a>. Certains pourront s&#8217;étonner qu&#8217;il ne s&#8217;agisse pas d&#8217;un simple lien téléchargeable, mais la solution se veut pragmatique: en effet la taille du corpus (60 téraoctets) impose de stocker ces informations à proximité de leur lieu de traitement. Amazon, en tant que leader dans les solutions IaaS (EC2/MapReduce), est alors un choix qui se justifie. Le corpus contient 5 milliards de pages web. Ceci représente une fraction du web dont <a
href="http://www.worldwidewebsize.com/" rel="nofollow">la véritable taille reste à estimer</a>. Cet ensemble de données est donc amené à grossir davantage. Le corpus Common Crawl n&#8217;est pas un projet isolé et rejoint de <a
href="http://aws.amazon.com/datasets/" rel="nofollow">nombreux datasets hébergés également par Amazon</a> traitant de sujets variés allant des <a
href="http://aws.amazon.com/datasets/4383" rel="nofollow">variations du génome humain</a> au <a
href="http://aws.amazon.com/datasets/5621954952932508" rel="nofollow">graphe social de l&#8217;univers Marvel</a>.</p><div
class="shr-publisher-10387"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F01%2F24%2Frevue-de-presse-xebia-2012-04%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F01%2F24%2Frevue-de-presse-xebia-2012-04%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2012/01/24/revue-de-presse-xebia-2012-04/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/</link> <comments>http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/#comments</comments> <pubDate>Tue, 17 Jan 2012 05:39:54 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BigData]]></category> <category><![CDATA[Firebug]]></category> <category><![CDATA[Firefox]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[JUG]]></category> <category><![CDATA[Redis]]></category> <category><![CDATA[scala]]></category> <category><![CDATA[Spring]]></category> <category><![CDATA[Spring Data]]></category> <category><![CDATA[Spring Integration]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=10296</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Spring Integration 2.1 (Par Bertrand Dechoux) Spring Data Redis 1.0.0 (Par Bertrand Dechoux &#38; Mathieu Bigorne) &#171;&#160;Big Data&#160;&#187; par Nathan Marz et Sam Ritchie est disponible en MEAP (Par Bertrand Dechoux) Scalding, une API Scala pour Cascading par Twitter (Par [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/#Revuedepresse-SpringIntegration2.1">Spring Integration 2.1</a> <em>(Par <a
href="http://blog.xebia.fr/author/bdechoux/" rel="nofollow">Bertrand Dechoux</a>)</em></li><li><a
href="http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/#Revuedepresse-SpringDataRedis1.0.0">Spring Data Redis 1.0.0</a> <em>(Par <a
href="http://blog.xebia.fr/author/bdechoux/" rel="nofollow">Bertrand Dechoux</a> &amp; <a
href="https://twitter.com/#!/mbigorne" rel="nofollow">Mathieu Bigorne</a>)</em></li><li><a
href="http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/#Revuedepresse-%22BigData%22parNathanMarzetSamRitchieestdisponibleenMEAP">&laquo;&nbsp;Big Data&nbsp;&raquo; par Nathan Marz et Sam Ritchie est disponible en MEAP</a> <em>(Par <a
href="http://blog.xebia.fr/author/bdechoux/" rel="nofollow">Bertrand Dechoux</a>)</em></li><li><a
href="http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/#Revuedepresse-Scalding%2CuneAPIScalapourCascadingparTwitter">Scalding, une API Scala pour Cascading par Twitter</a> <em>(Par <a
href="http://blog.xebia.fr/author/bdechoux/" rel="nofollow">Bertrand Dechoux</a>)</em></li><li><a
href="http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/#Revuedepresse-Firefox10sortiraenversionESR">Firefox 10 sortira en version ESR</a> <em>(Par Benoit Lemoine)</em></li><li><a
href="http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/#Revuedepresse-Firebug1.9.0">Firebug 1.9.0</a> <em>(Par <a
href="http://blog.xebia.fr/author/bdechoux/" rel="nofollow">Bertrand Dechoux</a>)</em></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/#Revuedepresse-Seren%3ASerializationEnhancer">Seren : Serialization Enhancer</a> <em>(Par <a
href="https://twitter.com/#!/jeanhelou" rel="nofollow">Jean Helou</a>)</em></li><li><a
href="http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/#Revuedepresse-Apologiedeslambdasdeblockspourjavascript">Apologie des lambdas de blocks pour javascript</a> <em>(Par <a
href="https://twitter.com/#!/jeanhelou" rel="nofollow">Jean Helou</a>)</em></li><li><a
href="http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/#Revuedepresse-Verbosit%C3%A9deslangagesdeprogrammation">Verbosité des langages de programmation</a> <em>(Par <a
href="http://blog.xebia.fr/author/omichallat/" rel="nofollow">Olivier Michallat</a>)</em></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/2012/01/17/revue-de-presse-xebia-2012-03/#Revuedepresse-L%27artisanat%2Cunm%C3%A9tierd%27avenir">L&#8217;artisanat, un métier d&#8217;avenir</a> <em>(Par <a
href="http://blog.xebia.fr/author/xbucchiotty/" rel="nofollow">Xavier Bucchiotty</a>)</em></li><li><a
href="http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/#Revuedepresse-UnesemainerichepourlesUserGroups">Une semaine riche pour les User Groups</a></li></ul><h3><a
name="Revuedepresse-Actualit%C3%A9%C3%A9diteurs%2FSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="Revuedepresse-SpringIntegration2.1"></a>Spring Integration 2.1</h4><p>Un an après la sortie en <a
href="http://blog.springsource.org/2010/11/23/spring-integration-2-0-ga-released" rel="nofollow">2.0</a>, <a
href="http://www.springsource.org/spring-integration" rel="nofollow">Spring Integration</a> est désormais disponible en version <a
href="http://blog.springsource.org/2012/01/09/spring-integration-2-1-is-now-ga" rel="nofollow">2.1</a>. On notera un <a
href="http://static.springsource.org/spring-integration/docs/2.1.x/reference/htmlsingle/#scripting" rel="nofollow">meilleur support des scripts</a> (Groovy, Ruby/JRuby, Python/Jython, et JavaScript) grâce à la <a
href="http://www.jcp.org/en/jsr/detail?id=223" rel="nofollow">JSR-223</a>. Il est ainsi possible de définir des &#8216;filters, splitters, routers, transformers&#8217; directement dans vos fichiers de configuration ou par l&#8217;intermédiaire de ressources, permettant de cette manière de recharger vos scripts à chaud. On notera également une meilleure intégration avec RabbitMQ/AMQP, GemFire, Redis et MongoDB.</p><h4><a
name="Revuedepresse-SpringDataRedis1.0.0"></a>Spring Data Redis 1.0.0</h4><p><a
href="http://www.springsource.org/spring-data/redis" rel="nofollow">Spring Data Redis</a> est sortie le mois dernier dans sa première version stable. Redis est une base de données clé-valeur avec d&#8217;excellentes performances qui peut stocker les types de données classiques (chaîne de caractères, liste, map &#8230;). Spring Data Redis fournit un niveau d&#8217;abstraction supplémentaire qui facilite l&#8217;interaction avec Redis. Cette version permet également d&#8217;utiliser Redis comme implémentation d&#8217;un cache via <a
href="http://static.springsource.org/spring-data/redis/docs/1.0.0.RELEASE/reference/redis.html#redis:support:cache-abstraction" rel="nofollow">l&#8217;abstraction de Spring</a>. Il s&#8217;agit de la première solution NoSql KeyValue supportée par <a
href="http://www.springsource.org/spring-data" rel="nofollow">Spring Data</a> mais <a
href="http://www.springsource.org/spring-data/riak" rel="nofollow">Riak</a> ne devrait pas se faire attendre longtemps.</p><h4><a
name="Revuedepresse-%22BigData%22parNathanMarzetSamRitchieestdisponibleenMEAP"></a>&laquo;&nbsp;Big Data&nbsp;&raquo; par Nathan Marz et Sam Ritchie est disponible en MEAP</h4><p>Big Data est un univers à part entière et rend non triviale la conception d&#8217;une architecture à la fois rapide (&laquo;&nbsp;temps réel&nbsp;&raquo;) et supportant de grandes volumétries. Deux ingénieurs de Twitter, Nathan Marz -créateur de <a
href="http://blog.xebia.fr/2011/11/07/storm-hadoop-map-reduce-en-temps-reel/" rel="nofollow">Storm</a>- et Sam Ritchie en dévoilent les principes dans <a
href="http://www.manning.com/marz/" rel="nofollow">&laquo;&nbsp;Big Data, Principles and best practices of scalable realtime data systems&nbsp;&raquo;</a>. Le livre n&#8217;est pour l&#8217;instant pas finalisé mais est disponible en MEAP (Manning Early Access Program). Le code bd50 vous permet de disposer d&#8217;une réduction de 50%.</p><h4><a
name="Revuedepresse-Scalding%2CuneAPIScalapourCascadingparTwitter"></a>Scalding, une API Scala pour Cascading par Twitter</h4><p><a
href="http://hadoop.apache.org/" rel="nofollow">Hadoop</a> est un acteur incontournable du BigData. Pour autant, peu vous vanteront la concision des traitements de données implémentés en se basant uniquement sur son API Java. De nombreuses solutions apparaissent pour combler ce manque. Certaines introduisent un nouveau langage comme <a
href="http://pig.apache.org/" rel="nofollow">Pig</a> et <a
href="http://hive.apache.org/" rel="nofollow">Hive</a>. D&#8217;autres proposent une API plus succincte, mais en gardant un langage complet, comme c&#8217;est le cas de <a
href="http://www.cascading.org/" rel="nofollow">Cascading</a>. Mecredi 11 Janvier, Twitter a rendu open source <a
href="https://dev.twitter.com/blog/scalding" rel="nofollow">Scalding</a>, son API Scala pour Cascading, simplifiant encore plus l&#8217;usage de MapReduce dans un environnement Scala. Pour les fans de Clojure, <a
href="https://github.com/nathanmarz/cascalog" rel="nofollow">Cascalog</a> est une solution similaire mais encore plus succincte. La version <a
href="http://groups.google.com/group/cascalog-user/browse_thread/thread/79e601af1ca9d3f1" rel="nofollow">1.8.5</a> est sortie le 4 Janvier.</p><h4><a
name="Revuedepresse-Firefox10sortiraenversionESR"></a>Firefox 10 sortira en version ESR</h4><p>La <a
href="http://blog.mozilla.com/blog/2012/01/10/delivering-a-mozilla-firefox-extended-support-release/" rel="nofollow">fondation Mozilla</a> a finalement décidé de maintenir 2 versions de Firefox en parallèle : la première suivra le cycle de livraison actuel (toutes les 6 semaines); alors que la seconde, plutôt à destination des entreprises, aura un cycle de livraison d&#8217;un an. Cette version ESR (Extended Support Release), dont Firefox 10 sera le premier représentant, sera maintenue avec les mises à jour de sécurité uniquement, le moteur de rendu et la gestion de plugin n&#8217;évoluant pas.</p><h4><a
name="Revuedepresse-Firebug1.9.0"></a>Firebug 1.9.0</h4><p>Pour les inconditionnels de Firefox, la <a
href="http://blog.getfirebug.com/2012/01/06/firebug-1-9-0" rel="nofollow">version 1.9.0 de Firebug</a> vient de sortir. On notera entre autres la possibilité de renvoyer les requêtes HTTP ou encore de visualiser les headers des réponses contenues dans le cache.</p><h3><a
name="Revuedepresse-Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="Revuedepresse-Seren%3ASerializationEnhancer"></a>Seren : Serialization Enhancer</h4><p><a
href="http://thecodersbreakfast.net/" rel="nofollow">Olivier Croisier</a> a annoncé cette semaine SEREN, une bibliothèque destinée à accélérer la sérialisation des objets en améliorant le traitement des wrappers numériques et des chaînes de caractères.<br
/> Prenant la forme d&#8217;un agent pour la JVM, SEREN peut s&#8217;utiliser sans modifier le code existant et peut être ajouté ou supprimé simplement en redémarrant la JVM.</p><p>Comme toute amélioration de performance, il s&#8217;agit d&#8217;un compromis: SEREN propose d&#8217;augmenter un peu la taille du flux binaire sérialisé en échange d&#8217;un gain de vitesse, un compromis que l&#8217;auteur recommande pour la sérialisation mémoire en citant EHCache. Il est possible de configurer les classes &laquo;&nbsp;améliorées&nbsp;&raquo; par SEREN au travers des fichiers de configuration et d&#8217;un mécanisme de filtre qui peut être étendu au besoin.</p><p>Retrouvez l&#8217;introduction de SEREN sur <a
href="http://thecodersbreakfast.net/index.php?post/2012/01/09/Introducing-Seren-the-serialization-speed-enhancer" rel="nofollow">son blog</a> et le code sur <a
href="https://github.com/oliviercroisier/seren" rel="nofollow">github</a>.</p><h4><a
name="Revuedepresse-Apologiedeslambdasdeblockspourjavascript"></a>Apologie des lambdas de blocks pour javascript</h4><p>Le working group ECMA, responsable de la définition du standard ECMAScript implémenté par javascript <a
href="http://wiki.ecmascript.org/doku.php?id=strawman:block_lambda_revival" rel="nofollow">envisage l&#8217;ajout de lambdas de blocks à javascript</a>, un ajout que <a
href="http://yehudakatz.com/" rel="nofollow">Yehuda Katz</a> défend dans un <a
href="http://yehudakatz.com/2012/01/10/javascript-needs-blocks/" rel="nofollow">article de blog</a> parfaitement illustré comparant ruby et javascript sur le terrain du <a
href="http://www.amazon.com/exec/obidos/ASIN/0137098731/wrrrldwideweb" rel="nofollow">principe de correspondance de Tennent</a>, des lambdas de fonctions et des lambdas de blocks.<br
/> Les exemples utilisés présentent des refactorings d&#8217;une forme canonique vers des formes idiomatiques dans les deux langages pour illustrer les principes mis en œuvre, une excellente introduction au sujet.</p><h4><a
name="Revuedepresse-Verbosit%C3%A9deslangagesdeprogrammation"></a>Verbosité des langages de programmation</h4><p>À l&#8217;heure où les comparaisons entre langages tournent souvent en guerres de clochers, <a
href="http://rethrick.com/#about" rel="nofollow">Dhanji R. Prasanna</a> (ancien employé de Google et membre du projet Guice) se livre à une analyse plus posée et réfléchie sur l&#8217;équilibre entre expressivité et lisibilité. Cet article se démarque par son pragmatisme, la pertinence des exemples choisis, et le recul évident de l&#8217;auteur sur un grand nombre de langages.</p><p>Lire <a
href="http://www.informit.com/articles/article.aspx?p=1824790" rel="nofollow">Languages, Verbosity, and Java</a>.</p><h3><a
name="Revuedepresse-Ev%C3%A9nementsdenotrecommunaut%C3%A9enFranceet%C3%A0l%27%C3%A9tranger"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="Revuedepresse-L%27artisanat%2Cunm%C3%A9tierd%27avenir"></a>L&#8217;artisanat, un métier d&#8217;avenir</h4><p>Plusieurs réflexions ont lieu en ce moment au sein de la communauté pour définir ce qu&#8217;est le métier de développeur. On en a parlé lors du <a
href="http://www.parisjug.org/xwiki/bin/view/Meeting/20111011" rel="nofollow">Paris JUG d&#8217;Octobre 2011</a>. Le mouvement de fond associé est bien sûr celui du Software Craftsmanship. Nous mettons cette semaine en avant deux entrées de blog pour nous aider à avancer sur le sujet.<br
/> Le <a
href="http://qahatesyou.com/wordpress/2012/01/software-development-is-neither-art-nor-science/" rel="nofollow">premier</a> article postule que le développement informatique ne peut-être vu ni comme un art ni une science. Pour l&#8217;auteur de ce blog, au titre provocateur, notre métier n&#8217;est pas purement un art car <b>le produit fini fait quelque chose</b> ni totalement une science car <b>il n&#8217;y a pas de loi universelle sur le développement, il peut y avoir autant de réponse qu&#8217;il y a de développeurs</b>. On peut accepter ces arguments ou pas. Mais au delà du pur débat d&#8217;idées on se rend compte qu&#8217;il est difficile d&#8217;expliquer un métier si complexe à une personne extérieure.</p><p>L&#8217;auteur revient aussi sur le caractère unique des réalisations informatiques, et unique dans sa réalisation comme ses défauts. Il porte l&#8217;empreinte des personnes qui l&#8217;ont réalisé. Nous avons tous notre propre expérience sur des outils, des méthodes, des technologies, et nous expérimentons quelques fois de nouvelles façons de faire. Cela rend la manière de réaliser le travail éphémère et inscrite dans un contexte.<br
/> C&#8217;est peut-être cela la différence entre produire et écrire du code. Une vision &laquo;&nbsp;industrialiste&nbsp;&raquo; de la production du code induit une idée de volume, de quantitatif. La production serait le résultat d&#8217;un processus établi au résultat attendu, le développeur n&#8217;étant que l&#8217;élément interchangeable de transformation de la spécification à la réalisation.<br
/> L&#8217;autre vision s&#8217;attache plus à l&#8217;aspect qualitatif et humain. Le travail est confié à une personne et est un élément prépondérant dans la rédaction d&#8217;une solution au problème donné. L&#8217;auteur d&#8217;un travail d&#8217;écriture de code se voit assigné une ligne directrice, à lui ensuite de tracer le meilleur chemin.</p><p>Le <a
href="http://www.hiltmon.com/blog/2012/01/11/it-should-only-take-you-a-few-hours-dot-dot-dot/" rel="nofollow">second billet</a> revient sur l&#8217;importance de s&#8217;appuyer sur des personnes qui savent faire les choses. Créer une table de toutes pièces pour le commun des mortels ne semble pas compliqué. Un menuisier professionnel aura lui une toute autre vision de la réalisation. Il pensera à adapter au mieux son savoir-faire au besoin précis du client, anticipera bien plus de problèmes, choisira avec soin les outils et matériaux employés.<br
/> Nous sommes dans un contexte qui nous oblige à réduire le temps nécessaire pour mettre à disposition de nouvelles fonctionnalités. Comment alors expliquer à un utilisateur que le changement de formule de calcul d&#8217;un champ dans un rapport peut prendre plusieurs heures? Échangeons alors sur nos visions des choses. Si le client ne veut pas d&#8217;une table qui dure un siècle, il n&#8217;y a pas de raison de la fabriquer. Si par contre, il n&#8217;en a pas conscience, discutons ensemble pour trouver la meilleure façon de la réaliser. C&#8217;est en travaillant ensemble que le résultat sera celui attendu.</p><h4><a
name="Revuedepresse-UnesemainerichepourlesUserGroups"></a>Une semaine riche pour les User Groups</h4><p>Cette semaine est riche en événements proposés par les UG. Il y en aura pour tous les goûts.</p><p>Ce soir, mardi 17 :</p><ul><li>Le <a
href="http://www.lyonjug.org/" rel="nofollow">Lyon JUG</a> propose une soirée <a
href="http://www.lyonjug.org/evenements/perf-serveur" rel="nofollow">Performance des serveurs en Java</a> animée par <a
href="https://twitter.com/#!/ludomp" rel="nofollow">Ludovic Poitou</a>.</li><li>Le <a
href="http://www.normandyjug.org/" rel="nofollow">Normandie JUG</a> propose une <a
href="http://www.normandyjug.org/2012/01/09/soiree-annotation-avec-olivier-croisier-2/" rel="nofollow">soirée Annotation</a> animée par <a
href="https://twitter.com/#!/oliviercroisier" rel="nofollow">Olivier Croisier</a>.</li></ul><p>Le mercredi 18, <a
href="http://www.alpesjug.org/" rel="nofollow">l&#8217;Alpes JUG</a> propose une soirée <a
href="http://www.jugevents.org/jugevents/event/show.html?id=43468" rel="nofollow">Objectif Cloud</a> avec <a
href="https://twitter.com/#!/paulsandoz" rel="nofollow">Paul Sandoz</a> et <a
href="https://twitter.com/#!/ndeloof" rel="nofollow">Nicolas De Loof</a>.</p><p>Le jeudi 19 :</p><ul><li>Le <a
href="http://www.meetup.com/Paris-Groovy-Grails/" rel="nofollow">Paris Groovy and Grails User Group</a> accueille<a
href="https://it.twitter.com/#!/CedricChampeau" rel="nofollow">Cédric Champeau</a> sur le thème <a
href="http://www.meetup.com/Paris-Groovy-Grails/events/45108892/" rel="nofollow">Groovy 2.0 : un pas vers le typage statique</a>.</li><li>Le <a
href="http://toulousejug.org/" rel="nofollow">Toulouse JUG</a> organise une <a
href="http://toulousejug.org/2012/01/05/soiree-grails-le-1901-a-lepitech/" rel="nofollow">soirée Grails</a> animée par <a
href="https://twitter.com/#!/chipeau" rel="nofollow">Vincent Barrier</a> et <a
href="http://www.linkedin.com/pub/franck-silvestre/22/737/107" rel="nofollow">Franck Silvestre</a>.</li><li>Le <a
href="http://www.meetup.com/Android-Paris/" rel="nofollow">Paris Android User Group</a> propose une <a
href="http://www.meetup.com/Android-Paris/events/46922312/" rel="nofollow">conférence sur Ice Cream Sandwich</a> animée par <a
href="http://leo.cacheux.net/" rel="nofollow">Léo Cacheux</a> et <a
href="https://twitter.com/#!/madCdan" rel="nofollow">Daniel Fages</a>.</li><li>Le <a
href="http://bordeauxjug.org/" rel="nofollow">Bordeaux JUG</a> accueilleura <a
href="https://twitter.com/#!/rmat0n" rel="nofollow">Romain Maton</a> pour une soirée <a
href="http://bordeauxjug.org/20120119_Optimisez_votre_site_mobile" rel="nofollow">Optimisez votre site web sur mobile</a>.</li><li>Le <a
href="http://www.marsjug.org/" rel="nofollow">Mars JUG</a> propose une <a
href="http://www.jugevents.org/jugevents/event/show.html?id=43373" rel="nofollow">soirée EclipseLink</a> animée par <a
href="https://twitter.com/#!/shaunmsmith" rel="nofollow">Shaun Smith</a>.</li></ul><p>Pour vous tenir à jour, suivez le <a
href="https://sites.google.com/site/duchessfr/calendrier-conferences" rel="nofollow">calendrier de conférences maintenu par Duchess France</a>.</p><div
class="shr-publisher-10296"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F01%2F17%2Frevue-de-presse-xebia-2012-03%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F01%2F17%2Frevue-de-presse-xebia-2012-03%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2012/01/17/revue-de-presse-xebia-2012-03/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2012/01/10/revue-de-presse-xebia-2012-02/</link> <comments>http://blog.xebia.fr/2012/01/10/revue-de-presse-xebia-2012-02/#comments</comments> <pubDate>Tue, 10 Jan 2012 05:49:57 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[CouchBase]]></category> <category><![CDATA[CouchDB]]></category> <category><![CDATA[Duchess]]></category> <category><![CDATA[Infinitest]]></category> <category><![CDATA[Paris JUG]]></category> <category><![CDATA[Paris Software Craftsmanship Community]]></category> <category><![CDATA[scala]]></category> <category><![CDATA[Sécurité]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=10225</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Le coin de la technique Infinitest supporte scala CouchBase et CouchDB (par Xavier Bucchiotty) Alerte de sécurité sur la quasi totalité des serveurs web (par Pierre Laporte) Evénements de notre communauté en France et à l&#8217;étranger Lancement de la communauté Software Craftsmanship de Toulouse [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2012/01/10/revue-de-presse-xebia-2012-02/#Infinitestsupportescala">Infinitest supporte scala</a></li><li><a
href="http://blog.xebia.fr/2012/01/10/revue-de-presse-xebia-2012-02/#CouchBaseetCouchDB">CouchBase et CouchDB</a> <em>(par</em> <em><a
href="http://blog.xebia.fr/author/xbucchiotty/" rel="nofollow">Xavier Bucchiotty</a></em><em>)</em></li><li><a
href="http://blog.xebia.fr/2012/01/10/revue-de-presse-xebia-2012-02/#Alertedes%C3%A9curit%C3%A9surlaquasitotalit%C3%A9desserveursweb">Alerte de sécurité sur la quasi totalité des serveurs web</a> <em>(par</em> <em><a
href="https://twitter.com/#!/pingtimeout" rel="nofollow">Pierre Laporte</a></em><em>)</em></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/2012/01/10/revue-de-presse-xebia-2012-02/#Lancementdelacommunaut%C3%A9SoftwareCraftsmanshipdeToulouse">Lancement de la communauté Software Craftsmanship de Toulouse</a></li><li><a
href="http://blog.xebia.fr/2012/01/10/revue-de-presse-xebia-2012-02/#Cesoir%2C10janvier%2CParisJUGDevOpsetAvantJUGdesDuchess">Ce soir, 10 janvier, Paris JUG DevOps et Avant JUG des Duchess</a></li><li><a
href="http://blog.xebia.fr/2012/01/10/revue-de-presse-xebia-2012-02/#IntroductionauxDSLenGroovyauNantesJUGlejeudi12janvier">Introduction aux DSL en Groovy au Nantes JUG le jeudi 12 janvier</a></li></ul><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="Infinitestsupportescala"></a>Infinitest supporte scala</h4><p>Les dernières versions d&#8217;infinitest apportent des corrections pour intellij IDEA 11 et le support des projets Scala. Infinitest est <a
href="http://infinitest.github.com/" rel="nofollow">disponible sur github</a>.</p><h4><a
name="CouchBaseetCouchDB"></a>CouchBase et CouchDB</h4><p><a
href="http://damienkatz.net/2009/12/about_me.html" rel="nofollow">Damien Katz</a> est un des fondateurs du projet <a
href="http://couchdb.apache.org/" rel="nofollow">Apache CouchDB</a>. CouchDB fait partie de l&#8217;univers NoSQL, écrit en Erlang, orienté &#8216;document&#8217; avec des API basées sur Javascript et JSON. Dans <a
href="http://damienkatz.net/2012/01/the_future_of_couchdb.html" rel="nofollow">son blog</a>, il indique qu&#8217;une grande partie de l&#8217;équipe ainsi que lui-même quittent le projet pour fonder <a
href="http://www.couchbase.com/products-and-services/overview" rel="nofollow">Couchbase Server</a>, le successeur.<br
/> Ce changement signifie aussi que les produits Couchbase ne seront plus sous licence Apache. Damien Katz ne dénigre pas cette fondation, à qui le succès de CouchDB est intimement lié. Les produits CouchBase sont payants, et selon Damien Katz, l&#8217;approche par consensus des développeurs, si chère à Apache, est un frein à la compétitivité du produit.<br
/> Cette approche permet donc à l&#8217;équipe de servir au mieux ses clients avec une plus grande réactivité. Il assure cependant que l&#8217;équipe continue de contribuer à CouchDB qui se porte plutôt bien. Son but actuel est de porter la version 2.0 de CouchBase avec un portage d&#8217;une partie du code d&#8217;Erlang vers C/C++.<br
/> Affaire à suivre.</p><h4><a
name="Alertedes%C3%A9curit%C3%A9surlaquasitotalit%C3%A9desserveursweb"></a>Alerte de sécurité sur la quasi totalité des serveurs web</h4><p>Deux chercheurs en sécurité, Alexander Klink et Julian Wälde, ont relevé une faille de sécurité algorithmique dans la plupart des serveurs web du marché. Sont concernées, les plateformes Java, Python, Ruby, PHP, Node.JS et ASP.NET.</p><p>La vulnérabilité détectée est de type <a
href="http://perl.enstimac.fr/DocFr/perlsec.html#attaques par complexité algorithmique" rel="nofollow">attaque par complexité algorithmique</a>. Elle consiste à rechercher le pire scénario possible dans l’implémentation d’une fonctionnalité. Ici, les <a
href="http://en.wikipedia.org/wiki/Hash_table" rel="nofollow">hash tables</a> sont la cible de l’attaque.</p><p>Le principe est le suivant : lorsqu’un serveur reçoit une requête http qui contient n paramètres, il crée un tableau associatif avec pour clé, le nom du paramètre, et pour valeur, l’ensemble des valeurs reçues. La hash table résultante utilise le hachage du nom du paramètre pour déterminer son emplacement.</p><p>Dans le meilleur des cas, c&#8217;est-à-dire lorsqu’il n’existe pas deux paramètres ayant le même hachage, l’insertion d’un élément se fait en temps constant (en O( 1 )). Dans le pire des cas, elle se fait en temps linéaire (en O( n )).</p><p>Mais revenons à notre attaque. Il suffit de construire une requête HTTP avec un grand nombre de paramètres ayant tous le même hachage. Le serveur sera contraint de passer systématiquement par le pire des cas possibles pour l’insertion dans sa hash table. En prenant n paramètres, on arrive à une complexité de n(O( n )), c&#8217;est-à-dire O( n² ), la complexité quadratique. Il est donc possible de bloquer le CPU d’un serveur à 100% d’utilisation pendant plusieurs minutes.</p><p>A l’heure actuelle, certains serveurs ont été mis à jour pour limiter le nombre de paramètres HTTP pouvant être reçus par un serveur (1&#8217;000 pour <a
href="http://technet.microsoft.com/en-us/security/bulletin/ms11-100.mspx" rel="nofollow">ASP.NET</a>, 10&#8217;000 pour <a
href="http://www.kb.cert.org/vuls/id/DWAN-8PYMUS" rel="nofollow">Tomcat</a>, valeur non connue pour <a
href="http://www.php.net/archive/2011.php#id2011-12-25-1" rel="nofollow">PHP</a>). La vulnérabilité n’est donc pas totalement corrigée mais ses effets sont considérablement réduits. La correction complète impliquerait de rendre aléatoire le hachage des chaînes de caractères selon les plateformes par l’inclusion d’un seed. De ce fait, il ne serait plus possible de construire de telles collisions.</p><p>Notons qu’une correction est également en cours pour <a
href="http://www.securitytracker.com/id/1026476" rel="nofollow">Glassfish</a> et sera mise à disposition avec le prochain patch de sécurité.</p><h3><a
name="Ev%C3%A9nementsdenotrecommunaut%C3%A9enFranceet%C3%A0l%27%C3%A9tranger"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="Lancementdelacommunaut%C3%A9SoftwareCraftsmanshipdeToulouse"></a>Lancement de la communauté Software Craftsmanship de Toulouse</h4><p>La semaine dernière, <a
href="http://antoine.vernois.net/dotclear" rel="nofollow">Antoine Vernois</a> et <a
href="https://twitter.com/#!/thierrycros" rel="nofollow">Thierry Cros</a> ont organisé à Toulouse une réunion autour du Software Craftsmanship qui a réuni 15 personnes. Cette réunion marque le lancement de la <a
href="http://groups.google.com/group/software-craftsmanship-toulouse?pli=1" rel="nofollow">communauté Software Craftsmanship de Toulouse et de ses environs</a>.<br
/> Un premier événement est <a
href="http://www.doodle.com/fmaump9exenmypmz" rel="nofollow">en cours de planification</a> : Un <b>coding dojo au format randori</b>.<br
/> Vous trouverez plus de détails sur le blog d’Antoine : <a
href="http://antoine.vernois.net/dotclear/index.php?post/2012/01/09/Software-Craftsmanship-%C3%A0-Toulouse" rel="nofollow">La communauté Software Craftsmanship à Toulouse</a>.</p><h4><a
name="Cesoir%2C10janvier%2CParisJUGDevOpsetAvantJUGdesDuchess"></a>Ce soir, 10 janvier, Paris JUG DevOps et Avant JUG des Duchess</h4><p>Ce soir, le <a
href="http://parisjug.org/xwiki/bin/view/Meeting/20120110" rel="nofollow">premier Paris JUG de l’année</a> sera consacré à <a
href="http://blog.xebia.fr/tag/devops/" rel="nofollow">DevOps</a> avec une session <b>Packaging natif</b> par <a
href="http://parisjug.org/xwiki/bin/view/Speaker/GomezHenri" rel="nofollow">Henri Gomez</a> et une session <b>Puppet</b> par <a
href="http://parisjug.org/xwiki/bin/view/Speaker/SanchezCarlos" rel="nofollow">Carlos Sanchez</a>.<br
/> Les <a
href="http://jduchess.org/duchess-france/" rel="nofollow">Duchess</a> reprennent également les bonnes habitudes avec le <a
href="http://jduchess.org/duchess-france/blog/avant-jug-2012-01/" rel="nofollow">premier Avant JUG de l’année</a>.</p><h4><a
name="IntroductionauxDSLenGroovyauNantesJUGlejeudi12janvier"></a>Introduction aux DSL en Groovy au Nantes JUG le jeudi 12 janvier</h4><p>Le <a
href="https://sites.google.com/site/nantesjug/Home" rel="nofollow">Nantes JUG</a> commence l’année 2012 ce jeudi 12 avec une soirée <b>Introduction aux DSL (Domain Specific Languages) en Groovy</b> présentée par <a
href="https://twitter.com/#!/CedricChampeau" rel="nofollow">Cédric Champeau</a>, senior software developer chez <a
href="http://www.springsource.com/fr" rel="nofollow">SpringSource</a>.<br
/> <a
href="http://jugevents.org/jugevents/event/43326" rel="nofollow">Les inscriptions sont ouvertes sur JUG Events</a>.</p><div
class="shr-publisher-10225"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F01%2F10%2Frevue-de-presse-xebia-2012-02%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F01%2F10%2Frevue-de-presse-xebia-2012-02%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2012/01/10/revue-de-presse-xebia-2012-02/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2012/01/03/revue-de-presse-xebia-2012-01/</link> <comments>http://blog.xebia.fr/2012/01/03/revue-de-presse-xebia-2012-01/#comments</comments> <pubDate>Tue, 03 Jan 2012 22:06:07 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Gatling]]></category> <category><![CDATA[Hadoop]]></category> <category><![CDATA[JavaFX]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=10176</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Hadoop 1.0 (par Bertrand Dechoux) JavaFx 2.0.2 inclut dans Java 7u2 (par Romain Schlick) Sortie de Gatling 1.0 (par David Galichet) Actualité éditeurs / SSII Hadoop 1.0 Après six ans de gestation, Hadoop est enfin en 1.0.0! Cette release fut [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2012/01/03/revue-de-presse-xebia-2012-01/#Revuedepresse-Hadoop1.0">Hadoop 1.0</a> <em>(par <a
href="http://blog.xebia.fr/author/bdechoux/">Bertrand Dechoux</a>)</em></li><li><a
href="http://blog.xebia.fr/2012/01/03/revue-de-presse-xebia-2012-01/#Revuedepresse-JavaFx2.0.2inclusdansJava7u2">JavaFx 2.0.2 inclut dans Java 7u2</a> <em>(par <a
href="http://blog.xebia.fr/author/rschlick/">Romain Schlick</a>)</em></li><li><a
href="http://blog.xebia.fr/2012/01/03/revue-de-presse-xebia-2012-01/#Revuedepresse-SortiedeGatling1.0">Sortie de Gatling 1.0</a> <em>(par <a
href="http://blog.xebia.fr/author/dgalichet/">David Galichet</a>)</em></li></ul><h3><a
name="Revuedepresse-Actualit%C3%A9%C3%A9diteurs%2FSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="Revuedepresse-Hadoop1.0"></a>Hadoop 1.0</h4><p>Après six ans de gestation, Hadoop est enfin en 1.0.0! Cette release fut réalisée à partir de la version 0.20-security. On notera que:</p><ul><li><a
href="http://web.mit.edu/kerberos/www/" rel="nofollow">Kerberos </a> peut être utilisé pour contrôler les accès;</li><li><a
href="http://hortonworks.com/webhdfs-%E2%80%93-http-rest-access-to-hdfs/" rel="nofollow">webhdfs, une API Rest sécurisée</a> permet un accès plus simple à HDFS;</li><li>l&#8217;accès aux fichiers locaux par <a
href="http://hbase.apache.org/" rel="nofollow">HBase </a> est plus performant.</li></ul><p>Diverses améliorations de performance, corrections de bug et fonctionnalités font également partie de cette mouture, dont le détail se trouve dans les <a
href="http://hadoop.apache.org/common/docs/r1.0.0/releasenotes.html" rel="nofollow">notes de release</a>.</p><h4><a
name="Revuedepresse-JavaFx2.0.2inclusdansJava7u2"></a>JavaFx 2.0.2 inclut dans Java 7u2</h4><p>Décidément, ça bouge beaucoup du côté de <a
href="http://javafx.com/" rel="nofollow">JavaFx 2</a>. Après une <em>early access release</em> de la version 2.1 <a
href="http://fxexperience.com/2011/12/javafx-2-1-early-access-for-windows-build-06-now-available/" rel="nofollow">sortie récemment</a>, une nouvelle <a
href="http://www.infoq.com/news/2011/12/javafx-java7" rel="nofollow">annonce</a> vient d&#8217;être faite. JavaFx est intégré directement dans la nouvelle version de Java 7 update 2.<br
/> Ainsi, le JDK intègre le SDK de JavaFx, pendant que le JRE intègre son runtime.</p><p>Oracle a toujours l&#8217;intention de rendre open source l&#8217;intégralité de ce projet en l&#8217;intégrant à OpenJDK sous le nom de <a
href="http://openjdk.java.net/projects/openjfx/" rel="nofollow">OpenJFX</a>. Une JSR dédiée devrait même apparaître pour Java SE 9.</p><p>L&#8217;avenir des applications web semble se tourner vers HTML 5. On voit aussi que les RIA tel que Flex ou Silverlight sont en perte de vitesse. On peut se demander si JavaFx n&#8217;arrive pas trop tard ? La réponse serait que JavaFx se destine principalement aux applications desktop, qui ont toujours un rôle à jouer surtout que les API comme Swing ou SWT se font vieillissantes.</p><h4><a
name="Revuedepresse-SortiedeGatling1.0"></a>Sortie de Gatling 1.0</h4><p><a
href="https://github.com/excilys/gatling" rel="nofollow">Gatling</a> est un outil de test de stress (comme <a
href="http://jmeter.apache.org/" rel="nofollow">JMeter</a> ou <a
href="http://tsung.erlang-projects.org/" rel="nofollow">Tsung</a>).</p><p>Gatling est écrit en <a
href="http://www.scala-lang.org/" rel="nofollow">Scala</a>, utilise <a
href="http://www.jboss.org/netty" rel="nofollow">Netty</a> et <a
href="http://akka.io/" rel="nofollow">Akka</a>. Les scénarios de test peuvent être générés à l&#8217;aide d&#8217;un outil (non recommandé), écrits à l&#8217;aide d&#8217;une <a
href="http://en.wikipedia.org/wiki/Domain-specific_language" rel="nofollow">DSL</a> ou encore implémentés directement en Scala. Cette dernière option offre un grand nombre de possibilités comme requêter une base de données pour récupérer des données et constituer des jeux de test par exemple.</p><p>Gatling a été conçu dès le départ comme une solution de test haute performance, ce qui lui permet de simuler un grand nombre de clients tout en consommant peu de ressources. Il comble un défaut souvent reproché à JMeter qui était de consommer parfois plus de ressources que la cible que l&#8217;on souhaite tester.</p><p>Gatling enregistre les différentes sessions de test dans un fichier de log qui est ensuite analysé pour générer une série de graphes montrant les différents temps de réponse (global, par type de requête), les erreurs, les taux de succès etc&#8230; Vous trouverez de plus amples informations dans son <a
href="https://github.com/excilys/gatling/wiki/Basic-Usage" rel="nofollow">aide en ligne</a>.</p><div
class="shr-publisher-10176"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F01%2F03%2Frevue-de-presse-xebia-2012-01%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2012%2F01%2F03%2Frevue-de-presse-xebia-2012-01%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2012/01/03/revue-de-presse-xebia-2012-01/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/12/27/revue-de-presse-xebia-2011-53/</link> <comments>http://blog.xebia.fr/2011/12/27/revue-de-presse-xebia-2011-53/#comments</comments> <pubDate>Tue, 27 Dec 2011 08:00:00 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Ceylon]]></category> <category><![CDATA[MongoDB]]></category> <category><![CDATA[Spring Data]]></category> <category><![CDATA[WebStorm]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=10159</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Ceylon &#171;&#160;Newton&#160;&#187; M1 est disponible WebStorm 3.0 est disponible &#33; Google sera le moteur de recherche par défaut de Firefox pour 3 ans Spring est sur GitHub Sortie de Spring Data Mongo 1.0 Actualité éditeurs / SSII Ceylon &#171;&#160;Newton&#160;&#187; M1 [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/12/27/revue-de-presse-xebia-2011-53/#Revuedepresse-Ceylon%22Newton%22M1estdisponible">Ceylon &laquo;&nbsp;Newton&nbsp;&raquo; M1 est disponible</a></li><li><a
href="http://blog.xebia.fr/2011/12/27/revue-de-presse-xebia-2011-53/#Revuedepresse-WebStorm3.0estdisponible%5C%21">WebStorm 3.0 est disponible &#33;</a></li><li><a
href="http://blog.xebia.fr/2011/12/27/revue-de-presse-xebia-2011-53/#Revuedepresse-Googleseralemoteurderecherchepard%C3%A9fautdeFirefoxpour3ans">Google sera le moteur de recherche par défaut de Firefox pour 3 ans</a></li><li><a
href="http://blog.xebia.fr/2011/12/27/revue-de-presse-xebia-2011-53/#Revuedepresse-SpringestsurGitHub">Spring est sur GitHub</a></li><li><a
href="http://blog.xebia.fr/2011/12/27/revue-de-presse-xebia-2011-53/#Revuedepresse-SortiedeSpringDataMongo1.0">Sortie de Spring Data Mongo 1.0</a></li></ul><h3><a
name="Revuedepresse-Actualit%C3%A9%C3%A9diteurs%2FSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="Revuedepresse-Ceylon%22Newton%22M1estdisponible"></a>Ceylon &laquo;&nbsp;Newton&nbsp;&raquo; M1 est disponible</h4><p>Ceylon est un langage de programmation fortement et statiquement typé destiné à la JVM, interopérable avec java, concurrent direct de Scala et de Clojure et soutenu par JBoss. <a
href="http://relation.to/Bloggers/Gavin" rel="nofollow">Gavin King</a> (créateur d&#8217;Hibernate et de Seam) et son équipe <a
href="http://ceylon-lang.org/blog/2011/12/20/ceylon-m1-newton/" rel="nofollow">ont annoncé</a> la mise à dispostion de la <a
href="http://ceylon-lang.org/documentation/roadmap/#milestone_1" rel="nofollow">première release officielle de Ceylon</a>. Cette première version executable du langage est dotée de nombreuses fonctionalités :</p><ul><li>Utilisation de classes pour les types primitifs de la JVM</li><li>Inférence des types et du typage des arguments</li><li>Paramètres optionnels avec valeur par défaut</li><li>Argument nommés</li><li>Types intersection, union et type vide</li><li>Typage statique de la valeur <code>null</code> et des séquences vides</li><li>Fonctions imbriquées</li><li>Immutabilité par défault</li><li>&#8230;</li></ul><p>Même s&#8217;il manque encore quelques fonctionnalités présentes dans Java (enums, user-defined annotations et la réflexivité), le langage propose déjà des améliorations dans plusieurs domaines. Ajoutons que ce n&#8217;est que la première version (Milestone 1) et que la liste de fonctionnalités à venir est encore longue. Vous pouvez télécharger <a
href="http://ceylon-lang.org/download/" rel="nofollow">le langage</a> et son <a
href="https://github.com/ceylon" rel="nofollow">code source</a>, ou encore consulter <a
href="http://ceylon-lang.org/documentation/roadmap/" rel="nofollow">la roadmap</a> pour voir toutes les fonctionnalités à venir.</p><p>Sur <a
href="http://groups.google.com/group/ceylon-dev/browse_thread/thread/b8458aa5e4edf33f?pli=1" rel="nofollow">le google group ceylon-dev</a>, Gavin King indique sa volonté de sortir une nouvelle version &laquo;&nbsp;Milestone&nbsp;&raquo; tous les deux mois, jusqu&#8217;à atteindre la M5, qui sera la version 1.0 de Ceylon.</p><p>En même temps que cette première version du langage, <a
href="http://ceylon-lang.org/documentation/ide/" rel="nofollow">un plugin eclipse 3.7</a> en béta a été mis à disposition des curieux.</p><h4><a
name="Revuedepresse-WebStorm3.0estdisponible%5C%21"></a>WebStorm 3.0 est disponible !</h4><p>C&#8217;est au tour de <a
href="http://www.jetbrains.com/" rel="nofollow">JetBrains</a> d&#8217;offrir un joli cadeau de Noël aux amateurs de JavaScript !</p><p><a
href="http://www.jetbrains.com/webstorm/index.html" rel="nofollow">WebStorm</a>, un IDE JavaScript basé sur IDEA IntelliJ, est désormais disponible en v3.0 avec de nombreuses améliorations :</p><ul><li>Validation et mode debug des fichiers javascript pour <a
href="http://nodejs.org/" rel="nofollow">Node.js</a></li><li>Vérification de la qualité du code intégrée grace à <a
href="http://www.jslint.com/" rel="nofollow">JSLint</a></li><li>Support des tests unitaires via <a
href="http://code.google.com/p/js-test-driver/" rel="nofollow">JsTestDriver</a></li><li>Détection des duplications de code Javascript, CSS et HTML</li><li>Support du langage <a
href="http://coffeescript.org/" rel="nofollow">CoffeeScript</a></li><li>Améliorations du debugger Javascript</li><li>&#8230;</li></ul><p>Contrairement à IntelliJ, il n&#8217;existe pas de version gratuite pour WebStorm. Une version d&#8217;évaluation de 30 jours est néanmoins disponible. Notons que des tarifs réduits sont pratiqués pour la sortie de cette nouvelle mouture.</p><p>JetBrains a également annoncé que la sortie de WebStorm 3.5 se fera au premier trimestre 2012.</p><p>Le langage JavaScript est décidément de plus en plus populaire et incontournable. Nul doute que cette popularité ne s&#8217;estompera pas en 2012, tant le web est un sujet en ébullition.</p><h4><a
name="Revuedepresse-Googleseralemoteurderecherchepard%C3%A9fautdeFirefoxpour3ans"></a>Google sera le moteur de recherche par défaut de Firefox pour 3 ans</h4><p>Le 20 décembre, Mozilla a annoncé que Google sera <a
href="http://blog.mozilla.com/blog/2011/12/20/mozilla-and-google-sign-new-agreement-for-default-search-in-firefox/" rel="nofollow">le moteur de recherche par défaut de Firefox pour 3 ans</a>. Cela fait suite à un accord dont les détails, financiers entre autre, restent bien sur confidentiels. C&#8217;est un événement important, indépendamment du navigateur que vous utilisez. En effet, Mozilla est une fondation à but non lucratif, ce qui n&#8217;est pas le cas des acteurs principaux du marché des navigateurs ou de la recherche : Microsoft, Google, Apple.</p><h4><a
name="Revuedepresse-SpringestsurGitHub"></a>Spring est sur GitHub</h4><p>Cela faisait longtemps que certains projects du framework Spring étaient sur GitHub. Voici <a
href="http://blog.springsource.org/2011/12/21/spring-framework-moves-to-github/" rel="nofollow">l&#8217;annonce officielle</a> dans laquelle SpringSource explique ce mouvement afin d&#8217;être plus proche des contributeurs grâce aux fonctionnalités offertes par GitHub. Cela ne vous empêchera cependant pas de devoir <a
href="https://simerfoxy.appspot.com/support.springsource.com/spring_committer_signup" rel="nofollow">signer un accord</a> pour toutes les contributions &#8216;non triviales&#8217;.</p><h4><a
name="Revuedepresse-SortiedeSpringDataMongo1.0"></a>Sortie de Spring Data Mongo 1.0</h4><p>Utiliser Mongo DB depuis le framework Spring est devenu encore plus facile avec <a
href="http://www.springsource.org/node/3346" rel="nofollow">la sortie de Spring Data Mongo 1.0</a>. Ce cadeau de Noël contient :</p><ul><li>un template, <a
href="http://static.springsource.org/spring-data/data-mongo/docs/current/api/org/springframework/data/mongodb/core/MongoTemplate.html" rel="nofollow">MongoTemplate</a>, pour faciliter les opérations classiques, avec <a
href="http://static.springsource.org/spring-data/data-document/docs/current/reference/html/#mongodb-template-query" rel="nofollow">une API fluide</a> pour vos cas plus complexes;</li><li>un namespace, <a
href="http://static.springsource.org/spring-data/data-document/docs/current/reference/html/#d0e1113" rel="nofollow">mongo</a>, permettant une configuration succinte des instances, de la réplication et du monitoring mais également d&#8217;<a
href="http://static.springsource.org/spring-data/data-document/docs/current/reference/html/#d0e2718" rel="nofollow">enregistrer vos propres converteurs</a> si la <a
href="http://static.springsource.org/spring-data/data-document/docs/current/reference/html/#mapping-chapter" rel="nofollow">configuration du mapping par metadata</a> ne convient pas à votre contexte;</li><li>un support avancé des repositories grace à Spring Data: on notera par exemple le fait qu&#8217;il suffit de <a
href="http://static.springsource.org/spring-data/data-document/docs/current/reference/html/#mongodb.repositories.queries" rel="nofollow">déclarer dans une interface votre requête suivant une convention définie</a> et que le framework se chargera de l&#8217;implementation, qui est &#8216;juste&#8217; une transformation du nom de la méthode;</li><li>le <a
href="http://static.springsource.org/spring-data/data-document/docs/current/reference/html/#d0e3327" rel="nofollow">support de QueryDSL</a> pour ceux qui préféreraient une approche plus <em>type safe</em>;</li><li>un appender vers mongo pour log4j : <a
href="http://static.springsource.org/spring-data/data-document/docs/current/reference/html/#mongodb:logging-configuration" rel="nofollow">MongoLog4jAppender</a>;</li><li>un support pour de la <a
href="http://static.springsource.org/spring-data/data-document/docs/current/reference/html/#mongo.cross.store" rel="nofollow">persistance cross-store</a> JPA + Mongo DB, permettant ainsi de prendre le meilleur du monde relationnel et NoSQL pour vos requêtes.</li></ul><div
class="shr-publisher-10159"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F12%2F27%2Frevue-de-presse-xebia-2011-53%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F12%2F27%2Frevue-de-presse-xebia-2011-53%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/12/27/revue-de-presse-xebia-2011-53/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/12/20/revue-de-presse-xebia-2011-52/</link> <comments>http://blog.xebia.fr/2011/12/20/revue-de-presse-xebia-2011-52/#comments</comments> <pubDate>Tue, 20 Dec 2011 08:30:00 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Grails]]></category> <category><![CDATA[Mockito]]></category> <category><![CDATA[RichFaces]]></category> <category><![CDATA[Ubuntu]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=10020</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Ubuntu: attention, désactivation de Oracle Java RIA Sortie de RichFaces 4.1.0 Le coin de la technique Grails 2 Mockito 1.9.0 Actualité éditeurs / SSII Ubuntu: attention, désactivation de Oracle Java Dans un souci de sécurité, Canonical, la société derrière la [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/12/20/revue-de-presse-xebia-2011-52/#Revuedepresse-Ubuntu%3Aattention%2Cd%C3%A9sactivationdeOracleJava">Ubuntu: attention, désactivation de Oracle Java</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/12/20/revue-de-presse-xebia-2011-52/#Revuedepresse-SortiedeRichFaces4.1.0">Sortie de RichFaces 4.1.0</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/12/20/revue-de-presse-xebia-2011-52/#Revuedepresse-Grails2">Grails 2</a></li><li><a
href="http://blog.xebia.fr/2011/12/20/revue-de-presse-xebia-2011-52/#Revuedepresse-Mockito1.9.0">Mockito 1.9.0</a></li></ul><h3><a
name="Revuedepresse-Actualit%C3%A9%C3%A9diteurs%2FSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="Revuedepresse-Ubuntu%3Aattention%2Cd%C3%A9sactivationdeOracleJava"></a>Ubuntu: attention, désactivation de Oracle Java</h4><p>Dans un souci de sécurité, Canonical, la société derrière la distribution Linux Ubuntu, <a
href="https://lists.ubuntu.com/archives/ubuntu-security-announce/2011-December/001528.html" rel="nofollow">vient d&#8217;annoncer</a> qu&#8217;elle venait de désactiver le plugin Java des navigateurs Internet fournis avec le JDK de Sun. Cette modification a été réalisée par le biais d&#8217;une mise à jour de sécurité remplaçant le package existant par un package vide. La société a aussi annoncé que dans un futur proche, ce serait tout le JDK qui serait &laquo;&nbsp;neutralisé&nbsp;&raquo; de la sorte.<br
/> Si une telle intervention peut sembler une atteinte à la vie privée et rappellera pour certains <a
href="http://www.lemonde.fr/technologies/article/2009/07/22/amazon-jette-1984-dans-le-trou-de-memoire_1221324_651865.html" rel="nofollow">l&#8217;affaire Amazon/1984</a>, il faut bien comprendre que Canonical n&#8217;avait pas le choix:</p><ul><li>d&#8217;un coté, Oracle a retiré aux distributeurs d&#8217;OS le droit de redistribuer le JDK 6 dans sa version Oracle ex-Sun;</li><li>d&#8217;un autre côté, une faille de sécurité ayant été découverte, Canonical ne pouvait pas laisser des millions de machines exposées comme ça.</li></ul><p>Maintenant, plusieurs solutions s’offrent à ceux qui ont besoin de Java:</p><ul><li>passer sous OpenJDK, dans sa version 6 ou 7 et espérer ne pas tomber sur l&#8217;un des rares problèmes d&#8217;incompatibilité avec le JDK 6 version Sun,</li><li>télécharger manuellement depuis <a
href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" rel="nofollow">le site d&#8217;Oracle</a> le JDK 6, avec pour conséquence l&#8217;absence de mises à jour automatiques.</li></ul><p>Nombre d&#8217;utilisateurs risquent donc de se retrouver du jour au lendemain avec des applications non fonctionnelles. Vous savez ce qui vous reste à faire face au problème: installer OpenJDK et&#8230; croiser les doigts !</p><h3><a
name="Revuedepresse-RIA"></a>RIA</h3><h4><a
name="Revuedepresse-SortiedeRichFaces4.1.0"></a>Sortie de RichFaces 4.1.0</h4><p>JBoss vient d&#8217;annoncer la sortie de <a
href="http://blog.bleathem.ca/2011/12/richfaces-410final-release-announcement.html" rel="nofollow">Richfaces 4.1</a>. Pour rappel, Richfaces est un framework de composants riches avec support d&#8217;Ajax pour les applications web JSF.<br
/> Au menu, on constate de nombreuses nouveautés, comme:</p><ul><li>De nouveaux composants issus de Richfaces 3 qui n&#8217;avaient pas encore été migrés: <em>editor</em>, <em>pick list</em>, et <em>ordering list</em>.</li><li>Un nouveau composant <em>notify</em> pour afficher des messages de notification autrement qu&#8217;avec le composant <em>rich:message</em>.</li><li>Correction de bugs et amélioration sur les composants suivants: <em>push</em>, <em>fileUpload</em>, <em>drag and drop</em> et <em>extendedDataTable</em>.</li><li>Optimisation de nombreux composants (HTML5 et CSS3) pour le mobile, qui ne fonctionnaient pas ou mal. La liste complète est accessible <a
href="http://community.jboss.org/wiki/RichFaces410xMobileSkinPlanningDesign" rel="nofollow">ici</a>.</li><li>Optimisation des resources javascript et css (minification principalement) pour améliorer les performances sur mobiles.</li><li>Migration des sources du projet vers GitHub.</li></ul><p>On peut donc voir que l&#8217;équipe a mis l&#8217;accent sur la compatibilité et l&#8217;utilisabilité de ses composants pour les mobiles. Il reste encore beaucoup de travail à accomplir et la taille des fichiers ressources javascript et css restent encore importantes pour le mobile (environ 500ko).</p><p>De nombreux reproches ont été faits sur JSF et ses différentes librairies de composants comme IceFaces, ou encore PrimeFaces. Malgré tout, de par sa maturité, son importante bibliothèque de composants, et la richesse de son API Ajax, RichFaces s&#8217;impose de plus en plus. Un show-case des composants est accessible <a
href="http://showcase.richfaces.org/" rel="nofollow">ici</a>.</p><h3><a
name="Revuedepresse-Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="Revuedepresse-Grails2"></a>Grails 2</h4><p>Grails est un framework web dont le but est de booster la productivité du développeur en suivant le principe du <em>convention over configuration</em>. <a
href="http://blog.springsource.org/2011/12/15/grails-2-0-released/" rel="nofollow">La nouvelle version</a> du framework de SpringSource est sortie la semaine dernière apportant son lot de nouveautés.</p><p>Au menu :</p><ul><li>Bien sûr, la montée en version des différentes librairies: Groovy 1.8, Spring 3.1, Hibernate 3.6;</li><li>Mode interactif pour le lancement des commandes, avec complétion permettant de créer rapidement les classes de notre application (create-controller, create-domain-class &#8230;). Les commandes sont lancées dans la même JVM ce qui réduit considérablement le temps d’exécution;</li><li>Amélioration du rechargement à chaud des classes ce qui évitera de nombreux redémarrages (sur les classes du modèle par exemple);</li><li>Meilleure remontée des erreurs dans le navigateur (comparable à ce que propose <a
href="http://www.playframework.org/" rel="nofollow">Play! Framework</a>);</li><li>Accès à la console d&#8217;admin de la base H2 depuis le navigateur;</li><li>Scaffolding Html 5 avec jQuery par défaut (en remplacement de Prototype);</li><li>On a maintenant le choix dans l&#8217;implémentation de GORM utilisée. Par exemple, <a
href="http://springsource.github.com/grails-data-mapping/mongo/index.html" rel="nofollow">une version pour MongoDB</a> qui se base sur Spring data est en cours de développement.</li></ul><p>Dans le même temps, <a
href="http://blog.cloudfoundry.com/post/14179883461/cloud-foundry-ready-for-spring-3-1-and-grails-2-0" rel="nofollow">Cloud Foundry</a> et <a
href="http://blog.heroku.com/archives/2011/12/15/grails/" rel="nofollow">Heroku</a> ont déjà annoncé qu&#8217;ils supportaient Grails 2. Côté IDE, les dernières versions de STS (2.9.0.M1) et d&#8217;IntelliJ supportent Grails 2. Pour migrer vos applications vers Grails 2, <a
href="http://grails.org/doc/2.0.0/guide/gettingStarted.html#upgradingFromPreviousVersionsOfGrails" rel="nofollow">la liste des changements</a> est consultable, <a
href="http://adhockery.github.com/blog/2011/11/29/grails-2-upgrade-part-1/" rel="nofollow">les premiers retours</a> semblent montrer que le travail de migration est limité.</p><p>Pour en savoir encore plus, InfoQ a réalisé pour l&#8217;occasion <a
href="http://www.infoq.com/news/2011/12/groovy-on-rails-2" rel="nofollow">une interview</a> de Peter Ledbrook, l&#8217;une des personnalités historiques de Grails.</p><p>On attend maintenant la réponse de Play!, actuellement en béta et dont la <a
href="http://www.playframework.org/2.0" rel="nofollow">version 2</a> sortira à une date encore inconnue.</p><h4><a
name="Revuedepresse-Mockito1.9.0"></a>Mockito 1.9.0</h4><p>Cette librairie conçue pour faciliter l&#8217;usage des mocks arrive avec de nouvelles fonctionnalités.</p><ul><li>Des <a
href="http://docs.mockito.googlecode.com/hg/1.9.0-rc1/org/mockito/Mockito.html#23" rel="nofollow">annotations plus intelligentes</a> permettent l&#8217;injection par constructeur mais également l&#8217;instanciation d&#8217;objets.</li><li>Les stubs peuvent désormais être créés <a
href="http://docs.mockito.googlecode.com/hg/1.9.0-rc1/org/mockito/Mockito.html#24" rel="nofollow">en une seule ligne</a>.</li><li>La vérification peut désormais <a
href="http://docs.mockito.googlecode.com/hg/1.9.0-rc1/org/mockito/Mockito.html#25" rel="nofollow">ignorer les stubs</a>.</li></ul><p>Le style de la <a
href="http://docs.mockito.googlecode.com/hg/1.9.0/org/mockito/Mockito.html" rel="nofollow">javadoc</a> a également été amélioré. C&#8217;est le moment d&#8217;y faire un tour et de voir les fonctionnalités que vous avez pu louper. Par exemple, saviez-vous qu&#8217;il existait des <a
href="http://docs.mockito.googlecode.com/hg/1.9.0/org/mockito/Mockito.html#19" rel="nofollow">alias pour faire du BDD plus simplement avec Mockito</a>?</p><div
class="shr-publisher-10020"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F12%2F20%2Frevue-de-presse-xebia-2011-52%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F12%2F20%2Frevue-de-presse-xebia-2011-52%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/12/20/revue-de-presse-xebia-2011-52/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/12/14/revue-de-presse-xebia-2011-51/</link> <comments>http://blog.xebia.fr/2011/12/14/revue-de-presse-xebia-2011-51/#comments</comments> <pubDate>Wed, 14 Dec 2011 12:00:00 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Embers.js]]></category> <category><![CDATA[IntelliJ IDEA]]></category> <category><![CDATA[JavaOne]]></category> <category><![CDATA[Sonar]]></category> <category><![CDATA[Spring 3.1]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=9879</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Sonar 2.12 Jetbrains Intellij IDEA 11 Spring Framework 3.1 Le coin de la technique Embers.js Événements de notre communauté en France et à l&#8217;étranger JavaOne Latin America 2011 Actualité éditeurs / SSII Sonar 2.12 Une nouvelle version de sonar a [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/12/14/revue-de-presse-xebia-2011-51/#Revuedepresse-Sonar2.12">Sonar 2.12</a></li><li><a
href="http://blog.xebia.fr/2011/12/14/revue-de-presse-xebia-2011-51/#Revuedepresse-JetbrainsIntellijIDEA11">Jetbrains Intellij IDEA 11</a></li><li><a
href="http://blog.xebia.fr/2011/12/14/revue-de-presse-xebia-2011-51/#Revuedepresse-SpringFramework3.1">Spring Framework 3.1</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/12/14/revue-de-presse-xebia-2011-51/#Revuedepresse-Embers.js">Embers.js</a></li></ul><p><strong>Événements de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/12/14/revue-de-presse-xebia-2011-51/#Revuedepresse-JavaOneLatinAmerica2011">JavaOne Latin America 2011</a></li></ul><h3><a
name="Revuedepresse-Actualit%C3%A9%C3%A9diteurs%2FSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="Revuedepresse-Sonar2.12"></a>Sonar 2.12</h4><p>Une nouvelle version de <a
href="http://www.sonarsource.org" rel="nofollow">sonar</a> a été <a
href="http://www.sonarsource.org/downloads/#2.12" rel="nofollow">publiée</a>, elle apporte plusieurs <a
href="http://sonar-announce.439433.n3.nabble.com/Sonar-2-12-td3547473.html" rel="nofollow">changements intéressants</a>: </p><ul><li>Le support pour le code java 7</li><li>L&#8217;intégration native du plugin jacoco pour la couverture de code. Il ne remplace pas (encore?) le plugin par défaut cobertura</li><li>L&#8217;amélioration de la détection de duplication</li><li>&gt;100 améliorations et bugs corrigés</li></ul><h4><a
name="Revuedepresse-JetbrainsIntellijIDEA11"></a>Jetbrains Intellij IDEA 11</h4><p>La nouvelle version d&#8217;<a
href="http://www.jetbrains.com/idea/" rel="nofollow">Intellij IDEA</a> est disponible avec comme à son habitude son <a
href="http://www.jetbrains.com/idea/whatsnew/index.html" rel="nofollow">lot de nouveautés</a>:</p><ul><li>Amélioration des performances</li><li>Meilleure intégration sous Mac OS X et Linux</li><li>Support des dernières versions de framework : Groovy 2.0, Grails 2, Play! Framework, Android 4 &#8230;</li><li>Support de nouveaux serveurs d&#8217;applications : JBoss 7, Websphere 8</li></ul><h4><a
name="Revuedepresse-SpringFramework3.1"></a>Spring Framework 3.1</h4><p>&#8230; est enfin sorti! On notera :</p><ul><li>Une configuration adaptable selon l&#8217;environnement avec l&#8217;ajout de profils activables par propriété passée par ligne de commande, dans le web.xml ou programmatiquement.</li></ul><ul><li>La possibilité de supprimer de nombreux fichiers xml!<ul><li>Désormais vos contextes d&#8217;application peuvent être complètement décrits par des annotations, avec l&#8217;aide par exemple de @EnableTransactionManagement.</li><li>Le WebApplicationInitializer utilisant la spécification Servlet 3.0 (ServletContainerInitializer) permet de supprimer le web.xml et de faire la configuration programmatiquement.</li><li>Le scan de package JPA ne requiert plus de fichier persistence.xml.</li></ul></li></ul><ul><li>L&#8217;ajout d&#8217;une abstraction pour ajouter facilement du cache.</li></ul><ul><li>Support de Java 7 première-classe : JDBC 4.1 et configuration simple de ForkJoinPool.</li></ul><p>Le tout est compatible Spring 3.0 et nécessite au minimum java 5 et Servlet 2.4.</p><h3><a
name="Revuedepresse-Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="Revuedepresse-Embers.js"></a>Embers.js</h4><p>Nouvellement annoncé par <a
href="http://yehudakatz.com/" rel="nofollow">Yehuda Katz</a>, <a
href="http://www.emberjs.com/" rel="nofollow">Embers.js</a> est un framework javascript open source et gratuit destiné à simplifier le développement d&#8217;applications web avec un comportement riche. Originellement issu de <a
href="http://en.wikipedia.org/wiki/SproutCore" rel="nofollow">sproutcore</a> (et nommé sproutcore 2), il abandonne l&#8217;orientation &laquo;&nbsp;widget&nbsp;&raquo; et application native de ce dernier au profit d&#8217;une interface résolument web sans les limitations des widgets. Afin de ne pas semer la confusion dans la communauté avec ce changement radical d&#8217;orientation, les développeurs de ce nouveau framework l&#8217;ont rebaptisé Embers.js.</p><p>Ses buts sont :</p><ul
type="square"><li>éliminer au maximum le boilerplate des applications javascript en proposant par exemple un moteur de template intégré côté navigateur capable de mettre à jour automatiquement les éléments de la page associés à des données du serveur.</li><li>définir une convention sur la structure des fichiers côté navigateur pour éviter le &laquo;&nbsp;callback spaghetti&nbsp;&raquo;</li><li>faciliter la gestion des états en permettant nativement de décrire les transitions entre les différents états</li></ul><p>A l&#8217;inverse des frameworks traditionnels qui fonctionnent du côté du serveur, Embers.js est à placer à côté de GWT ou EXT.js où l&#8217;application est téléchargée une fois au début de la session, les données dynamiques sont associées (binding) avec des données côté serveur et se mettent à jour automatiquement. Cependant embers.js ne renie pas javascript ce qui lui permet d&#8217;intégrer plus facilement les multiples bibliothèques javascript qui émergent. De plus, il reste gratuit. Un framework à suivre &#8230;</p><h3><a
name="Revuedepresse-%C3%89v%C3%A9nementsdenotrecommunaut%C3%A9enFranceet%C3%A0l%27%C3%A9tranger"></a>Événements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="Revuedepresse-JavaOneLatinAmerica2011"></a>JavaOne Latin America 2011</h4><p>La  semaine dernière a eu lieu à São Paulo au Brésil la conférence JavaOne Latin America 2011. L’événement a réuni des entreprises, la communauté Java d’Amérique Latine, des geeks, des gurus, etc. qui ont discuté pendant 3 jours les nouveautés, les enjeux et l’avenir de l&#8217;écosystème  Java.</p><p>Des tendances, déjà annoncées à <a
href="http://blog.xebia.fr/tag/devoxx/" rel="nofollow">Devoxx</a>, ont été fortement reprises. On a beaucoup parlé du cloud et du déploiement des applications Java dans les “nuages”. <a
href="http://openjdk.java.net/projects/openjfx/" rel="nofollow">JavaFX</a> a  fait aussi l’objet d’attention, surtout que le projet est devenu  maintenant open source. La liste complète des sessions abordées lors de  l’évènement peut être trouvée <a
href="http://www.oracle.com/javaone/lad-en/en-javaone-sessions-524736.pdf" rel="nofollow">ici</a>.</p><p>Voici un tour rapide d’autres sujets traités :</p><ul><li>Java  7 avec des sessions et hands-on qui ont mis en avant les nouvelles fonctionnalités (diamond generics, multi-catch, try-with-resources,  rethrow, etc) ;</li><li>Java 8 et le projet<span
color="" style=";font-family=;font-size=;"></span> <a
href="http://openjdk.java.net/projects/lambda/" rel="nofollow">Lambda</a> ;</li><li><a
href="http://mreinhold.org/blog/jigsaw" rel="nofollow">Project Jigsaw</a> qui vise à modulariser les gros projets en remplaçant l’actuel système de CLASSPATH ;</li><li>Oracle a présenté sa <a
href="http://www.oracle.com/technetwork/database/nosqldb/overview/index.html" rel="nofollow">database NoSQL</a> ;</li><li>On a parlé aussi d’OpenJDK et du fait que des grands noms de  l’informatique comme IBM, Twitter, SAP et Apple ont rejoint la communauté ;</li><li>Les efforts des JUGs <a
href="http://java.net/projects/soujava/" rel="nofollow">brésilien (SouJava)</a> et <a
href="http://londonjavacommunity.wordpress.com/" rel="nofollow">londonien (London Java Community)</a> pour plus de transparence dans le JCP avec la <a
href="http://jcp.org/en/jsr/detail?id=348" rel="nofollow">JSR 348</a>.</li></ul><p>Pour plus d’informations : Arun Gupta fait un petit bilan de la conférence dans son <a
href="http://blogs.oracle.com/arungupta/entry/javaone_latin_america_2011_bigger" rel="nofollow">blog</a>.</p><div
class="shr-publisher-9879"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F12%2F14%2Frevue-de-presse-xebia-2011-51%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F12%2F14%2Frevue-de-presse-xebia-2011-51%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/12/14/revue-de-presse-xebia-2011-51/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/12/06/revue-de-presse-xebia-240/</link> <comments>http://blog.xebia.fr/2011/12/06/revue-de-presse-xebia-240/#comments</comments> <pubDate>Tue, 06 Dec 2011 12:58:35 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[ASF]]></category> <category><![CDATA[Gitblit]]></category> <category><![CDATA[Hibernate]]></category> <category><![CDATA[Puppet]]></category> <category><![CDATA[PuppetLabs]]></category> <category><![CDATA[scala]]></category> <category><![CDATA[Subversion]]></category> <category><![CDATA[tools]]></category> <category><![CDATA[Typesafe]]></category> <category><![CDATA[Yammer]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=9707</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Scala : la saga continue VMWare, Cisco et Google jouent aux marionnettes Le coin de la technique Hibernate et ses performances anti-patterns Gitblit : le nouveau gestionnaire de repositories Git Evénements de notre communauté en France et à l&#8217;étranger L&#8217;Apache [...]]]></description> <content:encoded><![CDATA[<p><img
style="margin: 1em 1em 1em 1em; float: right;" src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" /><br
/> <em>La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="#DRAFT-Revuedepresse-Scala%3Alasagacontinue">Scala : la saga continue</a></li><li><a
href="#DRAFT-Revuedepresse-VMWare%2CCiscoetGooglejouentauxmarionnettes">VMWare, Cisco et Google jouent aux marionnettes</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="#DRAFT-Revuedepresse-Hibernateetsesperformancesantipatterns">Hibernate et ses performances anti-patterns</a></li><li><a
href="#DRAFT-Revuedepresse-Gitblit%3AlenouveaugestionnairederepositoriesGit">Gitblit : le nouveau gestionnaire de repositories Git</a></li></ul><p><strong>Evénements de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="#DRAFT-Revuedepresse-L%27ApacheSoftwareFoundationetSubversion">L&#8217;Apache Software Foundation et Subversion</a></li><li><a
href="#DRAFT-Revuedepresse-Envrac">En vrac</a></li></ul><h3><a
name="DRAFT-Revuedepresse-Actualitééditeurs/SSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="DRAFT-Revuedepresse-Scala:lasagacontinue"></a>Scala : la saga continue</h4><p>Lors de notre précédente revue de presse <a
href="http://blog.xebia.fr/2011/11/29/revue-de-presse-xebia-239#ScalaetlesEJB" rel="nofollow">nous vous avions parlé</a> de l&#8217;article publié par Stephen Colbourne qui expliquait pourquoi il compare Scala aux EJB2. En réponse aux critiques qui l&#8217;accusaient de n&#8217;avoir pas assez utilisé Scala dans la vie réelle, il a <a
href="http://blog.joda.org/2011/11/real-life-scala-feedback-from-yammer.html" rel="nofollow">publié un mail</a> envoyé par <a
href="http://codahale.com/" rel="nofollow">Coda Hale</a> (ingénieur infrastructure chez Yammer) à Donald Fischer (CEO de <a
href="http://typesafe.com/" rel="nofollow">Typesafe</a>) et Martin Odersky (créateur de Scala). Ce mail contient une série de critiques précises contre le langage (complexe, courbe d&#8217;apprentissage importante, forme idiomatique, outils de build immatures, incompatibilité des binaires entre versions majeures et des problèmes de performances de certaines formes fonctionnelles) qui ont amené Yammer à reconsidérer son utilisation.<br
/> Il s&#8217;avère ensuite que le mail est un échange privé dans lequel Coda Hale répondait à une demande de Typesafe sur les points d&#8217;amélioration possibles du langage, il avait été placé dans un gist de github pour relecture et s&#8217;est retrouvé partagé et repris par mégarde. Son contenu finit par être repris de façon générale.<br
/> Finalement, Yammer publie sa <a
href="http://eng.yammer.com/blog/2011/11/30/scala-at-yammer.html" rel="nofollow">position officielle</a> toujours par la plume de Coda Hale. Dans ce communiqué, il indique</p><ul><li>qu&#8217;ils suivent une philosophie très pragmatique, et qu&#8217;ils essayent de nombreux outils pour résoudre leurs problèmes.</li><li>que tous les langages ont des défauts face aux types de problématiques rencontrées chez Yammer</li><li>qu&#8217;ils ont construit plusieurs systèmes impressionnants avec Scala (gestion de centaines de milliers d&#8217;utilisateurs, de millions de recherches, etc avec des performance très élevées).</li><li>que Scala est un langage encore jeune (il le compare à java 1.3) et qu&#8217;il est normal qu&#8217;il ait encore quelques bords à arrondir, que c&#8217;était justement le sens de la démarche de Typesafe.</li></ul><p>En retrait de l&#8217;agitation, Martin Odersky adresse indirectement une partie des problèmes remontés lors de cette controverse dans <a
href="http://blog.typesafe.com/getting-down-to-work" rel="nofollow">un article publié sur le blog de Typesafe</a>. Quelques points intéressants</p><ul><li>Support au développement avec l&#8217;annonce de la sortie en release candidate de <a
href="http://download.scala-ide.org/" rel="nofollow">scala IDE</a></li><li>Courbe d&#8217;apprentissage réduite d&#8217;une part par l&#8217;IDE, par des sources gratuites dont un site de <a
href="http://docs.scala-lang.org/" rel="nofollow">documentation collaboratif </a>et pour le reste par des formations.</li><li>Accélération du compilateur et soutient au travail accompli dans le compilateur incrémental de SBT.</li><li>Community avec surtout le <a
href="https://github.com/scala/scala" rel="nofollow">passage de Scala sous github</a></li></ul><p>Il évoque également la performance, les frameworks (avec akka, et play2), les plans pour répondre aux problèmes de compatibilité binaire.</p><p>La bataille fait rage pour décider du langage qui remplacera Java sur la JVM, bataille qui ne manquera pas de s&#8217;amplifier avec les fonctionnalités annoncées pour Java 8 (Jigsaw, Lambda expressions, le reste du projet Coin, &#8230;) et l&#8217;arrivée de nouveaux challengers annoncés ces derniers temps (<a
href="http://blog.jetbrains.com/kotlin/" rel="nofollow">Kotlin</a> et <a
href="http://ceylon-lang.org/" rel="nofollow">Ceylon</a>)</p><h4><a
name="DRAFT-Revuedepresse-VMWare,CiscoetGooglejouentauxmarionnettes"></a>VMWare, Cisco et Google jouent aux marionnettes</h4><p><a
href="http://puppetlabs.com/" rel="nofollow">PuppetLabs</a>, l&#8217;entreprise commerciale derrière l&#8217;outil Open source Puppet vient d&#8217;annoncer <a
href="http://puppetlabs.com/blog/company/vmware-google-and-cisco-invest-in-puppet-labs/" rel="nofollow">sur son blog</a> que VMWare, Cisco et Google venaient de prendre des parts lors du dernier tour de table effectué par la société. En dehors du blabla marketing d&#8217;une telle annonce, il faut bien reconnaître que, comme elle le dit, ces partenaires utilisent déjà Puppet &laquo;&nbsp;en production et à grande échelle&nbsp;&raquo;. Et il est certain que cette association en jette !<br
/> En tout cas, il est certain que cette annonce se présente dans une dynamique très porteuse pour les outils de management de configuration. Avec le Cloud, la tendance à prendre en compte le Devops <a
href="http://blog.loof.fr/2011/10/puppet-vs-chef-fight.html" rel="nofollow">se confirme</a> et c&#8217;est toute l&#8217;industrie qui va en bénéficier.<br
/> Rappelons que PuppetLabs édite aussi la solution commerciale <a
href="http://puppetlabs.com/puppet/puppet-enterprise/" rel="nofollow">Puppet Enterprise</a> sortie il y a peu en version 2.0. Et pour ceux que ça intéresse, notons que <a
href="http://java.dzone.com/articles/puppet-editing-pro" rel="nofollow">ce récent article</a> donne des pistes pour optimiser ses éditeurs texte et parle même de Geppetto, un IDE basé sur Eclipse pour Puppet.</p><h3><a
name="DRAFT-Revuedepresse-Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="DRAFT-Revuedepresse-Hibernateetsesperformancesantipatterns"></a>Hibernate et ses performances anti-patterns</h4><p>Pour ceux qui n&#8217;ont pas encore vu cette présentation de Patrycja Wegrzynowic à Devoxx, Mathilde Lemée <a
href="http://www.java-freelance.fr/java/hibernate-anti-patterns" rel="nofollow">en reparle ici</a>. Cet article détaillé revient avec des exemples précis sur des cas d&#8217;utilisation réel de l&#8217;outil. On y retrouve les exemples de N+1 SELECT, de problème de synchronisation en écriture et bien d&#8217;autres.<br
/> L&#8217;accroche de la présentation à Devoxx est simple &laquo;&nbsp;I do think Hibernate is a great tool&nbsp;&raquo;. De plus en plus de débats se lèvent sur l&#8217;utilisation de ce framework. Il est évertué par les uns pour son gain de productivité et son utilisation simple mais décrié par les autres pour les contraintes de modélisation qu&#8217;il entraîne et son côté opaque.<br
/> Lors de notre dernier XKE (Xebia Knowledge Exchange), nous avons eu la chance d&#8217;assister à une présentation de <a
href="http://www.retour1024.fr/" rel="nofollow">David Gageot</a> sur la notion d&#8217;outil et de framework. Lors de cette session, il a codé sous nos yeux une application Web simple, sans utiliser de grand framework. L&#8217;idée était de nous amener à nous poser les bonnes questions face aux outils que nous utilisons tous les jours:</p><ul><li>En ai-je vraiment besoin ?</li><li>A quoi sert-il vraiment ?</li><li>Son utilisation m&#8217;amène-t-elle plus de valeurs ajoutées que de contraintes ?</li></ul><p>L&#8217;idée directrice de David était de nous montrer que nous ne sommes pas obligés d&#8217;utiliser des outils très imposants pour des tâches très simples.<br
/> Un outil, à la différence d&#8217;un framework, n&#8217;imposera que peu de contraintes à son utilisateur. Il restreint son périmètre d&#8217;utilisation pour être &laquo;&nbsp;expert&nbsp;&raquo; dans une tâche bien précise. L&#8217;avantage cependant d&#8217;un framework est d&#8217;offrir des guides d&#8217;utilisation, afin d&#8217;assurer une homogénéité au sein de plusieurs projets.<br
/> Il faut savoir adapter l&#8217;outil à la tâche qui lui correspond. Mieux vaut utiliser des outils simples, non intrusifs pour faire correctement ce qui est demandé en se laissant la possibilité de changer plus tard.<br
/> De la même manière, Hibernate est un outil puissant, encore faut-il savoir l&#8217;utiliser correctement. Tous les cas d&#8217;utilisation n&#8217;en on pas l&#8217;utilité. Mais rappelons nous que si nous voulons l&#8217;introduire dans notre projet, apprenons d&#8217;abord à bien l&#8217;utiliser.Tout est une question d&#8217;adaptation. C&#8217;est le coeur de notre métier, comprendre le contexte pour lui apporter la meilleure réponse possible. La réponse universelle n&#8217;existe pas et c&#8217;est cela qui rend notre profession intéressante.</p><h4><a
name="DRAFT-Revuedepresse-"></a></h4><h4><a
name="DRAFT-Revuedepresse-Gitblit:lenouveaugestionnairederepositoriesGit"></a>Gitblit : le nouveau gestionnaire de repositories Git</h4><p><a
href="http://gitblit.com/" rel="nofollow">GitBlit</a> est une application Web Open-Source (licence Apache Software Foundation version 2.0), reposant sur une stack pure Java, et qui a pour objectif de gérer, consulter et héberger des repositories Git. Il utilise pour cela JGit, une implémentation Java du gestionnaire de sources distribué.</p><p>L&#8217;application se présente sous deux modes :</p><ol><li><strong>Gitblit GO</strong> : une solution clé en main basée sur Jetty. Il n&#8217;est pas nécessaire d&#8217;installer un quelconque serveur Web ou même Git lui-même, c&#8217;est l&#8217;option à privilégier si l&#8217;on veut démarrer le plus simplement et rapidement possible. L&#8217;objectif de ce mode est d&#8217;obtenir un serveur fonctionnel avec un minimum de configuration. En effet, un unique fichier texte permet de configurer le serveur et Gitblit. Aussi, un certificat pour communiquer via HTTPS est automatiquement généré pour localhost et un script permet d&#8217;en générer un pour n&#8217;importe quel hostname.</li><li><strong>Gitblit WAR</strong> : si vous utilisez déjà un conteneur de servlets où vous déployer vos différents outils, le mode WAR est à privilégier. Les versions 6, 7 et 8 de Jetty ainsi que les versions 6 et 7 de Tomcat sont supportées. De manière générale, n&#8217;importe quelle implémentation de Servlet 2.5 ou 3.0 devrait fonctionner.</li></ol><p>Gitblit peut être utiliser de différentes manières :</p><ul><li>Comme une simple IHM Web (inspirée de Gitweb) pour consulter les repositories Git sans accès administrateur ou ou gestion de comptes utilisateurs.</li><li>Comme une stack Git complète pour cloner, &laquo;&nbsp;pusher&nbsp;&raquo; et contrôler l&#8217;accès aux repositories.</li><li>Gitblit peut être utiliser sans aucun outil relatif à Git (dont Git lui-même) ou il peut collaborer avec vos outils existants.</li></ul><p>Les administrateurs peuvent gérer les repos et comptes utilisateurs soit via l&#8217;IHM Web, soit via une interface JSON RPC accessible depuis le <a
href="http://code.google.com/p/gitblit/downloads/detail?name=manager-0.7.0.zip" rel="nofollow">Gitblit Manager</a> (une IHM Swing pour gérer les repos Git et administrer un serveur Gitblit de manière distante) ou depuis un outil custom.</p><p>L&#8217;application requière au minimum un JRE/JDK 6.</p><h3><a
name="DRAFT-Revuedepresse-EvénementsdenotrecommunautéenFranceetàl'étranger"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="DRAFT-Revuedepresse-L'ApacheSoftwareFoundationetSubversion"></a>L&#8217;Apache Software Foundation et Subversion</h4><p>Ben Collins-Sussman, fondateur du projet Subversion et membre actuelle de l&#8217;Apache Software Foundation, vient donner son point de vue sur un débat qui fait rage : <a
href="http://blog.red-bean.com/sussman/?p=597" rel="nofollow">Pourquoi l&#8217;ASF choisit encore Subversion comme gestionnaire de source</a> ?<br
/> La première réponse apportée par Jim Jagielski, un des leaders de l&#8217;ASF, est de garantir l&#8217;intégrité des projets sur le long terme et ne pas céder aux dernières modes. Ben Collins-Sussman pense lui que l&#8217;ASF est aussi présente pour fournir des protections légales face à l&#8217;utilisation des outils et d&#8217;assurer une cohérence aux long-termes et non seulement sur le software mais aussi sur les membres de la communauté.<br
/> Pour lui ce dernier point est assuré au sein de la fondation avec ces quelques mots &laquo;&nbsp;community over code&nbsp;&raquo;. Les réponses apportées aux différents problèmes des projets se font par consensus et système de vote au sein des projets.<br
/> Cet esprit de communauté et de protection légale est la raison pour laquelle Ben Collins-Sussman défend l&#8217;idée que les projets Apache doivent joindre le Grand Repository Subersion d&#8217;Apache. Mais l&#8217;utilisation de ce dépôt de source ne doit en aucun cas être unique. Certains projets pourraient selon lui utiliser Git et déposer de façon automatisée les sources au sein du Subversion d&#8217;Apache une fois par jour.<br
/> Pour reprendre le titre de son article, entrer dans une communauté, ce n&#8217;est pas être forcé d&#8217;utiliser tous ses outils.</p><h4><a
name="DRAFT-Revuedepresse-Envrac"></a>En vrac</h4><p>Sortie de <a
href="http://search-lucene.com/m/ElBcpJHvZ&amp;subj=+ANNOUNCE+Apache+Lucene+3+5+0+released" rel="nofollow">Lucene 3.5.0 </a>réduisant entre autre de façon significative la consommation mémoire lors de l&#8217;ouverture d&#8217;un IndexReader.</p><p>Sortie de <a
href="http://www.elasticsearch.org/blog/2011/11/29/0.18.5-released.html" rel="nofollow">ElasticSearch 0.18.5</a> comprenant des corrections de bugs mais surtout reprenant Lucene 3.5.0.</p><p>Sortie de <a
href="http://lucene.apache.org/solr/#27+November+2011+-+Solr+3.5.0+Released" rel="nofollow">Solr 3.5.0</a> reprenant également Lucene 3.5.0.</p><p>Sortie de <a
href="http://forum.springsource.org/showthread.php?118523-STS-2-8-1-released" rel="nofollow">SpringSource Tool Suite 2.8.1</a> dont le but principal est de réduire les couts de migrations de m2eclipse à m2e. Il y a d&#8217;ailleurs <a
href="http://forum.springsource.org/showthread.php?116189-STS-2.8.0-and-m2e-FAQ-%28updated-for-STS-2.8.1%29" rel="nofollow">une FAQ intéressante</a> sur m2e fournie par SpringSource (elle est bien sûr applicable aux utilisateurs d&#8217;Eclipse version &laquo;&nbsp;normale&nbsp;&raquo;).</p><div
class="shr-publisher-9707"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F12%2F06%2Frevue-de-presse-xebia-240%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F12%2F06%2Frevue-de-presse-xebia-240%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/12/06/revue-de-presse-xebia-240/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/11/29/revue-de-presse-xebia-239/</link> <comments>http://blog.xebia.fr/2011/11/29/revue-de-presse-xebia-239/#comments</comments> <pubDate>Tue, 29 Nov 2011 13:00:55 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Colebourne]]></category> <category><![CDATA[Duchess]]></category> <category><![CDATA[EJB2]]></category> <category><![CDATA[humour]]></category> <category><![CDATA[Mahout]]></category> <category><![CDATA[pasta theory]]></category> <category><![CDATA[REST]]></category> <category><![CDATA[Restfuse]]></category> <category><![CDATA[scala]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=9549</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Sortie de la première version stable de Restfuse 1.0 Le coin de la technique Humour de développeur Evénements de notre communauté en France et à l&#8217;étranger Scala et les EJB2 Retour sur l&#8217;atelier Apache Mahout des Duchess France Actualité éditeurs [...]]]></description> <content:encoded><![CDATA[<p><img
style="margin: 1em 1em 1em 1em; float: right;" src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" /></p><p><em>La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/11/29/revue-de-presse-xebia-239#Sortiedelapremireversionstable">Sortie de la première version stable de Restfuse 1.0</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/11/29/revue-de-presse-xebia-239#Humourdedveloppeur">Humour de développeur</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/11/29/revue-de-presse-xebia-239#ScalaetlesEJB">Scala et les EJB2</a></li><li><a
href="http://blog.xebia.fr/2011/11/29/revue-de-presse-xebia-239#RetoursurlatelierApacheMahoutd">Retour sur l&#8217;atelier Apache Mahout des Duchess France</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="Sortiedelapremireversionstable"></a>Sortie de la première version stable de Restfuse 1.0</h4><p>Restfuse 1.0.0 est la première version stable de cette API créée par EclipseSource. Il s&#8217;agit d&#8217;une extension open source de JUnit qui permet de tester des implémentations différentes REST (Jersey, RESTLET, RESTeasy&#8230;). Ses créateurs s’appuient sur le besoin d&#8217;avoir des tests d&#8217;intégration sur les services REST au-delà des tests unitaires, et des mocks des services afin de vérifier que le système entier fonctionne correctement.</p><p>Les objectifs de ce framework sont :</p><ul><li><strong>Trouver une solution propre pour tester les services REST asynchrones. </strong>Pour tester les services asynchrones, les deux solutions les plus communes sont : callbacks ou polling. Les annotations <code>@Callback</code> et <code>@Poll</code> sont fournies afin d&#8217;éviter de boucler sur la requête ou de démarrer le serveur avant ou dans le test.</li></ul><ul><li><strong>Faciliter la configuration des requêtes avec des annotations.</strong> L&#8217;annotation <code>@HttpTest</code> permet de configurer la requête HTTP et de l&#8217;envoyer avant que le test ne soit exécuté. Cette méthode essaie d&#8217;améliorer d&#8217;autres APIs de tests, comme <a
title="restassured" href="http://blog.jayway.com/2010/12/27/rest-assured-or-how-to-easily-test-rest-services-in-java/">rest-assured</a> où la requête doit être configurée en code Java dans la méthode de test.</li></ul><p>Vous pouvez trouver des exemples d&#8217;utilisation sur la page de <a
title="Restfuse" href="http://restfuse.com/">Restfuse</a> et aussi dans cet article <a
title="InfoQ" href="http://www.infoq.com/news/2011/11/restfuse-1-0-0">InfoQ</a> qui contient plusieurs exemples assez pratiques.</p><p>Le projet est hébergé sur <a
title="Github" href="https://github.com/eclipsesource/restfuse">Github</a>. La version 1.0 est disponible sur le dépôt central de Maven et aussi sur <a
title="p2" href="http://restfuse.com/p2/">p2</a> pour le systèmes OSGi.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="Humourdedveloppeur"></a>Humour de développeur</h4><p>Nous vous avertissons tout de suite, si vous êtes allergiques à l&#8217;humour geek ou aux anglicismes, vous pouvez zapper ce passage qui risque de vous faire bondir. Toujours là ? Allons-y alors !<br
/> Depuis peu tournent sur la toile des liens vers <a
title="cet article" href="http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html">cet article</a>. Celui-ci est en fait un &laquo;&nbsp;best-of&nbsp;&raquo; d&#8217;<a
title="une vieille page" href="http://stackoverflow.com/questions/2349378/new-programming-jargon-you-coined">une vieille page</a> de StackOverflow ayant généré des commentaires sur 12 (!) pages. Nous vous laissons la lire, en plusieurs fois tout de même pour éviter l&#8217;overdose, mais voici une petite sélection:</p><ul><li><strong>les Yoda conditions</strong>: elles consistent à inverser la variable avec la valeur testée dans une condition. Ainsi on écrira <code>if (CONST_VALUE == variable)</code> au lieu de <code>if (variable == CONST_VALUE)</code>. Ceci car Yoda lui-même parle en inversant les mots: &laquo;&nbsp;si grande est la variable, Jedi tu deviendra&nbsp;&raquo;.</li><li><strong>Pokémon Exception Handling</strong>: consiste à faire un <code>catch (Throwable t)</code> histoire de catcher toutes exceptions. Provient du slogan des Pokemons &laquo;&nbsp;<em>catch&#8217;em all</em>&laquo;&nbsp;.</li><li><strong>Les accolades égyptiennes</strong>: elles représentent le formatage par défaut en Java (voir <a
title="les préconisations de Sun" href="http://java.sun.com/docs/codeconv/html/CodeConventions.doc5.html">les préconisations de Sun</a>), c&#8217;est-à-dire que la position des accolades fait penser à un Égyptien. Le mieux est de voir cela <a
title="en image" href="http://stackoverflow.com/questions/2349378/new-programming-jargon-you-coined#2801919">en image</a>.</li><li><strong>Refuctoring</strong>: décrit l&#8217;action prenant un beau morceau de code bien pensé pour le transformer, à travers une série d&#8217;étapes (ir-)réversibles, en un immonde plat de spaghettis non maintenable.</li><li><strong>Stringly Typed</strong>: par opposition à &laquo;&nbsp;Strongly typed&nbsp;&raquo;, indique l&#8217;absence de typage et l’utilisation à outrance des chaînes de caractères, entraînant des problèmes visibles seulement au runtime. Se rencontre souvent dans les fichiers XML ou chez les novices en Javascript.</li><li><strong>Le Baklava code</strong>: désigne du code où trop de couches <a
title="s'empilent" href="http://stackoverflow.com/questions/2349378/new-programming-jargon-you-coined#2801919">s&#8217;empilent</a>. On fera l&#8217;analogie avec la &laquo;&nbsp;Théorie des pâtes&nbsp;&raquo; qui assimile des problèmes d&#8217;architecture du code à des plats de pâtes. On y retrouve le code spaghetti, le code ravioli, le code lasagne et&#8230; le code Spaghetti avec boulettes. Délectez-vous <a
title="avec les recettes" href="http://georgik.sinusgear.com/2011/03/07/spaghetti-lasagna-and-raviolli-code">avec les recettes</a> !</li><li><a
title="Hydra Code" href="http://stackoverflow.com/questions/2349378/new-programming-jargon-you-coined#2802897">Hydra Code</a>: désigne du code impossible à corriger, où une correction entraîne inévitablement de nouveaux bugs.</li><li><strong>Protoduction code</strong>: lorsque du code non prévu qui n’était pas destiné à se retrouver en production finit par y atterrir. Le &laquo;&nbsp;Protoduction Driven Development&nbsp;&raquo; se rapproche ainsi souvent du &laquo;&nbsp;Marketing Feature Driven Devlopment&nbsp;&raquo;.</li><li><strong>Megamoth</strong>: la MEGA MOnolitique méTHode se retrouve souvent dans les projets où des codeurs bien intentionnés ont regroupé en une seule méthode différents traitements et logiques compliqués histoire de garder le reste du code simple et clair. Généralement, cette méthode fait plusieurs écrans de haut, quelques centaines de lignes et les commentaires sont bien sûr sans rapport avec le traitement effectif.</li></ul><p>C&#8217;étaient quelques-unes des perles de la première page du thread sur Stackoverflow. La lecture du reste des 12 page est bien sûr fortement conseillée pour se détendre les zygomatiques.</p><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="ScalaetlesEJB"></a>Scala et les EJB2</h4><p>Stephen Colebourne, le <a
title="bouillant" href="http://blog.xebia.fr/2011/06/15/revue-de-presse-xebia-215/#LavenirdeJavasejouemaintenant">bouillant</a> <em>project lead</em> de <a
title="Joda Time" href="http://joda-time.sourceforge.net/">Joda Time</a> présentait à Devoxx le 17 novembre dernier une <a
title="conférence" href="http://blog.joda.org/2011/11/guide-to-evaluating-fantom.html">conférence</a> sur le langage <a
title="Fantom" href="http://fantom.org/">Fantom</a>. De cette présentation on n&#8217;en a malheureusement retenu qu&#8217;une petite phrase sibylline lourde de sous-entendus: &laquo;&nbsp;Scala ressemble aux EJB2&#8243;.</p><p>La pique n&#8217;a pas manqué de <a
title="créer le buzz" href="http://www.infoq.com/news/2011/11/scala-ejb2">créer le buzz</a>, à tel point que Colebourne s&#8217;est senti obligé d&#8217;y apporter <a
title="une explication" href="http://blog.joda.org/2011/11/scala-feels-like-ejb-2-and-other.html">une explication</a>, puis <a
title="une autre" href="http://blog.joda.org/2011/11/scala-ejb-2-feedback.html">une autre</a>.</p><p>Colebourne voit du mérite dans bien des langages: Groovy, Kotlin, Ceylon, Gosu, Xtend, Clojure et bien entendu, Fantom. Mais sur Scala il reste plutôt sévère: selon lui il y aurait &laquo;&nbsp;beaucoup à dire sur Scala, mais peu de bien&nbsp;&raquo;, car ce langage &laquo;&nbsp;prend une direction totalement erronée pour l&#8217;avenir&nbsp;&raquo;.</p><p>Mais que reproche-t-il au juste à ce langage?</p><ul><li><strong>Modularité</strong>. Scala <a
title="n'a pas de système de modules" href="http://alblue.bandlem.com/2009/08/modularity-for-scala.html">n&#8217;a pas de système de modules</a> et reprend ainsi une erreur fondamentale du langage Java, difficile à corriger (cf. le projet <a
title="Jigsaw" href="http://openjdk.java.net/projects/jigsaw/">Jigsaw</a>). Colebourne est d&#8217;avis qu&#8217;un outil externe tel que Maven, Ivy ou OSGi n&#8217;est pas une solution durable à un problème qui doit être résolu au coeur même du langage.</li></ul><ul><li><strong>Concurrence</strong>: pourtant si vantée, la programmation concurrente sous Scala ne serait pour Colebourne qu&#8217;un &laquo;&nbsp;écran de fumée&nbsp;&raquo;. Scala s&#8217;appuie davantage sur le design de <a
title="ses librairies" href="http://akka.io/">ses librairies</a> et sur une certaine discipline de codage que sur une contrainte forte et inhérente au langage, et permet en effet qu&#8217;un objet mutable soit partagé &#8212; contrairement à Fantom, qui lui traque ces objets et les signale par des erreurs de compilation.</li></ul><ul><li><strong>Communauté</strong>: la communauté Scala serait certes large et active, mais faite de sophistes davantage mus par la beauté du langage et l&#8217;émulation intellectuelle que par l&#8217;efficacité pragmatique des algorithmes. Colebourne la considère comme un cercle élitiste tendant à prendre de haut le Javaïste &laquo;&nbsp;de base&nbsp;&raquo;.</li></ul><ul><li><strong>Système de typage</strong>: pour Colebourne, ils serait tout simplement trop complexe, &laquo;&nbsp;au-delà du raisonnable&nbsp;&raquo;. Cette complexité serait un faux atout: &laquo;&nbsp;si j&#8217;ajoute un String à une liste d&#8217;entiers, je devrais obtenir une erreur de compilation, non une liste de <code>Any</code>&laquo;&nbsp;.</li></ul><ul><li><strong>Syntaxe</strong>: même verdict. Si la flexibilité permet l&#8217;écriture fluide de DSLs (et encore, Colebourne y préfère l&#8217;approche <a
title="à la Fantom" href="http://fantom.org/doc/docLang/DSLs.html">à la Fantom</a>), les <a
title="paramtres implicites" href="http://www.scala-lang.org/node/114">paramètres implicites</a> ou encore les nombreux sucres syntaxiques du langage donneraient au code un côté obscur et hermétique. Utilisés à large échelle sur de grands projets par de vastes équipes, leur effet serait plutôt négatif sur la maintenabilité du code.</li></ul><ul><li><strong>Qualité</strong>: Colebourne rend ici la parole à Paul Phillips, un commiteur Scala, et cite des extraits d&#8217;un <a
title="podcast" href="http://scalatypes.com/webpage/interview-with-paul-phillips">podcast</a> datant de Juin 2011. Philips y évoque l&#8217;extraordinaire complexité du code et surtout avoue platement que Scala manque d&#8217;une &laquo;&nbsp;suite de tests extensive&nbsp;&raquo; couvrant l&#8217;ensemble du code. Pour Colebourne, c&#8217;est la preuve même que Scala n&#8217;aurait pas encore atteint les niveaux de maturité, maintenabilité et évolutivité que l&#8217;on est en mesure d&#8217;attendre d&#8217;un langage d&#8217;entreprise. (A quoi nous pourrions également rajouter que, comme le note <a
title="Ceki Glc" href="http://ceki.blogspot.com/2011/08/is-scala-trustworthy.html">Ceki Gülcü</a>, Scala a à de nombreuses reprises brisé la compatibilité binaire entre releases: 2.7, 2.8, 2.9&#8230;)</li></ul><p>En somme on pourrait résumer la pensée de Colebourne par &laquo;&nbsp;trop de flexibilité tue la flexibilité&nbsp;&raquo;. Il va de soi que ses opinions agacent bon nombre d&#8217;adeptes de Scala et n&#8217;ont pas manqué de déclencher de nombreux commentaires enflammés sur son billet, au milieu, il est vrai, de quelques réponses plus posées (et plus ou moins convaincantes). D&#8217;autres enfin ont préféré répondre point par point <a
title="sous forme de billet" href="http://retroprogrammer.blogspot.com/2011/11/scala-gripes-not-here.html">sous forme de billet</a>.</p><h4><a
name="RetoursurlatelierApacheMahoutd"></a>Retour sur l&#8217;atelier Apache Mahout des Duchess France</h4><p>La semaine dernière s&#8217;est tenu un atelier Apache Mahout organisé par les <a
title="Duchess France" href="http://jduchess.org/duchess-france/">Duchess France</a> et présenté par <a
title="Michaël Figuière (Xebia)" href="http://blog.xebia.fr/author/mfiguiere">Michaël Figuière (Xebia)</a> et <a
title="Jean-Baptiste Lemée (Lateral Thoughts)" href="http://www.lateral-thoughts.com/">Jean-Baptiste Lemée (Lateral Thoughts)</a>. Le but de cet évènement était de mettre en valeur les fonctionnalités qui peuvent être développées grâce à Mahout et qui sont encore très peu répandues dans les applications d&#8217;entreprise.</p><p><a
title="Apache Mahout" href="http://mahout.apache.org/">Apache Mahout</a> est un <em>framework</em> d&#8217;apprentissage artificiel (_machine learning_). Il permet, entre autres, de réaliser des moteurs de recommandations, de la classification automatique de documents, ou encore du regroupement d&#8217;entités (_clustering_). Ce type d&#8217;algorithmique était principalement réservé au monde de la recherche il y a encore une décennie, avant de se répandre parmi les sites Web les plus populaires durant les années 2000, bien que restant une affaire de spécialistes. L&#8217;émergence de Mahout, projet initié en 2009, permet enfin la banalisation de ces fonctionnalités tant appréciées par les utilisateurs, grâce à son API Java simple. En cela Mahout devient à l&#8217;apprentissage artificiel ce que <a
title="Lucene" href="http://lucene.apache.org/">Lucene</a> est devenu aux moteurs de recherche.</p><p>L&#8217;atelier Mahout a démarré avec une présentation générale et rapide du <em>framework,</em> suivie par un exercice pratique avec la mise en oeuvre de Mahout pour créer un moteur de recherche de recettes de cuisines, en seulement quelques lignes de code&#8230;</p><p>Si vous avez manqué cet évènement, vous pouvez retrouver les <em>slides</em> de la présentation <a
title="ici" href="http://www.slideshare.net/mfiguiere/duchess-france-nov-2011-atelier-apache-mahout">ici</a>.</p><div
class="shr-publisher-9549"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F11%2F29%2Frevue-de-presse-xebia-239%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F11%2F29%2Frevue-de-presse-xebia-239%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/11/29/revue-de-presse-xebia-239/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/11/22/revue-de-presse-xebia-238/</link> <comments>http://blog.xebia.fr/2011/11/22/revue-de-presse-xebia-238/#comments</comments> <pubDate>Tue, 22 Nov 2011 09:09:31 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Flex]]></category> <category><![CDATA[Fowler]]></category> <category><![CDATA[Geronimo]]></category> <category><![CDATA[Google Eclipse Plugin]]></category> <category><![CDATA[JQuery Mobile]]></category> <category><![CDATA[OSGi]]></category> <category><![CDATA[Persistance Polyglotte]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=9294</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Adobe met Flex en Open source Geronimo 3 se prépare: certifié full Profile et utilise OSGI Google Eclipse Plugin est maintenant open source RIA Sortie de JQuery Mobile 1.0 Le coin de la technique Persistance Polyglotte Actualité éditeurs / SSII [...]]]></description> <content:encoded><![CDATA[<p><img
style="margin: 1em 1em 1em 1em; float: right;" src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" /><br
/> <em>La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/11/22/revue-de-presse-xebia-238/#AdobemetFlexenOpensource">Adobe met Flex en Open source</a></li><li><a
href="http://blog.xebia.fr/2011/11/22/revue-de-presse-xebia-238/#GeronimoseprparecertififullPro">Geronimo 3 se prépare: certifié full Profile et utilise OSGI</a></li><li><a
href="http://blog.xebia.fr/2011/11/22/revue-de-presse-xebia-238/#GoogleEclipsePluginestmaintena">Google Eclipse Plugin est maintenant open source</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/11/22/revue-de-presse-xebia-238/#SortiedeJQueryMobile">Sortie de JQuery Mobile 1.0</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/11/22/revue-de-presse-xebia-238/#PersistancePolyglotte">Persistance Polyglotte</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="AdobemetFlexenOpensource"></a>Adobe met Flex en Open source</h4><p>Adobe a annoncé que <a
title="Flex allait être donné à une fondation open source" href="http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html">Flex allait être donné à une fondation open source</a>. Les réactions à l&#8217;annonce ont été plus que mitigées, certains <a
title="parlant dabandon" href="http://www.infoq.com/news/2011/11/flex-adandoned">parlant d&#8217;abandon</a>. Adobe a alors apporté des précisions:</p><ul><li>d&#8217;une part, la fondation envisagée est la Apache Software Foundation.</li><li>les développements en cours, dont le nouveau compilateur et plusieurs widgets, seront inclus dans le transfert.</li><li>enfin, Adobe va continuer à s&#8217;investir dans le développement de Flex, promettant une équipe de développement qui contribuera au projet open source à temps plein.</li></ul><h4><a
name="GeronimoseprparecertififullPro"></a>Geronimo 3 se prépare: certifié full Profile et utilise OSGI</h4><p>Géronimo, le serveur EE Open-source d&#8217;Apache prépare sa nouvelle version. Comme nous le rapporte <a
title="The H" href="http://www.h-online.com/open/news/item/Apache-Geronimo-fully-certified-for-Java-EE-6-1378384.html">The H</a>, la béta 1 vient de sortir. Certes, la release finale est sans doutes loin, mais le serveur a tout de même passé avec succès les certifications Full et Web-Profile de Java EE 6.<br
/> A noter que 2 versions du serveur existent. La première, avec Tomcat 7 et Axis 2, est celle qui a été validée. La seconde repose sur Jetty 8 et CXF. Par ailleurs, cette version est basée sur OSGI 4.3 et promet donc, en plus des applications EE, des facilités pour le déploiement d&#8217;applications OSGI.<br
/> L&#8217;<a
title="annonce officielle" href="http://geronimo.apache.org/2011/11/16/apache-geronimo-v30-beta-1-released.html">annonce officielle</a> est disponible sur le site du projet et la release note est <a
title="ici" href="http://mirrors.ukfast.co.uk/sites/ftp.apache.org/geronimo/3.0-beta-1/RELEASE_NOTES-3.0-beta-1.txt">ici</a>.</p><h4><a
name="GoogleEclipsePluginestmaintena"></a>Google Eclipse Plugin est maintenant open source</h4><p>La semaine dernière, Google <a
title="a annonc" href="http://googlewebtoolkit.blogspot.com/2011/11/google-plugin-for-eclipse-gpe-is-now.html">a annoncé</a> que son célèbre Google Plugin for Eclipse (GPE) est maintenant open source. Pour rappel, GPE regroupe un ensemble d’outils de développement qui facilitent la conception, la construction et le déploiement d’applications qui utilisent GWT, SpeedTracer, App Engine et d’autres services du cloud de Google.</p><p>La communauté a réagit de manière positive suite à l’annonce. Max Andersen de Red Hat a souligné : “[...] suite à la mise à disposition du code source du plugin, nous envisageons de travailler plus étroitement avec Google et la communauté pour rendre l’expérience des développeurs plus productive et plus intégrée à la plate-forme Eclipse. Nous sommes particulièrement intéressés par les possibilités de déploiement sur des serveurs multiples, telles que la plateforme JBoss Enterprise Application et Google App Engine de façon uniforme [...]”</p><p>Le projet GWT Designer, qui s&#8217;appuie sur le projet de <a
title="WindowBuilder" href="http://eclipse.org/windowbuilder/">WindowBuilder</a>, est également <a
title="disponible sur Google Code" href="http://code.google.com/p/gwt-designer/">disponible sur Google Code</a> sous la licence Eclipse Public License. De cette manière, Google espère que les contributions apportées par la communauté permettront l’amélioration et l’évolution du GPE.</p><h3><a
name="RIA"></a>RIA</h3><h4><a
name="SortiedeJQueryMobile"></a>Sortie de JQuery Mobile 1.0</h4><p>Après un an de développement, <a
title="JQuery Mobile" href="http://www.infoq.com/news/2011/11/jquery-mobile-1">JQuery Mobile</a> sort enfin en version 1.0 finale. Basé sur les frameworks javascript JQuery et JQuery UI, cet outil va permettre de concevoir des interfaces graphiques en HTML5, Ajax et CSS 3 compatible sur un nombre impressionnant de mobiles et tablettes (iOS, Android, Blackberry, Bada, Windows Phone, webOS, Symbian, Meego, etc.)</p><p>Au menu, l&#8217;équipe met en avant les spécificités suivantes de JQuery Mobile:</p><ul><li>Une compatibilité avec de nombreux périphériques,</li><li>Une dégradation progressive des composants en fonction des capacités de chaque périphérique,</li><li>Des layouts et composants graphiques optimisés pour le tactile, avec auto-adaptation au périphérique,</li><li>De grand efforts au niveau des performances (transition, scrolling) et du toucher sur les différentes plateformes mobiles,</li><li>L&#8217;apparition d&#8217;un outil pour customiser ses propres thèmes graphiques avec <a
title="ThemeRoller for Mobile" href="http://jquerymobile.com/themeroller/">ThemeRoller for Mobile</a>,</li><li>La possibilité d&#8217;intégrer JQuery Mobile avec <a
title="PhoneGap" href="http://phonegap.com/">PhoneGap</a>, un outil très puissant pour déployer ses applications web sur de nombreuses plateformes,</li><li>Une communauté très active, avec ses nombreux blogs, ressources et plugins.</li></ul><p>JQuery Mobile utilise la version 1.6.4 de JQuery, et n&#8217;est donc pas compatible avec <a
title="la rcente 17" href="http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/#SortiedeJQuery">la récente 1.7</a>, qui a introduit des évolutions non rétro-compatibles avec les précédentes version. Ainsi, il faudra attendre la prochaine version 1.1 de JQuery Mobile.</p><p>L&#8217;accueil de JQuery Mobile a été quelque peu <a
title="mitig" href="http://www.reddit.com/r/programming/comments/mfv22/jquery_mobile_10_released/">mitigé</a>. Les performances et la réactivité du toucher semblent très inégales selon le périphérique utilisé.<br
/> Malgré la compatibilité avec une large gamme de périphériques, de nombreux développeurs semblent privilégier pour le moment le framework <a
title="Sencha Touch" href="http://www.sencha.com/products/touch">Sencha Touch</a>.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="PersistancePolyglotte"></a>Persistance Polyglotte</h4><p>Vous avez sans doute déjà entendu parler de la programmation polyglotte: il peut être intéressant d&#8217;introduire plusieurs langages dans un projet de façon à disposer d&#8217;outils bien adaptés à chaque problématique.</p><p>Dans la lignée de la programmation polyglotte, Martin Fowler formalise la notion de persistance polyglotte avec une approche identique. Aujourd&#8217;hui tout le monde utilise la base de donnée relationnelle pour la persistance mais tous les problèmes de persistance ne sont pas adaptés au modèle relationnel. <a
title="Larticle en anglais" href="http://martinfowler.com/bliki/PolyglotPersistence.html">L&#8217;article en anglais</a> offre une réflexion approfondie et quelques exemples sur le sujet.</p><div
class="shr-publisher-9294"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F11%2F22%2Frevue-de-presse-xebia-238%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F11%2F22%2Frevue-de-presse-xebia-238%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/11/22/revue-de-presse-xebia-238/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de presse</title><link>http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/</link> <comments>http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/#comments</comments> <pubDate>Tue, 15 Nov 2011 06:12:59 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[citcon]]></category> <category><![CDATA[Flash Player]]></category> <category><![CDATA[Flex]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[RIA]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=9144</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. RIA Inquiétude de la communauté Flex suite aux annonces d&#8217;Adobe Le coin de la technique Sortie de JQuery 1.7 Evénements de notre communauté en France et à l&#8217;étranger CITCON London 2011 RIA Inquiétude de la communauté Flex suite aux annonces d&#8217;Adobe La semaine dernière, [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/#InquitudedelacommunautFlexsuit">Inquiétude de la communauté Flex suite aux annonces d&#8217;Adobe</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/#SortiedeJQuery">Sortie de JQuery 1.7</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/11/15/revue-de-presse-xebia-237/#CITCONLondon">CITCON London 2011</a></li></ul><h3><a
name="RIA"></a>RIA</h3><h4><a
name="InquitudedelacommunautFlexsuit"></a>Inquiétude de la communauté Flex suite aux annonces d&#8217;Adobe</h4><p>La semaine dernière, il y a eu beaucoup de confusions, et de rumeurs suite aux diverses annonces d&#8217;Adobe concernant Flash, Flex et HTML5. Tout a commencé lorsqu&#8217;Adobe a annoncé la semaine dernière l&#8217;<a
href="http://blogs.adobe.com/flashplatform/2011/11/flash-to-focus-on-pc-browsing-and-mobile-apps-adobe-to-more-aggressively-contribute-to-html5.html" title="abandon de Flash Player pour mobile" >abandon de Flash Player pour mobile</a>. Une vague de rumeurs et de confusions s&#8217;est alors abattue un peu partout, certaines personnes confondant le Flash Player avec la solution AIR pour mobile qu&#8217;Adobe ne compte pas abandonner. Tout aurait pu s&#8217;arrêter là mais c&#8217;était sans compter sur les autres communiqués plutôt maladroits d&#8217;Adobe pour annoncer leur intention de miser sur <a
href="http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html" title="HTML5 dans le futur" >HTML5 dans le futur</a> et de leur intention de fournir <a
href="http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html" title="Flex à la communauté" >Flex à la communauté</a>. Ce qui a provoqué de vives réactions au sein de la communauté Flex, le plus parlant est bien entendu le <a
href="http://www.flex-tutorial.fr/2011/11/14/point-important-sur-les-decisions-dadobe-sur-le-futur-de-la-flash-platform-et-de-flex/" title="billet de Fabien Nicollet" >billet de Fabien Nicollet</a> auteur du blog Flex Tutorial qui montre bien l&#8217;inquiétude et l&#8217;incompréhension face à ces annonces. Finalement, suite à la panique engendrée, <a
href="http://www.riagora.com/" title="Michael Chaize" >Michael Chaize</a>, évangéliste de la plateforme Flash chez Adobe France a pris l&#8217;initiative de réaliser un communiqué non officiel à la communauté francophone pour la rassurer. Dans ce qui peut être dit :</p><ul><li>Adobe n&#8217;abandonnera pas Flex, une équipe Adobe &#8211; diminuée certes &#8211; travaillera en collaboration avec la communauté et d&#8217;autres sociétés utilisatrices de Flex,</li><li>La totalité du projet Flex sera donnée à la communauté mais on ne sait pas encore à quelle fondation open source elle appartiendra,</li><li>Adobe devrait donner plus d&#8217;informations sur Flex au moment de la sortie de la release de la version 4.6 qui est prévue pour le 29 Novembre 2011.</li></ul><p>Au delà de la communauté francophone, on peut voir aussi beaucoup de réactions au travers des commentaires et réactions sur Twitter. Ce qui commence à faire réagir Adobe qui s&#8217;active pour réaliser une communication plus claire. Cette maladresse semble avoir ébranlé la communauté Flex. Espérons que les annonces à venir permettront de rassurer tout le monde et que l&#8217;ouverture de Flex à la communauté soit le début de belles initiatives.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="SortiedeJQuery"></a>Sortie de JQuery 1.7</h4><p>La nouvelle version de la très populaire librairie Javascript est <a
href="http://blog.jquery.com/2011/11/03/jquery-1-7-released/" title="sortie" >sortie</a> en début de mois avec son lot de nouveautés.</p><p>Au rang des changements, on notera l&#8217;apparition d&#8217;une nouvelle API de gestion des évènements. Celle-ci remplace et unifie les méthodes existantes de <em>binding</em> d&#8217;évènements (<code>bind()</code>, <code>click()</code>, <code>delegate()</code> et <code>live()</code>) par la méthode <code>on()</code>, et d&#8217;<em>unbinding</em> (<code>unbind()</code>, <code>undelegate()</code> et <code>die()</code>) par la méthode <code>off()</code>.<br
/> Cette nouvelle méthode <code>on</code> est définie par la signature suivante : <code>on(events [,selector] [,data], handler)</code> (les éléments entre crochets sont optionnels). Elle permet donc d&#8217;associer une fonction de <em>callback</em> (<code>handler</code>) à un ou plusieurs évènement(s) déclenché(s) dans l&#8217;objet sur lequel la méthode <code>on</code> est appelé. Il est aussi possible de filtrer les éléments sur lesquels cette méthode s&#8217;applique à l&#8217;aide d&#8217;un <em>css selector</em> et de passer des données à la fonction de <em>callback</em>.<br
/> La fonction <code>off</code> de son côté possède la signature <code>off([events], [,selector] [,handler])</code> permettant de supprimer des <em>bindings</em>. Les méthodes de <em>binding</em> habituelles sont encore présentes pour des raisons de rétro-compatibilité mais sont désormais dépréciées.</p><p>Cette nouvelle API vient avec une nouveau moteur de gestion des évènements qui amène une amélioration sensible des performances dans la majorité des cas.</p><p>Pour ce qui est des autres nouveautés :</p><ul><li>amélioration du support de HTML5,</li><li>un fonctionnement plus intuitif des méthodes <code>slideToggle()</code> et <code>fadeToggle()</code>,</li><li>le support de l&#8217;API <a
href="https://github.com/amdjs/amdjs-api/wiki/AMD" title="Asynchronous Module Definition" >Asynchronous Module Definition</a> permettant la définition de modules qui pourront être chargées de manière asynchrone,</li><li>de nombreuses autres améliorations et corrections de bug à voir dans le <a
href="http://blog.jquery.com/2011/11/03/jquery-1-7-released/" title="billet dannonce" >billet d&#8217;annonce</a>.</li></ul><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="CITCONLondon"></a>CITCON London 2011</h4><p>La <a
href="http://www.citconf.com/" title="CITCON" >CITCON</a> (Continuous Integration and Testing Conference) s&#8217;est déroulé du 11 au 12 novembre à Londres dans les locaux de <a
href="http://skillsmatter.com/" title="Skills Matter" >Skills Matter</a>. Comme son nom l&#8217;indique, cette conférence est dédiée à tout ce qui touche à l&#8217;intégration continue et aux tests mais c&#8217;est avant tout un événement de type &laquo;&nbsp;Open Space&nbsp;&raquo;.</p><p><strong> Le principe de la CITCON</strong></p><p>Le premier jour de la conférence débute à 18h. Tous les participants (environ une centaine) sont invités à proposer un sujet (débats, présentation technique, démonstration d&#8217;un outil, &#8230;). Un court résumé est rédigé sur un post-it qui sera ensuite collé sur un immense tableau représentant le planning de la conférence :</p><div
align="center"> <a
href="http://blog.xebia.fr/wp-content/uploads/2011/11/planning.jpeg"><img
src="http://blog.xebia.fr/wp-content/uploads/2011/11/planning-225x300.jpg" alt="" title="planning" width="225" height="300" class="aligncenter size-medium wp-image-9152" /></a></div><p>Le planning s&#8217;est très vite rempli, il y avait 5 salles à notre disposition pour les 5 slots horaires prévus (1 heure par slot). Vous l&#8217;aurez compris, le contenu de la conférence est entièrement créé par la communauté. Elle est libre de proposer les sujets mais également l&#8217;heure à laquelle ils seront abordés (on parle de planning refactoring, tout le monde avait la possibilité de changer les post-it de place). Comme 5 sujets sont animés en parallèle, les participants avaient la possibilité de quitter une salle pour se rendre dans une autre si finalement la discussion ne les satisfaisait pas, c&#8217;est ce qu&#8217;on appelle la <em>règle des deux pieds</em>.</p><p><strong>Les sujets abordés</strong><br
/> Voici une liste non exhaustive des discussions animées par les participants.</p><ul><li><a
href="http://citconf.com/wiki/index.php?title=Root_Cause_Analysis" title="Root Cause Analysis" >Root Cause Analysis</a> by Squirrel</li><li><a
href="http://citconf.com/wiki/index.php?title=Aramis:_Why_do_projects_fail" title="Aramis Why do projects fail" >Aramis: Why do projects fail</a> by Eric Lefevre-Ardent.</li><li><a
href="http://citconf.com/wiki/index.php?title=Dev_and_Ops_and_System_Ops_oh_my" title="Dev and Ops and System Ops oh my" >Dev and Ops and System Ops oh my</a> by Squirrel</li><li><a
href="http://citconf.com/wiki/index.php?title=Configuration_Changes" title="Configuration Changes" >Configuration Changes</a></li><li><a
href="http://citconf.com/wiki/index.php?title=What_can_we_learn_from_CI" title="What can we learn from CI" >What can we learn from CI</a> by Benjamin Mitchel</li><li><a
href="http://citconf.com/wiki/index.php?title=Do_you_use_your_tests_in_prod" title="Do you use your tests in prod" >Do you use your tests in prod</a></li><li><a
href="http://citconf.com/wiki/index.php?title=Radiators" title="Radiators" >Radiators</a> by <a
href="http://citconf.com/wiki/index.php?title=Tom_Denley" title="Tom Denley" >Tom Denley</a></li><li>How to move an agile team from Continuous Integration to Continuous Deployment</li><li>To feature branch or not to feature branch</li><li>Are you satisfied of your build tools</li><li>TDD : Hands On</li><li>&#8230;</li></ul><p>N&#8217;ayant pu assister à toutes les présentations, je vous livre quelques informations (il est difficile de retranscrire l&#8217;intégralité des discussions).</p><p><strong>TDD : Hands On</strong><br
/> La session TDD animée par <strong>Steve Freeman</strong> (l&#8217;auteur du livre <em>Growing Object-Oriented Software, Guided by Tests</em>) était très intéressante. Un des participants voulait comprendre comment mettre en place le Test Driven Development dans son projet. Pour ce faire, il a projeté sur le video-projecteur une méthode écrite en Java non testée. Steve Freeman a guidé l&#8217;assistance de bout en bout. De la création de la classe de tests jusqu&#8217;à l&#8217;injection de dépendances en passant par l&#8217;écriture de tests unitaires mettant en exergue les règles de gestion de la classe à refactorer.</p><p><strong>Are you satisfied of your build tools ?</strong><br
/> Un premier tour de table était destiné à lister tous les outils de builds utilisés au quotidien par les participants. Les noms de Ant, Gradle, Maven sont évidemment sortis assez vite, mais il existe toujours des projets qui utilisent Make. Nous avons abordés les outils connexes que sont Jenkins, Teamcity et des plugins comme m2eclipse.</p><p><strong>La conférence s&#8217;achève</strong><br
/> En fin d&#8217;après midi, nous voilà tous réunis pour exprimer en quelques mots les moments forts et les souvenirs que nous garderons de CITCON 2011. Un tirage au sort a permis à quelques chanceux de gagner des livres tels que Agile Testing et Domain Specific Language.</p><p>C&#8217;était un réel plaisir d&#8217;assister à la CITCON, énormément de passionnés venant parfois de très loin. Il y a forcément une certaine déception de ne pouvoir assister à toutes les présentations, par exemple à celle où un participant a construit un robot pour tester Angry Birds automatiquement !</p><div
class="shr-publisher-9144"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F11%2F15%2Frevue-de-presse-xebia-237%2F' data-shr_title='Revue+de+presse'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F11%2F15%2Frevue-de-presse-xebia-237%2F' data-shr_title='Revue+de+presse'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/11/08/revue-de-presse-xebia-2011-46/</link> <comments>http://blog.xebia.fr/2011/11/08/revue-de-presse-xebia-2011-46/#comments</comments> <pubDate>Tue, 08 Nov 2011 09:35:49 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Agile]]></category> <category><![CDATA[Cassandra]]></category> <category><![CDATA[EC2]]></category> <category><![CDATA[Eclipse]]></category> <category><![CDATA[Harmony]]></category> <category><![CDATA[Performance]]></category> <category><![CDATA[Xtend]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8982</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Apache Harmony: l&#8217;accord final Eclipse souffle ses 10 bougies! Et un nouveau langage, un! Agilité ﻿﻿Jeux agiles, c&#8217;est sérieux Le coin de la technique Benchmarking de Cassandra avec Amazon EC2 Evénements de notre communauté en France et à l&#8217;étranger Velocity [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="#RevuedePresseXebia-ApacheHarmony%3Al%27accordfinal">Apache Harmony: l&#8217;accord final</a></li><li><a
href="#RevuedePresseXebia-Eclipsesouffleses10bougies%21">Eclipse souffle ses 10 bougies!</a></li><li><a
href="#RevuedePresseXebia-Etunnouveaulangage%2Cun%21">Et un nouveau langage, un!</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="#RevuedePresseXebia-%EF%BB%BF%EF%BB%BFJeuxagiles%2Cc%27ests%C3%A9rieux">﻿﻿Jeux agiles, c&#8217;est sérieux</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="#RevuedePresseXebia-BenchmarkingdeCassandraavecAmazonEC2">Benchmarking de Cassandra avec Amazon EC2</a></li></ul><p><strong>Evénements de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="#RevuedePresseXebia-VelocityEurope%C3%A0Berlinle8et9novembre">Velocity Europe à Berlin le 8 et 9 novembre</a></li></ul><h3><a
name="RevuedePresseXebia-Actualit%C3%A9%C3%A9diteurs%2FSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="RevuedePresseXebia-ApacheHarmony%3Al%27accordfinal"></a>Apache Harmony: l&#8217;accord final</h4><p><a
href="http://article.gmane.org/gmane.comp.java.classpath.devel/5521" rel="nofollow">Lancé en 2005</a>, le projet <a
href="http://harmony.apache.org/" rel="nofollow">Harmony</a> avait pour finalité de créer un JDK distribué sous licence Apache.</p><p>Le but était noble, mais le chemin, semé d&#8217;embûches: craignant sans doute que la concurrence d&#8217;une implémentation open-source et non-virale du JDK ne lui fasse de l&#8217;ombre, Sun a toujours opposé une fin de non-recevoir aux demandes adressées <a
href="http://www.apache.org/jcp/sunopenletter.html" rel="nofollow">depuis 2006</a> par la Fondation Apache afin d&#8217;obtenir un accès au <a
href="http://jcp.org/en/resources/tdk" rel="nofollow">TCK (Technology Compatibility Kit)</a>, le précieux sésame indispensable pour qu&#8217;Harmony puisse bénéficier du label Java.</p><p><a
href="http://blog.xebia.fr/2009/04/20/oracle-rachete-sun/" rel="nofollow">L&#8217;acquisition de Sun par Oracle en 2009</a> marqua un tournant dans le monde Java, mais n&#8217;a pas vraiment changé l&#8217;ostracisme dont souffrait Harmony.</p><p>2010 fut l&#8217;année des défections: <a
href="http://blog.xebia.fr/2010/10/12/revue-de-presse-xebia-180/#IBMrejointleprojetOpenJDK" rel="nofollow">IBM d&#8217;abord</a>, son sponsor principal, puis <a
href="http://blog.xebia.fr/2010/11/16/revue-de-presse-xebia-185/#ApplevacollaborerauprojetOpenJ" rel="nofollow">Apple</a>, ont tous deux décidé d&#8217;<a
href="http://blog.xebia.fr/2010/10/26/revue-de-presse-xebia-182/#LeJDKdApplecestfini" rel="nofollow">orienter leurs développements</a> vers le projet OpenJDK, l&#8217;implémentation open-source mise en avant par Oracle – mais cette fois-ci, il s&#8217;agit d&#8217;une licence GPL, licence bel et bien virale bien qu&#8217;adoucie par l&#8217;<a
href="http://en.wikipedia.org/wiki/GPL_linking_exception#The_classpath_exception" rel="nofollow">exception de classpath</a>. <a
href="http://blog.xebia.fr/2010/10/26/revue-de-presse-xebia-182/#DurififiauJCP" rel="nofollow">C&#8217;en fut trop</a> pour la Fondation Apache, qui <a
href="http://blog.xebia.fr/2010/11/16/revue-de-presse-xebia-185/#OracleetApachedeleaudanslegaz" rel="nofollow">menaça</a> d&#8217;abord de claquer la porte du JCP (<em>Java Community Process</em>) – puis, un mois plus tard, mit ses menaces <a
href="http://blog.xebia.fr/2010/12/14/revue-de-presse-xebia-189/#JavaCommunityProcesslaFondatio" rel="nofollow">à exécution</a>.</p><p>L&#8217;année 2011 démarre sous de meilleurs auspices: c&#8217;est la réconciliation, entre Oracle et la communauté Java d&#8217;une part; entre Oracle et ses partenaires d&#8217;autre part. Mais voilà que cette réconciliation se fit autour du projet OpenJDK, paré désormais de <a
href="http://blog.xebia.fr/2011/02/08/revue-de-presse-xebia-197/#Nouvellesrglesetgouvernancedup" rel="nofollow">nouveaux statuts fédérateurs</a> et du titre d&#8217;implémentation de référence de <a
href="http://blog.xebia.fr/2011/08/02/revue-de-presse-xebia-222/#Java" rel="nofollow">Java 7</a>. Le projet Harmony se trouva alors <a
href="http://blog.xebia.fr/2011/06/15/revue-de-presse-xebia-215/#LavenirdeJavasejouemaintenant" rel="nofollow">définitivement hors-jeu</a>. Google, le seul à avoir misé sur Harmony dont il équipa son système d&#8217;exploitation Android, <a
href="http://blog.xebia.fr/2010/08/17/revue-de-presse-xebia-172/#OraclepoursuitGooglepourviolat" rel="nofollow">en fait encore les frais</a>: le procès-fleuve qui l&#8217;oppose à Oracle est en effet <a
href="http://fosspatents.blogspot.com/2011/10/oracle-google-trial-postponed-beyond.html" rel="nofollow">loin de se terminer</a>.</p><p><a
href="http://blog.xebia.fr/2011/03/22/revue-de-presse-xebia-203/#ApacheHarmonyencoredescouacs" rel="nofollow">En présentant sa démission</a> en mars dernier, Tim Ellison, alors président du PMC (<em>Project Management Committee</em>) du projet Apache Harmony, avait déjà évoqué l&#8217;hypothèse funeste d&#8217;un déplacement du projet déjà moribond vers le <a
href="http://attic.apache.org/" rel="nofollow">mouroir des projets Apache</a>. Voilà qui est malheureusement chose faite aujourd&#8217;hui: le 29 octobre dernier un vote fut lancé, et le 3 novembre, la décision fut <a
href="http://markmail.org/thread/zmd22hkyukfbibh5" rel="nofollow">validée à 20 voix contre 2</a> : c&#8217;est donc officiellement <a
href="http://www.infoq.com/news/2011/11/apache-harmony-finale" rel="nofollow">la fin du projet Harmony</a>.</p><h4><a
name="RevuedePresseXebia-Eclipsesouffleses10bougies%21"></a>Eclipse souffle ses 10 bougies!</h4><p>Nos confrères d&#8217;InfoQ <a
href="http://www.infoq.com/news/2011/11/eclipse-10" rel="nofollow">n&#8217;ont pas manqué de célébrer cette première décennie du célèbre IDE</a> et retracent sa passionnante histoire, des débuts dans le giron d&#8217;IBM, en passant par la création de la Fondation Eclipse en 2004 puis par la &laquo;&nbsp;révolution&nbsp;&raquo; OSGi, et jusqu&#8217;au succès grandissant des rassemblements annuels EclipseCon en Amérique et en Europe. Il en ressort un constat admiratif: que l&#8217;on en soit adepte ou bien détracteur, Eclipse a bel et bien marqué de son empreinte le développement logiciel de ces dernières années.</p><h4><a
name="RevuedePresseXebia-Etunnouveaulangage%2Cun%21"></a>Et un nouveau langage, un!</h4><p>Et justement, parlons-en d&#8217;Eclipse! Edité par la Fondation Eclipse, <a
href="http://www.eclipse.org/Xtext/xtend/" rel="nofollow">Xtend</a> est un langage de programmation à typage statique basé sur Java (même système de typage, support complet des generics) mais qui améliore certains de ses concepts. Ce dernier n’a pas pour ambition de détrôner Java, mais d&#8217;en étendre les capacités là où il pèche. En effet, il diminue notamment les éléments de syntaxe inutiles et rend le code plus lisible et maintenable grâce à:</p><ul><li>L’inférence de types sur les déclarations de variables, les types de retour, les boucles <code>for</code> et les closures;</li><li>L’invocation des getters et setters en accédant directement à la propriété de l’objet;</li><li>Les point-virgules deviennent optionnels mais aussi les parenthèses pour les méthodes sans arguments. Le mot clé <code>return</code> devient lui aussi optionnel, la dernière expression de la méthode est implicitement considérée comme une valeur de retour.</li></ul><p>Techniquement, le code Xtend est compilé en Java et non en <em>bytecode</em> via une compilation incrémentale. De ce fait, le code compilé peut être aisément lu et compris par un développeur Java et être utilisé pour développer sous Android ou GWT par exemple.</p><p>Aussi, Xtend vient directement avec un support IDE poussé (Eclipse naturellement), qui offre une expérience de développement quasi similaire au développement en Java standard avec les IDE modernes (coloration syntaxique, navigation, compilation incrémentale, refactoring, etc.). Il est aussi possible de naviguer depuis du code Xtend vers du Java et vice et versa.</p><p>Enfin, preuve que Xtend n’a pas pour vocation de remplacer Java mais de le moderniser, le langage est capable de produire uniquement des classes. Pour le reste (interfaces, enums et annotations), il s’appuie sur sur le modèle éprouvé de Java.</p><p>Côté &laquo;&nbsp;sucres syntaxiques&nbsp;&raquo;, voici ceux proposé par le langage:</p><ul><li>Les <a
href="http://www.eclipse.org/Xtext/xtend/#closures" rel="nofollow">closures</a>, qui restent à ce jour l’une des fonctionnalités les plus attendues pour le langage Java. La documentation montre plusieurs manières de les mettre en oeuvre.</li><li>Un <a
href="http://www.eclipse.org/Xtext/xtend/#switchexpression" rel="nofollow">bloc <code>switch</code></a> amélioré: plus aucun risque d’enchaîner les <code>case</code> par oubli du mot-clé <code>break</code>, le <code>switch</code> à la mode Xtend n&#8217;évalue qu&#8217;un seul bloc <code>case</code> tout au plus. Il offre aussi la possibilité de lui passer presque n’importe quel type d’objet (exceptés le type primitif boolean et son wrapper). De plus, l’instruction <code>case</code> a été améliorée et peut désormais effectuer toute sorte de tests sur l’objet évalué, et non plus un simple test d’égalité :</li></ul><pre class="brush: java; title: ; notranslate">
switch myString {
 case myString.length &gt; 5 : 'a long string.'
 case 'foo' : 'It's a foo.'
 default : 'It's a short nonfoo string.'
}
</pre><p>Le langage offre aussi la possibilité de typer les instructions <code>case</code> en les préfixant par un type, dans le cas où l’objet passé en paramètre du <code>switch</code> serait étendu par d’autres classes. Dès lors, un opérateur <code>instanceof</code> est évalué et un cast implicite est effecuté pour accéder aux propriétés et méthodes de l’objet:</p><pre class="brush: java; title: ; notranslate">
var Object x = ...;
switch x {
 String case x.length() &gt; 0 : x.length()
 List&lt;?&gt; : x.size()
 default : 1
}
</pre><ul><li>Les <a
href="http://www.eclipse.org/Xtext/xtend/#templateexpression" rel="nofollow">Template expressions</a> qui permettent entre autres de déclarer une chaîne de caractères sur plusieurs lignes sans utiliser l’opérateur de concaténation, mais aussi de déclarer la chaîne avec des guillemets simples (<em>single quotes</em>) pour éviter de multiplier les caractères d’échappement. Cette fonctionnalité permet aussi de formater/indenter et de gérer les whitespaces des outputs aisément.</li><li>Les <a
href="http://www.eclipse.org/Xtext/xtend/#extensionmethods" rel="nofollow">Méthodes d’extension</a> : Xtend tient son nom de sa capacité à étendre les types via des méthodes d’extensions. Ces méthodes d&#8217;extension permettent d’ajouter des méthodes à des types existants sans les modifier.</li><li>Le <a
href="http://www.eclipse.org/Xtext/xtend/#multipledispatch" rel="nofollow">Multiple dispatch</a>: plus connu sous le nom de surcharge de méthode. Par défaut, Java ou même Xtend lient les méthodes surchargées à la compilation en se basant sur les types statiques des arguments. En déclarant le mot clé <code>dispatch</code> dans la signature de la méthode, le langage permet de définir un ensemble de méthodes surchargées basé sur les types des arguments au runtime.</li></ul><p>A noter que Xtend a été développé avec <a
href="http://www.eclipse.org/Xtext/" rel="nofollow">Xtext</a>, un framework pour le développement de <a
href="http://en.wikipedia.org/wiki/Domain_specific_language" rel="nofollow">Domain Specific Langages</a>, et est basé sur <a
href="http://www.eclipse.org/Xtext/#xbase" rel="nofollow">Xbase</a>, un ensemble prédéfini d&#8217;expressions qui peuvent être utilisées simplement pour développer n&#8217;importe quel langage avec Xtext.</p><h3><a
name="RevuedePresseXebia-Agilit%C3%A9"></a>Agilité</h3><h4><a
name="RevuedePresseXebia-%EF%BB%BF%EF%BB%BFJeuxagiles%2Cc%27ests%C3%A9rieux"></a>﻿﻿Jeux agiles, c&#8217;est sérieux</h4><p>Le buzz de cet automne ce sont les jeux agiles. Le mouvement <a
href="http://www.aubryconseil.com/post/L-engouement-pour-le-jeu-agile-et-innovation" rel="nofollow">prend de l&#8217;ampleur</a> et de plus en plus d&#8217;agilistes en France se tournent vers ce type d&#8217;ateliers ludiques mais véritablement efficaces pour leur travail au quotidien, des exemples récents <a
href="http://www.agilex.fr/2011/06/lamelioration-avec-un-speed-boat/" rel="nofollow">ici</a>, ou encore <a
href="http://www.qualitystreet.fr/2011/10/14/souviens-toi-du-futur-mon-ombre-et-moi-mettre-lexperience-utilisateur-au-coeur-du-jeu/" rel="nofollow">là</a> le démontrent. Chez Xebia nous utilisons aussi des <em><a
href="http://www.innovationgames.com" rel="nofollow">Innovation Games</a></em>(R) pour cadrer un projet, résoudre des situations de blocage chez nos clients, ou simplement animer une rétrospective de sprint. Mais les jeux sont aussi un moyen d&#8217;apprentissage puissant. Lors de son passage il y a 2 semaines pour une formation Kanban chez Xebia, David Anderson nous a fait jouer à <a
href="http://getkanban.com/" rel="nofollow">getKanban</a>, un jeu qui permet de simuler la mise en oeuvre d&#8217;une gestion de projet façon Kanban. Pendant le jeu, le formateur est là pour nous éclairer sur nos prises de décisions et répondre à nos interrogations, les stagiaires sont acteurs de leur acquisition de connaissance et l&#8217;erreur est possible, voire encouragée. Si vous êtes curieux de ces techniques et souhaitez participer à une mise en oeuvre, notez dans vos agendas la <a
href="http://www.meetup.com/frenchsug/events/37782582/" rel="nofollow">SCRUM Night</a> organisée par le French SUG le 7 Décembre et dont le programme sera composé uniquement d&#8217;ateliers ludiques et de jeux sérieux (l&#8217;agenda est en cours de construction). De son côté, Xebia présentera un sujet intitulé &laquo;&nbsp;Ludification du travail&nbsp;&raquo; le 10 Novembre prochain à l&#8217;EPITA lors de sa 24ème semaine de Conférences Technologiques.</p><h3><a
name="RevuedePresseXebia-Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="RevuedePresseXebia-BenchmarkingdeCassandraavecAmazonEC2"></a>Benchmarking de Cassandra avec Amazon EC2</h4><p>Les personnes qui étaient aux derniers ateliers <a
href="http://blog.xebia.fr/tech-event/" rel="nofollow">Xebia Tech Event</a> auront remarqué l&#8217;utilisation d&#8217;Amazon EC2 afin d&#8217;équiper les participants en environnements de travail virtuels. Le site Netflix propose un retour d&#8217;expérience de l&#8217;utilisation d&#8217;Amazon EC2 dans le cadre de tests de charge du système NoSQL d&#8217;Apache, Cassandra.<br
/> La charge est produite par l&#8217;outil de <b>stress test</b> distribué fourni avec Cassandra, sur des instances créées sur Amazon EC2.</p><p>Les outils développés par Netflix sont capables de créer, en une heure, un cluster comprenant :</p><ul><li>288 instances de tailles de type M1 Extra Large (m1.xl) réparties sur trois continents;</li><li>60 instances pour le client de stress test (type m2.4xl) sur un seul continent.</li></ul><p>Netflix précise qu&#8217;Amazon a mis environ 15 minutes pour créer les 348 instances! Les 45 autres minutes de préparation de l&#8217;infrastructure ont été prises par le temps de démarrage de Linux, les JVM des injecteurs, de Cassandra et la création de l&#8217;anneau du cluster.<br
/> Le test a duré 2 heures, pour un coût total de quelques centaines de dollars. L&#8217;avantage mis en avant par Netflix d&#8217;utiliser Amazon EC2 est de pouvoir réaliser des tests à très grande échelle, en quelques heures, sans aucun pré-requis matériel ou même impacter l&#8217;infrastructure de production. Ce test aurait certainement été plus lent et plus coûteux à organiser dans un datacenter privé d&#8217;entreprise.</p><p>Netflix a mesuré deux éléments :</p><ul><li>la persistance sur le disque pour l&#8217;écriture;</li><li>la performance de cache en mémoire pour la lecture.</li></ul><p>Les tests ont été lancés avec 48, puis 96, 144 et enfin 288 instances, avec 10,20,30 et 60 clients. Vous retrouverez dans <a
href="http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html" rel="nofollow">leur billet</a> les configurations matérielles utilisées lors de ces tests. Un tableau récapitulatif donne une estimation du coût du test de charge entre chaque tir.<br
/> Etant donné que les injecteurs de tests étaient sur un continent (Amérique), et les clusters sur trois (Europe, Asie, Amérique), 2/3 du trafic était intercontinental.</p><p>Chaque injecteur génère 20 000 requêtes par seconde. Le client est connecté à 3 noeuds Cassandra. Le principe du LOCAL QUORUM est ici utilisé (on attend la réponse de N/2 + 1 noeuds pour la confirmation). Le débit d&#8217;écriture a atteint 1,1 million d&#8217;écritures par seconde sur tout le système. Avec la réplication entre chaque noeud, on arrive à 3,3 million d&#8217;écritures par seconde.<br
/> Les mesures effectuées prouvent une montée en charge linéaire de 48 à 288 instances sans identifier de goulet d&#8217;étranglement. Les mesures unitaires de chaque noeud montrent une activité équivalente, preuve que le cluster distribue correctement la charge.</p><p>Cela démontre bien les nouvelles possibilités offertes par les systèmes d&#8217;infrastructure sur demande, et les défis que cela nous permet de relever.</p><h3><a
name="RevuedePresseXebia-Ev%C3%A9nementsdenotrecommunaut%C3%A9enFranceet%C3%A0l%27%C3%A9tranger"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="RevuedePresseXebia-VelocityEurope%C3%A0Berlinle8et9novembre"></a>Velocity Europe à Berlin le 8 et 9 novembre</h4><p>Velocity Europe organise mardi 8 et mercredi 9 une conférence à Berlin sur le thème Web Performance et Operations.<br
/> Les <a
href="http://velocityconf.com/velocityeu/public/schedule/presentations" rel="nofollow">présentations</a> abordent de nombreux sujets passionnants.<br
/> Voici quelques unes des sessions sur les performances Web :</p><ul
type="square"><li><a
href="http://velocityconf.com/velocityeu/public/schedule/detail/21874" rel="nofollow">Know Your Engines: How to Make Your JavaScript Fast</a></li><li><a
href="http://velocityconf.com/velocityeu/public/schedule/detail/22069" rel="nofollow">Mobile UI Performance</a></li><li><a
href="http://velocityconf.com/velocityeu/public/schedule/detail/21823" rel="nofollow">Performance Automation 101</a></li></ul><p>Et sur les operations :</p><ul
type="square"><li><a
href="http://velocityconf.com/velocityeu/public/schedule/detail/21669" rel="nofollow">Be Fast Or Stay Behind &#8211; Building A Continuous Delivery Platform</a></li><li><a
href="http://velocityconf.com/velocityeu/public/schedule/detail/21708" rel="nofollow">HTTP Connection Management, From 10 Users To 100 million</a></li><li><a
href="http://velocityconf.com/velocityeu/public/schedule/detail/21637" rel="nofollow">NoSQL Performance In The Real World</a></li></ul><p>Des keynotes auront également lieu avec des speakers venus de Google, Amazon, Dynatrace, New Relic, etc.<br
/> Il est important de préciser que certaines présentations sont retransmises en <a
href="http://velocityconf.com/velocityeu/public/content/video" rel="nofollow">direct</a>, mais pas forcément celles qu&#8217;on voudrait <img
src="/confluence/images/icons/emoticons/sad.gif" height="20" width="20" align="absmiddle" alt="" border="0" /> .</p><div
class="shr-publisher-8982"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F11%2F08%2Frevue-de-presse-xebia-2011-46%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F11%2F08%2Frevue-de-presse-xebia-2011-46%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/11/08/revue-de-presse-xebia-2011-46/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/10/25/revue-de-presse-xebia-2011-44/</link> <comments>http://blog.xebia.fr/2011/10/25/revue-de-presse-xebia-2011-44/#comments</comments> <pubDate>Tue, 25 Oct 2011 09:11:31 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Continuous Deployment]]></category> <category><![CDATA[JavaFX]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[SCRUM]]></category> <category><![CDATA[SpringSource Tool Suite]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8895</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII Spring Suite Tool (STS) 2.8.0 L&#8217;avenir des clients Java passera par JavaFX Agilité Estimations Les métriques du bonheur Le coin de la technique Continuous Deployment Actualité éditeurs / SSII Spring Suite Tool (STS) 2.8.0 SpringSource vient de sortir la dernière [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="#RevuedePresseXebia-SpringSuiteTool%28STS%292.8.0">Spring Suite Tool (STS) 2.8.0</a></li><li><a
href="#RevuedePresseXebia-L%27avenirdesclientsJavapasseraparJavaFX">L&#8217;avenir des clients Java passera par JavaFX</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="#RevuedePresseXebia-Estimations">Estimations</a></li><li><a
href="#RevuedePresseXebia-Lesm%C3%A9triquesdubonheur">Les métriques du bonheur</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="#RevuedePresseXebia-ContinuousDeployment">Continuous Deployment</a></li></ul><h3><a
name="RevuedePresseXebia-Actualit%C3%A9%C3%A9diteurs%2FSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="RevuedePresseXebia-SpringSuiteTool%28STS%292.8.0"></a>Spring Suite Tool (STS) 2.8.0</h4><p>SpringSource vient de sortir la dernière version de son IDE basé sur Eclipse : Spring Source Tool Suite (STS) 2.8.0. Il inclut désormais Eclipse Indigo SR1, avec le support de Java 7. Il ajoute également le support de Spring 3.1 pour la configuration des beans : profiles et c-namespace. De plus, l&#8217;intégration avec Maven s&#8217;améliore avec le passage de m2eclipse 0.12 à m2e 1.0 (attention tout de même, ce dernier introduit la notion de connectors qui sont requis pour lier les plugins à Eclipse mais n&#8217;existent pas pour tous les plugins Maven, certains <a
href="http://grumpyapache.blogspot.com/2011/08/mess-that-is-m2e-connectors.html" rel="nofollow">l&#8217;ont subi avec difficulté</a>).</p><p>Vous utilisez Spring mais pas STS? Vous devriez essayer! Tous les plugins pour Spring sont présents et le téléchargement inclut les dernières versions de Maven (3.0.3), Spring Roo (1.1.5) et tcServer (2.6.1).</p><h4><a
name="RevuedePresseXebia-L%27avenirdesclientsJavapasseraparJavaFX"></a>L&#8217;avenir des clients Java passera par JavaFX</h4><p>Durant la dernière conférence JavaOne 2011, Oracle a dévoilé <a
href="http://www.infoq.com/news/2011/10/oracle-client-java" rel="nofollow">sa stratégie</a> concernant les applications clientes Java. Sans surprise, Oracle mise sur <a
href="http://javafx.com" rel="nofollow">JavaFX</a>.<br
/> Pour rappel, JavaFX est une API pour développer des RIA (desktop ou mobile), apparue il y a quelques années, mais qui n&#8217;a pas rencontré le succès escompté. Face à cet échec, une nouvelle version 2.0 de JavaFX a été présentée à la conférence JavaOne 2010.<br
/> Parmi les nouveautés marquantes, on peut noter l&#8217;abandon du langage Fx Script pour une API full Java. Cela permet notamment l&#8217;utilisation d&#8217;autres langages compatibles avec la JVM, tels que Groovy ou Scala. On voit aussi apparaître un descripteur d&#8217;interface graphique au format FXML. Celui-ci sera accompagné d&#8217;un outil graphique (standalone pour le moment), Java Fx Scene Builder, facilitant la création des interfaces. Cet outil fera son apparition courant 2012. Enfin, JavaFX pourra embarquer des composants HTML5 et JavaScript via l&#8217;utilisation de <a
href="http://www.webkit.org/" rel="nofollow">WebKit</a>. <a
href="http://www.theserverside.com/feature/Project-Avatar-One-HTML5-Strategy-to-Rule-Them-All" rel="nofollow">Le projet Avatar</a> pousse même encore plus loin, en proposant des applications hybrides avec des interactions entre le monde JavaFx et HTML5.</p><p>Afin d&#8217;accélérer son développement, JavaFX va devenir open-source et sera intégré directement dans le projet OpenJDK. En parallèle, J2ME, l&#8217;API mobile historique de Java, va être unifié aussi dans le prochain JDK.</p><p>L&#8217;objectif d&#8217;Oracle est de diffuser JavaFx sur un maximum de périphériques possibles: desktops, mobiles et tablettes. Potentiellement, tous les périphériques compatibles avec la JVM pourront supporter JavaFX. Une version bêta est d&#8217;ores et déjà disponible pour Mac OS X. Une version pour Linux (Ubuntu) fera son apparition en 2012. Au final, JavaFx 3 sera intégré dans le JDK 8 prévu pour 2013 et sera compatible avec toutes les plateformes.</p><h3><a
name="RevuedePresseXebia-Agilit%C3%A9"></a>Agilité</h3><h4><a
name="RevuedePresseXebia-Estimations"></a>Estimations</h4><p>Un sujet revient régulièrement lorsque l&#8217;on parle d&#8217;agilité, c&#8217;est celui de la planification et de l&#8217;estimation de la durée d&#8217;un projet. InfoQ a d&#8217;ailleurs publié récemment 3 articles dédiés au sujet.</p><p><a
href="http://www.infoq.com/news/2011/09/how-long-to-build" rel="nofollow">Le 1er article</a> parle de la problématique d&#8217;estimer un projet dans sa globalité. Un tel problème fait toujours bondir les agilistes ! En fait, plus le contexte est connu et maîtrisé par l&#8217;équipe de développement, moins il est malhonnête de faire des estimations. Mais celles-ci sont généralement difficiles. Une idée évoquée est de démarrer avec un <em>scope</em> fixe permettant d&#8217;éduquer graduellement le client à l&#8217;Agile afin de lui ouvrir les yeux sur <a
href="http://martinfowler.com/bliki/FixedScopeMirage.html" rel="nofollow">le mirage du périmètre fixe</a>. Dans les commentaires, on trouve des avis contradictoires, mais tous valables. Adam Nemeth par exemple, <a
href="http://www.infoq.com/news/2011/09/how-long-to-build#view_75690" rel="nofollow">s&#8217;exclame</a> que les estimations sont inévitables: nous sommes payés pour résoudre les problèmes qu&#8217;ont d&#8217;autres et ils attendent les solutions pour une date donnée. Il est par exemple inconcevable de sortir le site internet des JO d&#8217;été de 2012 en hiver par la faute d&#8217;une erreur dans le chiffrage des tâches. Mais, plus loin dans son commentaire, on se rend compte que lui est capable de bien planifier car il a la chance de travailler dans un environnement stable avec des patterns de problèmes identiques pour lesquels il a pu mettre en place une solution qui s&#8217;applique à chaque fois. Dans un tel environnement &laquo;&nbsp;idéal&nbsp;&raquo;, il n&#8217;est pas inconcevable de pouvoir chiffrer aisément avec une bonne approximation.</p><p><a
href="http://www.infoq.com/news/2011/10/Time_to_Stop_Estimating_Stories" rel="nofollow">Le second article</a> se demande si le temps est venu d’arrêter d&#8217;estimer les <em>user stories</em>. On retrouve là aussi, en caricaturant, une distinction entre ceux qui pensent qu&#8217;il vaut mieux créer un produit de qualité et ceux qui pensent que les estimations sont, bien que science inexacte, un mal nécessaire. Les commentaires, une fois de plus, ne sont pas inintéressants. Josh Gough <a
href="http://www.infoq.com/news/2011/10/Time_to_Stop_Estimating_Stories#view_76024" rel="nofollow">y décrit</a> ce dans quoi certains se reconnaîtront: il parle des &laquo;&nbsp;guesstimates&nbsp;&raquo; (estimation basées sur rien de concret) et des &laquo;&nbsp;wishtimates&nbsp;&raquo; (lorsque la date prévisionnelle de fin de projet prise en compte est la date idéale) qui sont souvent utilisées en lieu et place d’estimations vraiment réalistes. Pour lui, elles sont généralement basées sur des aspects politiques ou des facteurs psychologiques qui donneront à la personne inexpérimentée qui est en charge une fausse sensation de contrôle. Que faire lorsque le management attend de vous non pas un intervalle de risque mais une date fixée dans le marbre ? Il préconise de manière pragmatique d&#8217;essayer de s&#8217;appuyer sur des données empiriques et factuelles ainsi que de sensibiliser les personnes à la complexité des projets, des tests et du risque. <a
href="http://www.infoq.com/news/2011/10/Time_to_Stop_Estimating_Stories#view_76026" rel="nofollow">Plus loin</a>, ce même Josh Goush utilise une analogie avec le travail d&#8217;un peintre. Confieriez-vous la peinture de votre maison à un peintre vous ayant fixé un prix sans même vous avoir demandé le nombre de pièces et leur taille ? En développement logiciel, c&#8217;est le même principe exception faite que la taille et le nombre des pièces est extrêmement dur à appréhender. Et nous revenons ici au principe de base de l&#8217;agilité qui est d&#8217;adapter le projet au fur et à mesure de son avancement aux besoins changeants du client. D&#8217;où l&#8217;impossibilité de déterminer une fois pour toutes un chiffrage en amont du développement.</p><p>Enfin, <a
href="http://www.infoq.com/news/2011/10/sustainable-pace-how" rel="nofollow">un troisième article</a> se demande ce que signifie le &laquo;&nbsp;rythme soutenable&nbsp;&raquo; évoqué dans <a
href="http://agilemanifesto.org/principles.html" rel="nofollow">le manifeste agile</a> et comment y parvenir. Le lien avec la difficulté d&#8217;estimer un projet est vite réalisé: il est fréquent que des estimations initiales prétendent tenir compte de tous les évènements imprévus (!). Dans ce cas, il n&#8217;y a plus que les heures sup&#8217; pour absorber les vrais évènements imprévus qui ne manquent pas de survenir. Au final il semble que tout le monde s&#8217;accorde à dire que les premières victimes d&#8217;un rythme élevé sont toujours la qualité et les bonnes pratiques.</p><h4><a
name="RevuedePresseXebia-Lesm%C3%A9triquesdubonheur"></a>Les métriques du bonheur</h4><p>Qui a dit que les métriques, si chères à notre gestion de projet, sont tristes et vous donnent le cafard le lundi matin en stand-up?  Que dire des courses à l&#8217;indicateur, pour atteindre l&#8217;objectif chiffré, quoi qu&#8217;il en coûte!<br
/> Anders Laestadius, coach agile suédois de son état, nous propose <a
href="http://blog.crisp.se/2011/10/19/anderslaestadius/the-happiness-metric-and-a-few-others" rel="nofollow">une liste</a> de quelques métriques que son expérience lui indique comme nécessaires:</p><ul><li>la mesure de bonheur ou de stress de l&#8217;équipe, pour la partie management</li><li>le pourcentage de duplication de code, ainsi que la couverture de tests, pour la partie conception de l&#8217;application</li><li>Le release burn down et lead time pour suivre l&#8217;engagement du projet envers le client.</li></ul><h5><a
name="RevuedePresseXebia-Avancementduprojet"></a>Avancement du projet</h5><p>L&#8217;un des incontournables de la méthode SCRUM est la mesure du Release Burn Down. Anders préconise le suivi de la Release plutôt que du sprint, ce qui est plus en accord avec la vision client.<br
/> Lors de l&#8217;utilisation de la méthode Kanban, il préfère utiliser le &laquo;&nbsp;Lead Time&nbsp;&raquo;. Il consiste à mesurer le temps que met une tâche pour sortir du système. Il permet de connaître le taux de &laquo;&nbsp;réactivité&nbsp;&raquo; de l&#8217;équipe et sa capacité à absorber une certaine charge de travail dans un intervalle de temps donné.</p><h5><a
name="RevuedePresseXebia-Sant%C3%A9techniquedel%27application"></a>Santé technique de l&#8217;application</h5><p>Selon l&#8217;auteur,le taux de duplication de code est le meilleur indicateur de qualité de code pour une application. Un code trop souvent dupliqué soulève un problème de conception avec du refactoring à prévoir. De plus, cela est source de bugs et d&#8217;effets de bord. Facile à détecter, et relativement facile à corriger.<br
/> Pour le taux de couverture de code, le Test Driven Development reste la solution numéro 1 pour l&#8217;améliorer efficacement. Les outils de couverture de code, comme Cobertura, permettent de rapidement voir les portions de code non testées, pour améliorer encore et toujours la robustesse de nos applications.</p><h5><a
name="RevuedePresseXebia-L%27%C3%A9quipe"></a>L&#8217;équipe</h5><p>L&#8217;indicateur de &laquo;&nbsp;bonne humeur&nbsp;&raquo; d&#8217;une équipe permet de voir d&#8217;un autre point de vue l&#8217;équipe. On ne parle plus d&#8217;effort, de vélocité ou de taux de progression. La bonne humeur est directement liée à la motivation de l&#8217;équipe à respecter l&#8217;engagement du sprint. On peut aussi utiliser l&#8217;indicateur de &laquo;&nbsp;Stress&nbsp;&raquo;. Cela permet aussi de détecter, lors des creux, des problèmes qui déstabilisent l&#8217;équipe, pour mieux les résoudre ensuite. Mais attention, stress et motivation ne sont pas forcément contradictoires. Le daily scrum meeting ou la séance de rétrospective de SCRUM sont les moments privilégiés pour mesurer cet indicateur.</p><h3><a
name="RevuedePresseXebia-Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="RevuedePresseXebia-ContinuousDeployment"></a>Continuous Deployment</h4><p>Pour ceux qui n&#8217;ont pas encore entendu parler du déploiement continu, Ranjan D. Sakalley nous propose une excellente <a
href="http://www.infoq.com/articles/test-automation-continuous-delivery" rel="nofollow">introduction</a> sur le sujet.<br
/> Ce processus n&#8217;est que la suite logique de l&#8217;intégration continue. Il consiste à déployer son application le plus rapidement, le plus sûrement et donc, le plus souvent possible. On est toujours dans l&#8217;esprit d&#8217;avoir un cycle de travail court avec un retour rapide sur ce qui a été développé, pour corriger au plus tôt et ainsi réduire le coût global de mise en oeuvre de l&#8217;application. De célèbres exemples, comme Flickr et Github sont capables de mettre en production leurs applications plusieurs fois par jour, oui par jour!<br
/> Pour arriver à un tel niveau de maturité, il faut se doter d&#8217;une couverture de tests exemplaire et surtout, cela impose la nécessité d&#8217;automatiser tous ces tests.<br
/> L&#8217;exemple donné révèle rapidement le besoin d&#8217;avoir une équipe de 50 testeurs pour arriver à recetter une application de taille moyenne en 2 heures. On précise aussi que l&#8217;investissement initial a été de deux développeurs pendant deux mois pour la création des scripts de tests.<br
/> Si on doit livrer son application plusieurs fois par jour, on voit tout de suite la nécessité de l&#8217;automate.<br
/> L&#8217;article souligne aussi que l&#8217;automatisation des tests simples et répétitifs libère du temps aux testeurs qui peuvent ainsi aller plus en profondeur sur le code existant, pour ainsi trouver des bugs plus profonds. Cela rend au passage leur journée de travail plus intéressante, ce qui n&#8217;est pas rien en ces jours d&#8217;hiver qui s&#8217;obscurcissent!<br
/> L&#8217;auteur nous rappelle aussi qu&#8217;il est autant nécessaire de tester les aspects fonctionnels que non-fonctionnels, comme la tenue de la charge ou la performance.</p><p>Ce sujet est un bon complément aux deux derniers ateliers organisés chez Xebia sur le déploiement continu, où l&#8217;on a vu comment le <a
href="http://tomcat.apache.org/maven-plugin.html" rel="nofollow">plugin Apache Tomcat Maven</a>, <a
href="http://rundeck.org/" rel="nofollow">Rundeck</a> et <a
href="http://www.xebialabs.com/features" rel="nofollow">DeployIt</a>, avec <a
href="http://jenkins-ci.org/" rel="nofollow">Jenkins</a>, nous aident à faire du déploiement en zéro clic après un git-push sur un repository de code. Nous publierons très prochainement un billet sur le sujet, ainsi que sur toute l&#8217;infrastructure mise en place sur Amazon EC2, avec notre stratégie d&#8217;Infrastructure as a code. Restez à l&#8217;écoute si ces sujets vous intéressent!</p><div
class="shr-publisher-8895"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F10%2F25%2Frevue-de-presse-xebia-2011-44%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F10%2F25%2Frevue-de-presse-xebia-2011-44%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/10/25/revue-de-presse-xebia-2011-44/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de presse</title><link>http://blog.xebia.fr/2011/10/18/revue-de-presse-xebia-234/</link> <comments>http://blog.xebia.fr/2011/10/18/revue-de-presse-xebia-234/#comments</comments> <pubDate>Tue, 18 Oct 2011 17:02:34 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Cloud Computing]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[Jackson]]></category> <category><![CDATA[SmartCloud]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8856</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII La nouvelle Platforme-as-a-Service d’IBM Jackson 1.9.0 Actualité éditeurs / SSII La nouvelle Platforme-as-a-Service d’IBM La semaine dernière IBM a fait le buzz en annonçant sur son site web le lancement de sa toute nouvelle Platform-as-a-Service SmartCloud. Les objectifs sont ambitieux [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/10/18/revue-de-presse-xebia-234/#LanouvellePlatformeasaServiced">La nouvelle Platforme-as-a-Service d’IBM</a></li><li><a
href="http://blog.xebia.fr/2011/10/18/revue-de-presse-xebia-234/#Jackson">Jackson 1.9.0</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="LanouvellePlatformeasaServiced"></a>La nouvelle Platforme-as-a-Service d’IBM</h4><p>La semaine dernière IBM a fait le buzz en annonçant sur <a
href="http://www-03.ibm.com/press/us/en/pressrelease/35593.wss" title="son site web" >son site web</a> le lancement de sa toute nouvelle Platform-as-a-Service SmartCloud.</p><p>Les objectifs sont ambitieux : supporter 200 millions d’utilisateurs d&#8217;ici fin 2012. Dans un premier temps, IBM proposera sa solution PaaS en tant qu’option supplémentaire pour les entreprises de développement qui souhaitent déployer leurs applications dans le  cloud. Par la suite, IBM souhaite atteindre  une utilisation plus massive de sa solution en suivant la tendance de  migration des applications vers les nuages.</p><p>La plateforme SmartCloud est composée de trois plateformes complémentaires :</p><ul><li>IBM SmartCloud Application Services : la solution PaaS avec des produits IBM embarqués ;</li><li>IBM SmartCloud Foundation : toute la partie hardware et software qui permettra aux entreprises de déployer leur propre système de cloud ;</li><li>IBM Cloud Ecosystem : des services d’assistance pour l’adoption des solutions cloud d’IBM et pour la mise en place de bonnes pratiques.</li></ul><p>Même si IBM a pris un peu de retard sur le cloud par rapport à d’autres acteurs comme Google ou Microsoft, le géant de l’informatique reste très optimiste sur l’adoption de son produit. Comme IBM est un acteur majeur dans la fourniture de solutions pour le développement corporatif, son image jouera un rôle prépondérant lors des choix des solutions cloud au sein des DSIs.</p><h4><a
name="Jackson"></a>Jackson 1.9.0</h4><p>La nouvelle version 1.9.0 de Jackson est sortie la semaine dernière. Cette librairie est spécialisée dans la sérialisation/désérialisation en JSON vers Java avec de très bonnes performances et s&#8217;intégre très bien sur des frameworks comme Springframework. Parmi les nouveautés on trouve:</p><p><strong>@JsonUnwrapped</strong></p><p>Cette fonctionalité permet de construire des objets enfants à partir de la structure principale du Json. Avec un exemple ça sera plus simple:</p><pre class="brush: java; title: ; notranslate">
{
    &quot;name&quot; : &quot;home&quot;,
    &quot;latitude&quot; : 127,
    &quot;longitude&quot; : 345
  }
</pre><p>devient</p><pre class="brush: java; title: ; notranslate">
class Place {
    public String name;
    @JsonUnwrapped
    public Location location;
  }
  class Location {
   public int latitude, longitude;
  }
</pre><p><strong>Partage des annotations sur les getters/setters/champs</strong></p><p>Jackson avait l&#8217;habitude d&#8217;utiliser les getters pour la sérialisation et les setters pour la déserialisation sans qu&#8217;aucun lien ne soit fait entre eux. Donc pour un exemple comme celui-ci:</p><pre class="brush: java; title: ; notranslate">
class Point {
    @JsonProperty(&quot;width&quot;)
    public int getW();
    public void setW(int w);
  }
</pre><p>La propriété était sérialisée en tant que <code>width</code> mais au moment de la désérialisation Jackson cherchait la propriété <code>w</code>. A présent la correspondance sera faite plus intelligement.</p><p><strong>Injection de données lors de la désérialisation</strong></p><p>On peut à présent injecter des données dans l&#8217;objet désérialisé, ces données étant représentées dans un objet <code>InjectableValues</code> qui peut être vu comme une <code>Map</code> évoluée. Cela permet d&#8217;avoir un code plus propre.</p><p>Pour avoir l&#8217;ensemble des nouvelles fonctionnalités, n&#8217;hésitez pas à voir l&#8217;<a
href="http://www.cowtowncoder.com/blog/archives/2011/10/entry_463.html" title="annonce officielle" >annonce officielle</a>.</p><div
class="shr-publisher-8856"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F10%2F18%2Frevue-de-presse-xebia-234%2F' data-shr_title='Revue+de+presse'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F10%2F18%2Frevue-de-presse-xebia-234%2F' data-shr_title='Revue+de+presse'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/10/18/revue-de-presse-xebia-234/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/10/11/revue-de-presse-xebia-233/</link> <comments>http://blog.xebia.fr/2011/10/11/revue-de-presse-xebia-233/#comments</comments> <pubDate>Tue, 11 Oct 2011 21:00:41 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Apache]]></category> <category><![CDATA[crowdsourcing]]></category> <category><![CDATA[Dart]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[JavaOne]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[SCRUM]]></category> <category><![CDATA[TomEE]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8813</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII JavaOne Google Dart Google Cloud SQL Apache TomEE Agilité SCRUM se met au crowdsourcing Actualité éditeurs / SSII JavaOne La conférence JavaOne 2011 s&#8217;est tenue la semaine passée à San Francisco. Comme chaque année, elle a été l&#8217;occasion d&#8217;un grand [...]]]></description> <content:encoded><![CDATA[<p><img
style="margin: 1em 1em 1em 1em; float: right;" src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" /></p><p><em>La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/10/11/revue-de-presse-xebia-233/#JavaOne">JavaOne</a></li><li><a
href="http://blog.xebia.fr/2011/10/11/revue-de-presse-xebia-233/#GoogleDart">Google Dart</a></li><li><a
href="http://blog.xebia.fr/2011/10/11/revue-de-presse-xebia-233/#GoogleCloudSQL">Google Cloud SQL</a></li><li><a
href="http://blog.xebia.fr/2011/10/11/revue-de-presse-xebia-233/#ApacheTomEE">Apache TomEE</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/10/11/revue-de-presse-xebia-233/#SCRUMsemetaucrowdsourcing">SCRUM se met au crowdsourcing</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="JavaOne"></a>JavaOne</h4><p>La conférence <strong>JavaOne</strong> 2011 s&#8217;est tenue la semaine passée à San Francisco. Comme chaque année, elle a été l&#8217;occasion d&#8217;un grand nombre d&#8217;annonces, de <em>keynotes</em> et de plans sur le futur de Java. On notera après avoir pris la température auprès de la communauté, que celle-ci semble moins inquiète que dans un récent passé: Oracle est là depuis un moment maintenant, les choses semblent s’être stabilisées et clarifiées. La récente arrivée de Java 7 ne doit pas y être pour rien. Parmi les diverses annonces, on retiendra surtout :</p><ul><li>Java 8 est retardé à début 2013. Nous aurons le temps de vous reparler des nouveaux apports.</li><li>Java ME tend à se rapprocher de Java SE et vise à en devenir un sous ensemble. L’intérêt est d&#8217;unifier les communautés de ces 2 versions.</li><li>Java EE 7 est en préparation, orienté Cloud et <a
title="multitenancy" href="http://blog.loof.fr/2011/06/multi-tenancy.html">multi-tenancy</a></li><li>JavaFX n&#8217;est pas mort. Les mauvaises langues diront que le projet ressort du placard chaque année pour JavaOne. Mais Oracle semble décidé à le faire avancer: il devrait progressivement devenir complètement OpenSource et une version 3 est prévue, intégrée directement dans le JDK 8.</li><li>Pour rêver un peu, quelques pistes pour le JDK 9 ont été évoquées. On parle de VM s&#8217;adaptant toutes seules aux applications (plus de XmX et autres barbaries ?!), d&#8217;un nouveau Meta Object Protocol améliorant le support entre langages&#8230; Là encore, nous aurons laaaargement le temps d&#8217;en reparler !</li></ul><p>On regrettera encore malgré tout l&#8217;absence de <em>speakers</em> de Google, à cause du procès opposant celui-ci à Oracle et alors que la compagnie n&#8217;est pas la moins active dans l’écosystème Java.<br
/> Le <a
title="blog suivant" href="http://marxsoftware.blogspot.com/2011/10/javaone-2011-tremendous-success.html">blog suivant</a> recense nombre d&#8217;articles sur JavaOne et vous pourrez retrouver quelques <em>roadmaps</em> sur <a
title="le podcast JavaSpotlight" href="http://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_51_live">le podcast JavaSpotlight</a>.</p><p>Parmi les autres annonces intéressantes, on notera l&#8217;annonce du <strong>serveur Apache TomEE</strong> qui est maintenant certifié EE 6 Web Profile. C&#8217;est un serveur Java EE qui se veut léger, basé sur un Tomcat tout ce qu&#8217;il y a de plus standard avec utilisation d&#8217;une librairie Apache pour chacune des fonctionnalités requises par la norme Web Profile: on retrouvera ainsi Apache OpenWebBeans, Apache MyFaces, Apache ActiveMQ, Apache OpenJPA et Apache CXF.<br
/> Et pour finir, Oracle a annoncé une nouvelle solution <strong>NoSQL</strong>. Le géant des bases relationnelles compte donc se diversifier en élargissant son offre. Retrouvez tous les détails de cette solution basée sur Java <a
title="chez infoQ" href="http://www.infoq.com/news/2011/10/Oracle-NoSQL-Database">chez infoQ</a>.</p><h4><a
name="GoogleDart"></a>Google Dart</h4><p>A l&#8217;occasion de la <a
title="GotoCon" href="http://gotocon.com/">GotoCon</a>, Lars Bak le créateur de la machine JavaScript V8 de Chrome et Gilad Bracha auteur du langage <a
title="NewSpeak" href="http://newspeaklanguage.org/">NewSpeak</a> ont annoncé la naissance d&#8217;un nouveau langage de script pour les navigateurs nom de code Dart. L&#8217;annonce concerne le disponibilité de ce langage en Technology Preview, il n&#8217;est pour le moment pas supporté par Chrome.<br
/> Ce langage inspiré de la syntaxe JavaScript offre de plus le support de la concurrence de type acteurs. Notez de plus qu&#8217;il permet de créer des applications pour iPad.<br
/> Quelques caractéristiques du langage:</p><ul><li>Orienté objet avec classe, interface, et héritage</li><li>Typage optionnel</li><li>Mono-thread</li></ul><p>Selon le paradigme acteur, les pocessus dart sont isolés et ne peuvent communiquer entre eux que par une API de messaging.<br
/> Dart supporte différents type d’éxecutions:</p><ul><li>JavaScript &#8211; Avec le compilateur DartC les .dart sont compilés JavaScript.</li><li>DartVM &#8211; Une machine virtuelle permet d’éxecuter directement les scripts Dart.</li><li>Un utilitaire permet de créer et packager une image binaire de la heap qui pourra être exécutée par la suite.</li></ul><p>Côté outillage, Dart propose un éditeur basé sur Eclipse avec support de l’auto-complétion. Bref, avec Dart, Google semble vouloir proposer une alternative à JavaScript permettant enfin de structurer son code et probablement de réconcilier les Javaïstes avec la programmation côté navigateur. Une belle initiative à laquelle nous souhaitons un franc succès.<br
/> Pour plus d’information:</p><ul><li><a
title="Lannonce sur InfoQ" href="http://www.infoq.com/news/2011/10/google-dart-language">L’annonce sur InfoQ</a></li><li><a
title="Dartlangorg" href="http://www.dartlang.org/">Dartlang.org</a></li><li><a
title="Google code de Dart" href="http://code.google.com/p/dart/">Google code de Dart</a></li></ul><h4><a
name="GoogleCloudSQL"></a>Google Cloud SQL</h4><p>Google App Engine, la solution de cloud PaaS made in Google offre dorénavant la possibilité d&#8217;utiliser une base de données relationnelle de type MySql.<br
/> Ce service nommée <a
title="Google Cloud SQL" href="http://googleappengine.blogspot.com/2011/10/google-cloud-sql-your-database-in-cloud.html">Google Cloud SQL</a> répond à de nombreuses demandes d&#8217;utilisateurs, qui souhaitaient une manière plus simple de persister ses données que la solution <a
title="BigTable" href="http://labs.google.com/papers/bigtable.html">BigTable</a>.</p><p>Comme on pouvait s&#8217;y attendre, ce service ne nécessite aucune maintenance, ni administration. Une interface d&#8217;administration est néanmoins fournie. Vous avez la possibilité d&#8217;importer ou d&#8217;exporter votre base de données MySQL. De plus, il offre un mécanisme de réplication géolocalisé des données sur des centres de données.</p><p>Pour le moment, ce nouveau service est gratuit et mis à disposition d&#8217;un nombre limité d&#8217;utilisateurs. Par ailleurs, les quotas fixés sont plutôt modestes: 5 requêtes par seconde et la taille d&#8217;une requête est limitée à 15MO. Si vous êtes intéressé, c&#8217;est <a
title="ici" href="http://code.google.com/intl/fr/apis/sql/docs/before_you_begin.html#enroll">ici</a> pour s&#8217;inscrire.</p><h4><a
name="ApacheTomEE"></a>Apache TomEE</h4><p>Apache a profité de JavaOne pour annoncer la sortie de <a
title="TomEE" href="http://www.infoq.com/news/2011/10/apache-tomee">TomEE</a> en version Bêta. La particularité de ce serveur web est d&#8217;être certifié JEE 6 Web Profile.<br
/> Il s&#8217;ajoute à la liste des serveurs open source déjà existant compatibles JEE 6 Web Profile: GlassFish, JBoss et Apache Geronimo.</p><p>Ce serveur est assemblé à partir d&#8217;un simple Apache Tomcat, auquel ont été ajoutées différentes implémentations Apache pour fournir tous les services EE.<br
/> Voici les implémentations des différentes briques de la stack JEE embarquées dans TomEE:</p><ul><li>CDI: Apache OpenWebBeans</li><li>EJB: Apache OpenEJB</li><li>Javamail: Apache Geronimo JavaMail</li><li>JPA: Apache OpenJPA</li><li>JSF: Apache MyFaces</li><li>JTA: Apache Geronimo Transaction</li><li>Connector: Apache Geronimo Connector</li><li>JMS: Apache ActiveMQ</li><li>Web Services: Apache CXF</li></ul><p>La philosophie d&#8217;Apache TomEE est d&#8217;offrir une solution simple et légère pour faire du JEE. Ce serveur semble bien prédisposé pour les solutions de Cloud avec notamment sa faible taille mémoire (&lt; 24 Mo).<br
/> Toutes les informations et le téléchargement se trouvent <a
title="ici" href="http://openejb.apache.org/downloads.html">ici</a>.</p><h3><a
name="Agilit"></a>Agilité</h3><h4><a
name="SCRUMsemetaucrowdsourcing"></a>SCRUM se met au crowdsourcing</h4><p>La plus populaire des méthodes agiles marque un tournant significatif dans son histoire. Les co-créateurs ont décidé de laisser la possibilité à chacun de proposer des modifications ou des extensions au cadre de base. <a
title="Cette annonce" href="http://www.scrum.org/news/2011/10/6/scrum-is-open-for-modification-and-extension.html">Cette annonce</a> intervenue peu avant le week-end serait presque passé inaperçue. Il y a quand même eu quelques réactions spontanées, notamment David Anderson, le meneur du mouvement Kanban, qui se demandait sur Twitter qui serait le premier à proposer une extension Kanban pour Scrum.</p><div
align="center"><a
href="http://blog.xebia.fr/wp-content/uploads/2011/10/SCRUM_crowdsourcing.png"><br
/> <img
class="size-full wp-image-8815" title="SCRUM_crowdsourcing" src="http://blog.xebia.fr/wp-content/uploads/2011/10/SCRUM_crowdsourcing.png" alt="" width="200" height="108" /><br
/> </a></div><p>De notre côté on se demande qui sera la première SSII française à proposer une extension de SCRUM pour remettre un rôle de chef de projet et de MOA dans tout ça ? Heureusement pour veiller aux dérives, il existe un comité de revue des propositions dont on connait au moins 2 personnes: James Coplien et David Starr. Ce comité est en charge de revoir les propositions et interagir avec leur auteur. L&#8217;histoire nous dira si ce comité, censé veiller au grain, adopte une ligne plutôt rigide ou permissive. Dans tous les cas le modèle pour proposer une modification ou une extension (c&#8217;est le même) demande de bien préciser le contexte dans lequel l&#8217;élément proposé est utile, à la façon d&#8217;une approche par pattern. Il faut également que la proposition soit appuyée par un sponsor et on nous promet une réaction sous 3 mois. Il est possible de voir en ligne <a
title="la liste" href="http://www.scrum.org/scrum-extensions/">la liste</a> des extension proposées. Pour l&#8217;instant on en trouve une seule qui émane de David Starr, du comité de revue. Elle traite, d&#8217;après le titre, du découpage en tâche dans le sprint planning. Ah, mais ce n&#8217;est pas ce qui avait été supprimé de SCRUM en Juillet ça ? D&#8217;ailleurs les <a
title="explications" href="http://www.scrum.org/scrum-guide-updates/#backlog">explications</a> sur les modifications du Sprint Backlog provenaient également de David Starr. Donc si j&#8217;ai bien compris, il explique pourquoi ça disparait de SCRUM et ensuite il propose une extension pour le réintroduire si l&#8217;on veut. Bon, j&#8217;espère juste que SCRUM ne va pas finir comme le RUP avec un site web qu&#8217;on peut configurer à partir d&#8217;une bibliothèque d&#8217;extensions&#8230;</p><div
class="shr-publisher-8813"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F10%2F11%2Frevue-de-presse-xebia-233%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F10%2F11%2Frevue-de-presse-xebia-233%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/10/11/revue-de-presse-xebia-233/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/10/04/revue-de-presse-xebia-232/</link> <comments>http://blog.xebia.fr/2011/10/04/revue-de-presse-xebia-232/#comments</comments> <pubDate>Tue, 04 Oct 2011 11:44:49 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Basho]]></category> <category><![CDATA[Guava]]></category> <category><![CDATA[Java 8]]></category> <category><![CDATA[Riak]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8759</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Le coin de la technique Sortie officielle de Riak 1.0 Sortie de la version 10 de Guava Evénements de notre communauté en France et à l&#8217;étranger Des nouvelles du projet Lambda de Java 8 Le coin de la technique Sortie officielle de Riak 1.0 [...]]]></description> <content:encoded><![CDATA[<p><img
style="margin: 1em 1em 1em 1em; float: right;" src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" /></p><p><em>La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/10/04/revue-de-presse-xebia-232/#SortieofficielledeRiak">Sortie officielle de Riak 1.0</a></li><li><a
href="http://blog.xebia.fr/2011/10/04/revue-de-presse-xebia-232/#SortiedelaversiondeGuava">Sortie de la version 10 de Guava</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/10/04/revue-de-presse-xebia-232/#DesnouvellesduprojetLambdadeJa">Des nouvelles du projet Lambda de Java 8</a></li></ul><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="SortieofficielledeRiak"></a>Sortie officielle de Riak 1.0</h4><p>Amateurs de NoSQL, vous n&#8217;êtes sûrement pas passé à côté de la release importante que nous offre <a
title="Basho" href="http://www.basho.com/">Basho</a> avec Riak 1.0.<br
/> <a
title="Ce moteur de données type clé/valeur" href="http://wiki.basho.com/What-is-Riak%3F.html">Ce moteur de données type clé/valeur</a> basé sur le langage <strong>Erlang</strong> vient de connaître des améliorations importantes sur son coeur de communication au sein de clusters, ainsi que de son moteur MapReduce, le <a
title="Riak Pipe" href="http://blog.basho.com/2011/09/19/Riak-Pipe-The-New-Map-Reduce-Power/">Riak Pipe</a>. Cela fait de ce produit un moteur de stockage plus sûr encore, assurant aussi une <a
title="bonne scalabilit horizontale" href="http://blog.basho.com/2011/07/01/Leveling-the-Field/">bonne scalabilité horizontale</a>, avec notamment des fonctionnalités d&#8217;ajout/suppression de noeuds au sein de ring plus robuste.</p><p>Au même titre, on retrouve dans cette release majeure :</p><ul><li>un système d&#8217;indexation de second niveau, nommé <a
title="2i" href="http://blog.basho.com/2011/09/14/Secondary-Indexes-in-Riak/">2i</a>. Il permet l&#8217;indexation en temps-réel des objets sur plusieurs champs. Cette fonctionnalité est disponible dans le moteur MapReduce, avec quelques limitations pour le moment (utilisateur de règle de match Exact ou Range). Cela permet aussi de gérer, enfin, des relations du type One-To-Many ou Many-To-One au sein de Riak.</li><li>La création d&#8217;un framework de logging sur Erlang. Sorti de Riak, il se nomme <a
title="Lager" href="http://blog.basho.com/2011/07/20/Introducing-Lager-A-New-Logging-Framework-for-ErlangOTP/">Lager</a> et facilite grandement la partie logging et debugging de ce langage, à noter pour ce point la possibilité de changer le niveau de log au Runtime.</li><li>A la manière de Apache Lucene, (une vidéo de notre précédent XKE sur <a
title="Elastic Search" href="http://www.elasticsearch.org/">Elastic Search</a> sera bientôt sur notre blog), Riak propose dorénavant une fonctionnalité de recherche FULL-TEXT. Déjà disponible en version 0.X dans le package Riak Search, ce dernier a été inclus par défaut. Toujours désactivé par défaut, une rapide modification du app.config permet de l&#8217;activer.</li></ul><p>Plus d&#8217;infos dans <a
title="la release note complte" href="https://github.com/basho/riak/blob/1.0/RELEASE-NOTES.org">la release note complète</a>.</p><h4><a
name="SortiedelaversiondeGuava"></a>Sortie de la version 10 de Guava</h4><p>Guava, la fameuse API couteau Suisse de Google, <a
title="vient de sortir" href="http://code.google.com/p/guava-libraries/">vient de sortir</a> en version 10. Cette version contient les nouveautés suivantes :</p><ul><li>Un package <em>cache</em> qui contient tout ce faut qu&#8217;il pour créer un cache mémoire personnalisable à volonté, avec calcul de statistiques et observer de retrait d&#8217;un élément.</li><li>Un package <em>eventbus</em> pour la gestion d&#8217;une communication de type souscription-publication entre des composants.</li><li>La gestion des intervalles de valeurs, discrets (ie. de type int ou long) ou non, finis ou infinis.</li><li>Des bugs corrigés.</li><li>Et bien d&#8217;autres classes pour plus de possibilité en terme de gestion concurrente, pour la gestion du couple hôte/port pour les adresses Internet ou comme <em>Stopwatch</em> qui permet de manipuler un chronomètre.</li><li>Enfin, pour la communauté férue de programmation fonctionnelle : le tant attendu <em>Optional&lt;T&gt;</em>, qui permet de manipuler des objets qui peuvent contenir une valeur&#8230; ou pas ; permettant ainsi de se passer de ces lignes à répétition qui contiennent<em> if (maVariable == null)</em>.</li></ul><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="DesnouvellesduprojetLambdadeJa"></a>Des nouvelles du projet Lambda de Java 8</h4><p>Le groupe d&#8217;experts (EG) du projet Lambda, sensé apporter les lambda expressions dans Java 8, <a
title="s'est mis d'accord" href="http://mail.openjdk.java.net/pipermail/lambda-dev/2011-September/004021.html">s&#8217;est mis d&#8217;accord</a> sur la forme de la flèche dans les lambda expressions. Pour mémoire, <a
title="deux notations taient en ballottage" href="http://blog.xebia.fr/2011/09/20/les-lambda-expressions-dans-java-8/">deux notations étaient en ballottage</a> : la forme <em>x =&gt; y</em> et la forme <em>x -&gt; y</em>.</p><p><em>And the winner is: x -&gt; y</em></p><p>La choix de cette forme s&#8217;explique surtout par les défauts la forme <em>flèche-épaisse</em>. En effet, avec une flèche qui ressemble à &laquo;&nbsp;=&gt;&nbsp;&raquo; le risque de confusion dans le code est important :</p><p><em>x =&gt; y &lt;= x</em> ou <em>Predicate p = x =&gt; x == y</em></p><p>Ce qui est moins le cas avec la forme &laquo;&nbsp;-&gt;&nbsp;&raquo; :</p><p><em>x -&gt; y &lt;= x</em> ou <em>Predicate p = x -&gt; x == y</em></p><p>L&#8217;EG abandonne donc la notation Scala/C# pour une notation plus en corrélation avec Haskell/OCaml.</p><div
class="shr-publisher-8759"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F10%2F04%2Frevue-de-presse-xebia-232%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F10%2F04%2Frevue-de-presse-xebia-232%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/10/04/revue-de-presse-xebia-232/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/09/27/revue-de-presse-xebia-231/</link> <comments>http://blog.xebia.fr/2011/09/27/revue-de-presse-xebia-231/#comments</comments> <pubDate>Tue, 27 Sep 2011 05:00:25 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[clojure]]></category> <category><![CDATA[Coding dojo]]></category> <category><![CDATA[Eclipse]]></category> <category><![CDATA[Java 7]]></category> <category><![CDATA[JRebel]]></category> <category><![CDATA[logback]]></category> <category><![CDATA[Sonatype Insight]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8625</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Actualité éditeurs / SSII JRebel: version 4.5, maintenant gratuit pour un usage personnel Sonatype Insight Le coin de la technique Logback en version 0.9.30 réinvente les stack traces Eclipse 3.7.1 supporte maintenant Java 7 Evénements de notre communauté en France et à l&#8217;étranger Coding [...]]]></description> <content:encoded><![CDATA[<p><img
style="margin: 1em 1em 1em 1em; float: right;" src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" /></p><p><em>La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/09/27/revue-de-presse-xebia-231/#JRebelversionmaintenantgratuit">JRebel: version 4.5, maintenant gratuit pour un usage personnel</a></li><li><a
href="http://blog.xebia.fr/2011/09/27/revue-de-presse-xebia-231/#SonatypeInsight">Sonatype Insight</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/09/27/revue-de-presse-xebia-231/#Logbackenversionrinventelessta">Logback en version 0.9.30 réinvente les stack traces</a></li><li><a
href="http://blog.xebia.fr/2011/09/27/revue-de-presse-xebia-231/#EclipsesupportemaintenantJava">Eclipse 3.7.1 supporte maintenant Java 7</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/09/27/revue-de-presse-xebia-231/#CodingdojosurlethmedeClojure">Coding dojo sur le thème de Clojure</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="JRebelversionmaintenantgratuit"></a>JRebel: version 4.5, maintenant gratuit pour un usage personnel</h4><p>ZeroTurnaround <a
title="a annonc" href="http://www.zeroturnaround.com/blog/jrebel-4-5-released-includes-jrebel-social/">a annoncé</a> cette semaine la version 4.5 de JRebel, l&#8217;outil qui permet de modifier le code de son application à chaud, sans avoir besoin de la redéployer. Accompagné de ses plugins pour les différents IDE, il est très pratique et permet de régulièrement gagner beaucoup de temps en développement.<br
/> Cette version apporte comme d&#8217;habitude son petit lot de nouveautés comme un support natif de Java 7, JBoss AS 7, Spring Web Services et JAXB, un meilleur support des JSF et une meilleure compatibilité du rechargement des EJB sur certains serveurs. La liste des modifications est disponible <a
title="ici" href="http://www.zeroturnaround.com/jrebel/changelog/4-x/">ici</a>.<br
/> Mais la grosse nouveauté, c&#8217;est l&#8217;apparition d&#8217;une version gratuite non limitée dans le temps. Jusqu&#8217;alors, une version d&#8217;essai de JRebel existait, mais elle était limitée à 30 jours. On se souvient que ZeroTurnaround avait récemment augmenté ses prix, et cette gratuité va sans doutes lui permettre d’être testé par de nombreux développeurs qui voudront alors peut être passer à la version payante dans leur job. Car en effet, et c&#8217;est là la limitation de la version gratuite: elle est limitée à une utilisation dans un cadre non commercial. De plus, il vous faudra vous enregistrer avec vos comptes Twitter ou Facebook sur lesquels JRebel ira peut être de temps en temps poster des messages du style &laquo;&nbsp;grâce à JRebel, j&#8217;ai gagné 2 jours de productivité ce mois-ci&nbsp;&raquo;. Si vous êtes prêts à tenter le coup, rendez vous sur <a
title="httpssocialjrebelcom" href="https://social.jrebel.com">https://social.jrebel.com</a>.</p><h4><a
name="SonatypeInsight"></a>Sonatype Insight</h4><p>La semaine dernière, Sonatype, l’entreprise qui pilote les développements de Maven, a annoncé sur son blog sa toute nouvelle suite <a
title="Sonatype Insight" href="http://www.sonatype.com/Products/Sonatype-Insight">Sonatype Insight</a>.</p><p>Comme définit par Sonatype, Insight a été conçu pour aider les entreprises qui développent des applications à avoir plus de visibilité et de contrôle en ce qui concerne l’utilisation de composants open source. Avec ce nouveau produit, Sonatype rejoint un groupe restreint d’entreprises, dont <a
title="Protecode" href="http://www.protecode.com/">Protecode</a> et <a
title="Black Duck" href="http://www.blackducksoftware.com/">Black Duck</a>, qui visent à aider les organisations à mieux maîtriser leurs composants open source.</p><p>La suite de Sonatype est composée de trois modules : Management Insight, Application Insight et Development Insight. Ensemble, ces trois modules proposent :</p><ul><li>de développer plus vite des applications plus fiables</li><li>de choisir le composant open source le mieux adapté au besoin (ce qui diminue le risque de régression en cas de changement)</li><li>d’éviter l’utilisation de licences indésirables et de composants dont la sécurité peut être défaillante</li><li>de simplifier la gestion et le suivi des composants open source.</li></ul><p>Sonatype Insight propose d’accompagner les équipes de développement pendant tout le cycle de vie d’un projet, de la conception jusqu’à la production. Ainsi, son l’intégration avec des outils tels que Maven, Eclipse, Jenkins ou Ant est tout à fait possible. Comme attendu, Insight se branche sur le Référentiel Central de Maven qui est financé par Sonatype elle-même.</p><p>Enfin, le coût de la licence du module Application Insight est actuellement basé sur le nombre d’applications analysées. Le coût de la licence des modules Development Insight et Management Insight dépend du nombre d’utilisateurs.</p><p>Pour plus d&#8217;informations :</p><ul><li><a
title="Lannonce sur InfoQ" href="http://www.infoq.com/news/2011/09/sonatype-insight">L&#8217;annonce sur InfoQ</a></li><li><a
title="Sonatype Insight" href="http://www.sonatype.com/Products/Sonatype-Insight">Sonatype Insight</a></li></ul><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="Logbackenversionrinventelessta"></a>Logback en version 0.9.30 réinvente les stack traces</h4><p>Vous tenez le format des stack traces pour immuables ? Sans doutes ne vous étiez-vous jamais posé la question ? Mais n&#8217;avez-vous jamais pesté sur la difficulté de suivre la séquence des événements ayant mené à l&#8217;erreur, notamment quand les exceptions sont catchées et relancées plusieurs fois ? C&#8217;est le problème qu&#8217;a tenté de résoudre <del>Byron Kiourtzoglou</del> Tomek Nurkiewicz en proposant un patch pour Logback qui vient d’être intégré dans <a
title="la toute nouvelle version 0930" href="http://logback.qos.ch/news.html">la toute nouvelle version 0.9.30</a><br
/> Dans <a
title="larticle suivant" href="http://nurkiewicz.blogspot.com/2011/09/logging-exceptions-root-cause-first.html">l&#8217;article suivant</a>, il détaille, capture de traces à l&#8217;appui, comment son nouveau formatter permet d&#8217;obtenir des traces plus lisibles en cas d&#8217;Exception: une simple lecture de bas en haut permet de comprendre le cheminement, depuis la méthode main() jusqu&#8217;à la cause originale qui apparaît maintenant en haut.<br
/> Bien sûr, cette fonctionnalité n&#8217;est pas activée par défaut et il vous faudra ajouter <a
title="un simple" href="http://logback.qos.ch/manual/layouts.html#rootException">un simple</a> &laquo;&nbsp;%rEx&nbsp;&raquo; au pattern de votre logger pour en profiter. Après, cela demandera sans doutes un peu d&#8217;habitude mais pourra sembler plus logique à nombre de développeurs. A essayer au plus vite donc !</p><h4><a
name="EclipsesupportemaintenantJava"></a>Eclipse 3.7.1 supporte maintenant Java 7</h4><p>Une petite news rapide pour vous informer que Eclipse Indigo Service Realease 1, aka Eclipse 3.7.1 vient de sortir. Elle apporte principalement <a
title="le support de Java 7" href="http://www.eclipse.org/jdt/ui/r3_8/Java7news/whats-new-java-7.html">le support de Java 7</a> que vous pourrez donc utiliser dans vos projets perso (car ne rêvez pas, si vous êtes encore en Java 4 dans votre job, vous n&#8217;allez pas passez tout de suite à Java 7 <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ). Vous bénéficierez aussi de la correction <a
title="de nombreux bugs" href="http://www.eclipse.org/eclipse/development/readme_eclipse_3.7.1.html#DefectsFixed">de nombreux bugs</a> en sus des apports de Java 7, c&#8217;est toujours ça.<br
/> A noter que si vous utiliser Groovy-Eclipse, il vous faudra utiliser la version de développement, dont l&#8217;update site est indiqué <a
title="dans ce blog" href="http://andrewclement.blogspot.com/2011/09/groovy-eclipse-and-eclipse-java7-371.html">dans ce blog</a>, afin d’être compatible avec les nombreux changement apportés au compilateur Eclipse.</p><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="CodingdojosurlethmedeClojure"></a>Coding dojo sur le thème de Clojure</h4><p>Il y a quelques semaines que s&#8217;est créé le Clojure Paris User Group (CPUG). Actuellement, ce user group est caractérisé par un groupe Google et deux coding dojo. À ce propos, mercredi dernier s&#8217;est tenu le coding dojo du CPUG durant le déjeuner chez Finance Active, près du palais Brongniart. Un Xébian y était présent !</p><p
style="text-align: center;"><a
href="http://blog.xebia.fr/wp-content/uploads/2011/09/dojo-clojure.jpg"><br
/> <img
class="size-medium wp-image-8627 aligncenter" title="dojo-clojure" src="http://blog.xebia.fr/wp-content/uploads/2011/09/dojo-clojure-300x225.jpg" alt="" width="300" height="225" /></a><br
/> <em>(Photographie par <a
title="Ulrich Vachon" href="http://twitter.com/#%21/ulrich">Ulrich Vachon</a> avec son autorisation)</em></p><p>Pour rappel, le coding dojo est une réunion durant laquelle des développeurs tente de résoudre un défi technique. Cette réunion se situe dans une salle assez grande, contenant un ordinateur relié à un vidéo-projecteur. Dans sa forme Kata Randori, une fois le sujet choisi et l&#8217;environnement de développement préparé, deux personnes se mettent en binôme à l&#8217;ordinateur: une prend le rôle de pilote et tape au clavier pendant que l&#8217;autre prend le rôle de co-pilote et dirige le pilote. Toutes les 5-10 minutes. le pilote va se rassoir, le co-pilote prend la place du pilote et une personne de l&#8217;assemblée vient remplacer le co-pilote. Bien entendu, il ne faut pas attendre d&#8217;être au niveau de l&#8217;ordinateur pour parler : dans un coding dojo, tout le monde participe. Plus d&#8217;informations sont disponibles sur ce site : <a
title="httpcodingdojoorg" href="http://codingdojo.org/">http://codingdojo.org/</a><br
/> Pour en revenir à Clojure, le défi consistait à programmer en Clojure une fonction capable de trouver les n premiers nombres premiers. Nous étions une petite dizaine et nous avons eu le temps de faire une rotation complète en 1h20. Bien qu&#8217;étant tous plus ou moins débutants, la cohésion du groupe et la volonté d&#8217;atteindre le but ont fait que nous avons fini par obtenir un code qui fonctionne. Vous trouverez ici le code obtenu : <a
href="https://github.com/elefevre/dojo-at-lunch/blob/master/2011-09-21-nombres-premiers/test/prime_numbers/test/core.clj">https://github.com/elefevre/dojo-at-lunch/blob/master/2011-09-21-nombres-premiers/test/prime_numbers/test/core.clj</a></p><div
class="shr-publisher-8625"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F09%2F27%2Frevue-de-presse-xebia-231%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F09%2F27%2Frevue-de-presse-xebia-231%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/09/27/revue-de-presse-xebia-231/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/09/20/revue-de-presse-xebia-230/</link> <comments>http://blog.xebia.fr/2011/09/20/revue-de-presse-xebia-230/#comments</comments> <pubDate>Tue, 20 Sep 2011 05:21:35 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Betamax]]></category> <category><![CDATA[git]]></category> <category><![CDATA[Git-Flow]]></category> <category><![CDATA[Github]]></category> <category><![CDATA[SCRUM]]></category> <category><![CDATA[VCR]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8549</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Agilité Modification du guide SCRUM Nouvelle certification Agile au PMI Le coin de la technique Betamax 1.0 refera t&#8217;il l&#8217;histoire ? Git: à chacun son flow Agilité Modification du guide SCRUM L&#8217;été est souvent le moment privilégié par nos élus pour faire passer en [...]]]></description> <content:encoded><![CDATA[<p><img
style="margin: 1em 1em 1em 1em; float: right;" src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" /></p><p><em>La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/09/20/revue-de-presse-xebia-230/#ModificationduguideSCRUM">Modification du guide SCRUM</a></li><li><a
href="http://blog.xebia.fr/2011/09/20/revue-de-presse-xebia-230/#NouvellecertificationAgileauPM">Nouvelle certification Agile au PMI</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/09/20/revue-de-presse-xebia-230/#Betamaxreferatillhistoire">Betamax 1.0 refera t&#8217;il l&#8217;histoire ?</a></li><li><a
href="http://blog.xebia.fr/2011/09/20/revue-de-presse-xebia-230/#Gitchacunsonflow">Git: à chacun son flow</a></li></ul><h3><a
name="Agilit"></a>Agilité</h3><h4><a
name="ModificationduguideSCRUM"></a>Modification du guide SCRUM</h4><p>L&#8217;été est souvent le moment privilégié par nos élus pour faire passer en douce des lois sans faire trop de bruit. Cela vous a peut être échappé mais cet été Jeff Sutherland et Ken Schwaber ont publié <a
title="une mise à jour de SCRUM en 6 points" href="http://www.scrum.org/storage/Scrum%20Update%202011.pdf">une mise à jour de SCRUM en 6 points</a>. Je ne sais pas s&#8217;ils avaient eux-aussi la volonté d&#8217;introduire ces changements sans trop faire de bruit (<a
title="un peu quand mme" href="http://14principles.com/agile/scrum-guide-2011/">un peu quand même</a>), mais certains sont assez marquants, nous vous les détaillons ci-dessous:</p><ul><li>l&#8217;équipe SCRUM est désormais nommée &laquo;&nbsp;équipe de développement&nbsp;&raquo;, fini la métaphore des poulets et des cochons. Ce changement de terminologie peut laisser quelque peu sceptique, car la notion d&#8217;équipe pluridisciplinaire ne transparaît pas très bien derrière le terme développeur. Dans la nouvelle Scrum Team donc, tout le monde sera développeur, que vous soyez programmeur, testeur, analyste, manager, ou quoique ce soit. Faut-il se réjouir de cette appellation ? Elle a en tout cas pour vertu de nous mettre face à l&#8217;objectif premier: développer un produit. Cela me fait penser à un célèbre dirigeant Américain qui n&#8217;avait pas hésité à déclarer &laquo;&nbsp;Ich bin ein Berliner&nbsp;&raquo; pour montrer sa solidarité. Chers cochons, quoique vous fassiez, aujourd&#8217;hui n&#8217;hésitez pas à clamer &laquo;&nbsp;Ich bin ein Developer&nbsp;&raquo;.</li><li>La notion d&#8217;engagement est supprimée: ce sont les SSII qui vont faire la grimace, nombre d&#8217;entre elles bâtissaient des forfaits agiles sur cette notion d&#8217;engagement en début d&#8217;itération (ça ne les empêchera de continuer cela dit). C&#8217;est peut-être ce qui a poussé les créateurs de SCRUM à supprimer cette notion à double tranchants, l&#8217;engagement étant la base du mécanisme de <a
title="soumission librement consentie" href="http://fr.wikipedia.org/wiki/Engagement_(psychologie_sociale)">soumission librement consentie</a>. Il est maintenant remplacé par la notion de &laquo;&nbsp;prévision de ce qui peut être réalisé dans le sprint, cette prévision étant affinée tout au long de l&#8217;itération&nbsp;&raquo;, c&#8217;est plus long à dire mais on risque moins de se faire manipuler</li><li>Le burndown d&#8217;itération n&#8217;est pas obligatoire: les créateurs de SCRUM nous rappellent que ce qui est important est le suivi du reste à faire et pas la façon dont on le suit</li><li>Le Release Planning n&#8217;est pas un élément de SCRUM: un changement en forme de précision, les auteurs signalent tout de même qu&#8217;il est utile de le faire, ouf !</li><li>Le backlog de sprint est supprimé: sans doute le changement le plus marquant, la corvée du découpage en tâches estimées en heures ne sera plus imputable à SCRUM. Les auteurs auraient pu ajouter une phrase du type &laquo;&nbsp;nous déclinons toute responsabilité si vous continuez à découper, estimer, et suivre des tâches&nbsp;&raquo; tellement cette pratique donne la migraine aux équipes qui débutent, et tellement les équipes familières avec SCRUM s&#8217;en débarrassent avec bonheur. Ce sont les éditeurs de logiciel de gestion de projet agile qui vont faire la grimace: si ça continue les équipes SCRUM n&#8217;auront plus besoin que de post-it.</li><li>Le product backlog n&#8217;est pas priorisé mais trié: là encore ce changement a le mérite de mettre l&#8217;accent sur le fond et pas sur la forme, même si la nuance est subtile. La priorisation amenait parfois des débats pas forcément constructifs entre l&#8217;équipe, qui a besoin d&#8217;éléments prêts à être réalisés (&laquo;&nbsp;ready&nbsp;&raquo;), et le Product Owner, pour qui tout est prioritaire même les points les plus flous. Ici on demande au Product Owner de classer, régulièrement et dans l&#8217;ordre qu&#8217;il souhaite, les éléments du haut de la liste devant être &laquo;&nbsp;ready&nbsp;&raquo;.</li></ul><p>Vous pouvez consulter le <a
title="guide SCRUM" href="http://www.scrum.org/storage/scrumguides/Scrum%20Guide%20-%202011.pdf">guide SCRUM</a> dans sa version 2011.</p><h4><a
name="NouvellecertificationAgileauPM"></a>Nouvelle certification Agile au PMI</h4><p>Le <a
title="PMI" href="http://www.pmi.org/">PMI</a> (Project Management Institute) est une association mondialement connue spécialisée dans les méthodologies de gestion de projet.<br
/> A travers son guide <a
title="PMBOK" href="http://www.pmi.org/PMBOK-Guide-and-Standards/Standards-Library-of-PMI-Global-Standards.aspx">PMBOK</a>, elle propose des bonnes pratiques et une méthodologie regroupant un ensemble de processus classés par domaines d&#8217;activités.</p><p>Face aux succès des méthodes agiles, une communauté agile s&#8217;est formé au sein du PMI et prépare une <a
title="version 5" href="http://leadinganswers.typepad.com/leading_answers/2011/04/pmi-agile-work.html">version 5</a> agilisée du PMBOK courant 2012.<br
/> En outre, le PMI va proposer sa propre certification agile nommée <a
title="ACP" href="http://www.pmi.org/Certification/New-PMI-Agile-Certification.aspx">ACP</a> (Agile Certified Practitioner) d&#8217;ici la fin de l&#8217;année.<br
/> Actuellement, les <a
title="certifications Scrum" href="http://www.scrumalliance.org/pages/scrum_certification">certifications Scrum</a> (proposées par la Scrum Alliance) consistent simplement à assister à une formation de 2 jours donnée par <a
title="un coach Scrum certifié" href="http://www.scrumalliance.org/pages/certified_scrum_coach">un coach Scrum certifié</a>. Ces certifications sont même <a
title="de plus en plus discrdites" href="http://www.aubryconseil.com/post/La-certification-Scrum-encore-plus-discreditee">de plus en plus discréditées</a>.<br
/> La formation ACP consistera en un examen sous la forme de 120 questions à réponses multiples. Il est d&#8217;ores et déjà possible de participer au <a
title="programme pilote" href="http://www.pmi.org/Certification/New-PMI-Agile-Certification/PMI-Agile-Certification-Pilot-Program.aspx">programme pilote</a>, si vous répondez aux critères d&#8217;éligibilité. Reste à voir si ce questionnaire sera suffisamment significatif pour avoir une réelle valeur.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="Betamaxreferatillhistoire"></a>Betamax 1.0 refera t&#8217;il l&#8217;histoire ?</h4><p>Une nouvelle librairie vient de débarquer en version 1.0: <a
title="Betamax" href="http://robfletcher.github.com/betamax/">Betamax</a>. Similaire à <a
title="VCR" href="https://github.com/myronmarston/vcr">VCR</a> déjà connu des Rubyistes, Betamax est destiné à ouvrir de nouveaux horizons aux tests unitaires. Cette librairie agit en effet comme un proxy http à ceci près qu&#8217;elle enregistre les requêtes et les réponses afin de pouvoir rejouer ces dernières. On voit donc immédiatement l&#8217;intérêt: on peut écrire ses tests unitaires pour qu&#8217;ils aillent requêter un vrai serveur avec de bonnes données. Ensuite, lorsque le test sera rejoué sur un autre environnement ne disposant pas forcément d&#8217;un accès au serveur, c&#8217;est Betamax qui se substituera à celui-ci en renvoyant les données qu&#8217;il a précédemment enregistrées.<br
/> On voit tout de suite l&#8217;intérêt que l&#8217;on peut tirer d&#8217;une telle librairie qui permet de se passer d&#8217;écrire un énième mock pour faire ses tests. Par contre, ceux-ci ne sont alors plus si unitaires que ça et pourraient même devenir assez lourd (un serveur -Jetty- est démarré). Il faudra donc sans doutes faire attention à ne pas en abuser.</p><p>L&#8217;analogie avec le monde de la vidéo est prolongée assez loin: Betamax enregistre par exemple les requêtes dans des fichiers appelés &laquo;&nbsp;tape&nbsp;&raquo;. Espérons tout de même pour lui que Betamax parvienne <a
title="cette foisci" href="http://fr.wikipedia.org/wiki/Betamax#Betamax_contre_VHS">cette fois-ci</a> à s&#8217;imposer !</p><h4><a
name="Gitchacunsonflow"></a>Git: à chacun son flow</h4><p>Vous connaissez Git, le SCM du moment. peut être connaissez vous aussi <a
title="Git-Flow" href="http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/">Git-Flow</a>, un <a
title="ensemble de raccourcis" href="https://github.com/nvie/gitflow">ensemble de raccourcis</a> destinés à donner un cadre à l&#8217;utilisation de Git. Scott Chacon, évangéliste chez <a
title="GitHub" href="http://www.github.com/">GitHub</a>, compare <a
title="sur son blog" href="http://scottchacon.com/2011/08/31/github-flow.html">sur son blog</a> l’expérience de Git et son l&#8217;utilisation qui en est faite chez GitHub par rapport au standard qu&#8217;est git-flow. Il s’avère que GitHub dispose d&#8217;un flow assez simple:</p><ul><li>Tout ce qui est dans la branche master doit est soit déjà déployé, soit va l’être sous peu. C&#8217;est LA règle principale.</li><li>Pour toute nouvelle fonctionnalité, une nouvelle branche est créée à partir de master. Pour peu que les branches aient un nom bien choisi, la page &laquo;&nbsp;branch list&nbsp;&raquo; de GitHub permet d&#8217;avoir rapidement une vue d&#8217;ensemble des nouveautés en cours de développement.</li><li>Les commit locaux ET les <em>push</em> vers le serveur sont encouragé. C&#8217;est une différence importante par rapport à git-flow. Les <em>push</em> réguliers participent à la volonté de transparence, pour savoir tout le temps ce qui se passe sur le projet et éventuellement pouvoir collaborer.</li><li>Le mécanisme de <em>pull request</em> est un outil inestimable. Il permet de faire des revues de code, des propositions, laisser des commentaires&#8230;</li><li>La branche n&#8217;est mergée dans <em>master</em> qu’après validation par une tierce personne.</li><li>Une fois la fonctionnalité <em>pushée</em> sur master, vous pouvez et DEVEZ immédiatement déployer. Si vous ne le faites pas, c&#8217;est la personne qui suivra qui prendra ce risque. Or, vous ne voulez pas que les problèmes de votre code tombent sur d&#8217;autres que vous. On voit donc dans l&#8217;article une jolie capture sur laquelle on voit qu&#8217;en une journée, des dizaines de déploiements en production ont eu lieu (oui, il y a bien marqué <strong>des dizaines de déploiements en production</strong> <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ). A n&#8217;en pas douter, nombreux sont ceux que cette performance laissera rêveurs !</li></ul><p>Bref, même si Scott Chacon prêche pour sa paroisse en vantant Git et GitHub, il est intéressant de voir comment l&#8217;entreprise utilise en interne l&#8217;outil qu&#8217;elle propose à des tiers.</p><div
class="shr-publisher-8549"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F09%2F20%2Frevue-de-presse-xebia-230%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F09%2F20%2Frevue-de-presse-xebia-230%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/09/20/revue-de-presse-xebia-230/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/09/13/revue-de-presse-xebia-229/</link> <comments>http://blog.xebia.fr/2011/09/13/revue-de-presse-xebia-229/#comments</comments> <pubDate>Tue, 13 Sep 2011 08:25:32 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[AMQP]]></category> <category><![CDATA[Event Sourcing]]></category> <category><![CDATA[LMAX]]></category> <category><![CDATA[Memory Image]]></category> <category><![CDATA[REST]]></category> <category><![CDATA[RESTFul]]></category> <category><![CDATA[Spring Social]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8471</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. REST ou pas REST Le coin de la technique SpringSource: Spring Social et Spring AMQP en 1.0 Memory Image REST ou pas REST Un article a fait le buzz la semaine dernière sur les architectures REST. Kelly Sommers nous propose de revoir, de façon [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><ul><li><a
href="http://blog.xebia.fr/2011/09/13/revue-de-presse-xebia-229/#RESToupasREST">REST ou pas REST</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/09/13/revue-de-presse-xebia-229/#SpringSourceSpringSocialetSpri">SpringSource: Spring Social et Spring AMQP en 1.0</a></li><li><a
href="http://blog.xebia.fr/2011/09/13/revue-de-presse-xebia-229/#MemoryImage">Memory Image</a></li></ul><h4><a
name="RESToupasREST"></a>REST ou pas REST</h4><p>Un <a
href="http://kellabyte.com/2011/09/04/clarifying-rest/" title="article" >article</a> a fait le buzz la semaine dernière sur les architectures REST. Kelly Sommers nous propose de revoir, de façon claire et détaillée, la définition d&#8217;une API REST.<br
/> En effet, avec l&#8217;émergence des frameworks Javascript, des traitements de présentation faits hier côté serveur sont maintenant revenus à leur juste place, au sein des navigateurs clients.<br
/> Pour couvrir un maximum de sites, les grands d&#8217;Internet se doivent d&#8217;avoir une API externe. C&#8217;est pour cela que des sites comme Twitter, Flickr, Google Search proposent d&#8217;utiliser leurs services via ces APIs dites &laquo;&nbsp;RESTful&nbsp;&raquo;: grâce à elles, il est possible d&#8217;intégrer de tels services dans un site tiers, et ce sans bibliothèque particulière.<br
/> Mais l&#8217;étude menée par Kelly Sommers nous démontre que certaines de ces APIs n&#8217;ont de RESTFul que le nom.<br
/> Rappelons au passage que REST signifie <em>Representational State Transfer</em>: il s&#8217;agit donc de gérer les états des ressources exposées par ces APIs.</p><p>Les règles les plus élémentaires d&#8217;une API REST sont en général bien respectées:</p><ul><li>Utiliser le transport HTTP</li><li>Chaque service possède une URL définie</li><li>L&#8217;application doit gérer un format de sortie simple (text/html, application/xml, application/json&#8230;)</li><li>Gestion explicite des opérations avec les verbes HTTP: GET, POST, PUT, DELETE&#8230;</li></ul><p>D&#8217;autres règles, plus contraignantes, sont cependant assez fréquemment bafouées :</p><ul><li>Pas de gestion d&#8217;état côté serveur (pas d&#8217;utilisation de la session HTTP, le client fournit l&#8217;intégralité des données au serveur à chaque appel)</li><li>Si, dans une réponse, la ressource en cours de consultation contient une référence vers une autre ressource, la première doit contenir un lien vers un autre service qui permet de détailler aussi la seconde. On parle d&#8217;utilisation de liens hypertextes dans la réponse HTTP.</li><li>La réponse doit pouvoir prévenir le client si elle peut être mise en cache dans le navigateur.</li></ul><p>Nombre d&#8217;applications web utilisent des fermes de serveurs pour absorber la charge. On utilise ensuite des mécanismes complexes de transfert de session en cas de pannes de l&#8217;un d&#8217;eux, pour éviter la perte de données. REST propose une autre solution: comme il n&#8217;y a pas de données en session, on peut facilement changer de serveur entre chaque appel sans problème: la contrainte d&#8217;une architecture sans état devient alors un atout.</p><p>En ce qui concerne l&#8217;usage des liens hypertextes, l&#8217;exemple choisi, extrait de l&#8217;API Twitter, est très parlant. Si la réponse contient la description d&#8217;un client, on s&#8217;attend naturellement à recevoir le lien vers un autre service REST pour en avoir la description complète. Cela permet de maintenir la logique de suite des services au sein de l&#8217;application, et non pas dans le client.</p><p>Il est souvent intéressant de revenir aux sources des choses pour mieux les comprendre. Le service REST vous permet d&#8217;avoir une application indépendante du client qui l&#8217;appelle. Mais comme toute solution, attention à toujours suivre tous les principes fondamentaux! Il ne faut ne pas confondre Remote Programming Control et service REST. A vos claviers pour des API REST dignes de ce nom!</p><p>Un exemple d&#8217;API que nous trouvons réussie, et qui respecte ces patterns, est celle de <a
href="http://static.springsource.org/spring-batch-admin/reference/running.html" title="Spring Batch Admin" >Spring Batch Admin</a>. La page d&#8217;accueil vous présente la liste des services qu&#8217;on peut invoquer, et chaque réponse contient un lien vers un service de description lié. Il reste juste une petite astuce pour gérer les opérations DELETE et PUT.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="SpringSourceSpringSocialetSpri"></a>SpringSource: Spring Social et Spring AMQP en 1.0</h4><p>Les réseaux sociaux forment un nouveau médium de communication qui désormais ne peut plus être négligé. Avec <a
href="http://blog.springsource.com/2011/09/08/spring-social-1-0-what-a-year-makes/" title="Spring Social 10" >Spring Social 1.0</a>, SpringSource fournit une approche commune pour authentifier un utilisateur et permettre d&#8217;utiliser les APIs propriétaires des grands réseaux sociaux; le but de cette initiative est de simplifier et homogénéiser l&#8217;accès à ces APIs hétérogènes.</p><p>Twitter et Facebook sont pleinement supportés; le support de LinkedIn, TripIt, GitHub et Gowalla est en cours. Bien sûr, un <a
href="http://en.wikipedia.org/wiki/Service_Provider_Interface" title="SPI" >SPI</a> vous permet également d&#8217;intégrer votre réseau social favori. Par exemple, des projets externes se consacrent actuellement à l&#8217;intégration de Foursquare et Dropbox. Il ne faut cependant pas négliger l&#8217;effort d&#8217;adaptation requis : marshalling, unmarshalling, gestion des erreurs&#8230; sans oublier les différences d&#8217;implémentation du protocole d&#8217;authentification <a
href="http://oauth.net/" title="Oauth" >Oauth</a>, utilisé par la plupart des réseaux sociaux.</p><p>Avec la <a
href="http://www.springsource.org/node/3219" title="sortie de Spring AMQP 10" >sortie de Spring AMQP 1.0</a>, ce nouveau protocole de message n&#8217;a plus rien à envier à JMS en terme de facilité d&#8217;utilisation. Pour les utilisateurs de CloudFoundry, c&#8217;est une nouvelle API pour utiliser RabbitMQ, le système de message de la plateforme.</p><h4><a
name="MemoryImage"></a>Memory Image</h4><p>Martin Fowler nous propose un article sur la notion de <a
href="http://martinfowler.com/bliki/MemoryImage.html" title="Memory Image" >Memory Image</a>. Il fait suite à une publication cet été sur une application de passage d&#8217;ordres pour les marchés financiers, le <a
href="http://martinfowler.com/articles/lmax.html" title="projet LMAX" >projet LMAX</a>. Cette application Java permet de traiter pas moins de 6 millions d&#8217;opérations par seconde&#8230; sur un seul Thread!</p><p>Pour arriver à ce niveau de performance, l&#8217;application met en place le mécanisme d&#8217;<a
href="http://martinfowler.com/eaaDev/EventSourcing.html" title="Event Sourcing" >Event Sourcing</a>.</p><p>L&#8217;application est divisée en trois parties:</p><ul><li>Input Disruptors</li><li>Business Logic</li><li>Output Disruptors</li></ul><p>Les éléments Input et Output Disruptors sont chargés de recevoir, archiver et transmettre les données hors du système, avec des entrées-sorties fréquentes et une conception multi-threadée faisant appel à des buffers circulaires FIFO permettant de diminuer les temps de latence élevés dus aux entrées-sorties.</p><p>Le composant Business Logic quant à lui représente le cœur du traitement. De façon surprenante, cet élément de l&#8217;architecture n&#8217;est pas conçu pour l&#8217;exécution concurrente, et repose entièrement sur un seul thread.</p><p>Le concept est plutôt simple, toutes les données sont en mémoire dans le centre du Business Logic. Martin Fowler rappelle gentiment que pour faire fonctionner les mécanismes de cache du code de la JVM, on doit avoir des méthodes courtes et bien découplées (ces patterns de conception ne sont pas du pur hasard !). La seule contrainte est de pouvoir recomposer l&#8217;état du système à travers une journalisation des événements passés faite au fil du temps. Ainsi, il suffit de rejouer le journal des événements et votre application reprend son traitement où elle en était.</p><p>Martin Fowler revient également sur le concept de &laquo;&nbsp;sympathie mécanique&nbsp;&raquo; (<em>mechanical sympathy</em>) qu&#8217;il emprunte à Martin Thompson: il s&#8217;agit de soigner l&#8217;interaction entre le programme et le hardware qui l&#8217;exécute afin d&#8217;optimiser les performances. Par exemple, Fowler explique que son équipe a pris soin d&#8217;écrire des implémentations &laquo;&nbsp;cache-friendly&nbsp;&raquo; et &laquo;&nbsp;garbage-collector-friendly&nbsp;&raquo; de l&#8217;interface Map plutôt que d&#8217;utiliser les implémentations classiques; mais surtout il explique que le choix même des paradigmes de programmation est crucial: un modèle concurrentiel fondé sur les files de messages serait d&#8217;après lui moins &laquo;&nbsp;CPU-friendly&nbsp;&raquo; qu&#8217;un modèle à producteur unique, comme les Disruptors et leurs buffers circulaires. D&#8217;après Fowler, ce choix a permis d&#8217;optimiser les caches CPU de façon non négligeable.</p><p>Avec l&#8217;avènement du concept de NoSQL, nous apprenons déjà à revoir nos choix d&#8217;architecture pour la persistance de données. Avec le concept de Memory Image, Martin Fowler nous propose d&#8217;aller encore plus loin en se demandant même si un stockage persistant des données, de quelque type que ce soit, est réellement utile dans toutes les situations.</p><p>Se dissocier de la persistance permet d&#8217;avoir un modèle clair et d&#8217;éviter les acrobaties de mapping requises par les frameworks d&#8217;ORM (le fameux problème de l&#8217;<a
href="http://en.wikipedia.org/wiki/Object-relational_impedance_mismatch" title="impedance mismatch" ><em>impedance mismatch</em></a>). Pas besoin non plus de personnaliser jusqu&#8217;à la dernière goutte les requêtes SQL pour arriver au niveau de performance voulu. Par contre, l&#8217;un des problèmes de l&#8217;approche <em>in-memory</em> est l&#8217;absence de notion de transaction. Il est en effet très difficile d&#8217;appliquer un rollback à des objets en mémoire, contrairement à ceux d&#8217;une base de données. Il faut donc valider un maximum les données avant même de faire le traitement.</p><p>Alors, êtes-vous prêts à faire 6 millions de transactions par seconde sur 1 thread ?</p><div
class="shr-publisher-8471"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F09%2F13%2Frevue-de-presse-xebia-229%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F09%2F13%2Frevue-de-presse-xebia-229%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/09/13/revue-de-presse-xebia-229/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/09/06/revue-de-presse-xebia-228/</link> <comments>http://blog.xebia.fr/2011/09/06/revue-de-presse-xebia-228/#comments</comments> <pubDate>Tue, 06 Sep 2011 04:26:07 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[castcodeurs]]></category> <category><![CDATA[Conference]]></category> <category><![CDATA[GAE]]></category> <category><![CDATA[Google App Engine]]></category> <category><![CDATA[livre]]></category> <category><![CDATA[podcast]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8405</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Agilité Les cast codeurs sur l&#8217;agilité Un été très agile Cloud Google App Engine augmente ses tarifs Evénements de notre communauté en France et à l&#8217;étranger Top 10 des livres les plus influents pour développeurs Agilité Les cast codeurs sur l&#8217;agilité Un épisode spécial [...]]]></description> <content:encoded><![CDATA[<p><img
style="margin: 1em 1em 1em 1em; float: right;" src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" /></p><p><em>La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/09/06/revue-de-presse-xebia-228/#Lescastcodeurssurlagilit">Les cast codeurs sur l&#8217;agilité</a></li><li><a
href="http://blog.xebia.fr/2011/09/06/revue-de-presse-xebia-228/#Unttrsagile">Un été très agile</a></li></ul><p><strong>Cloud</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/09/06/revue-de-presse-xebia-228/#GoogleAppEngineaugmentesestari">Google App Engine augmente ses tarifs</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/09/06/revue-de-presse-xebia-228/#Topdeslivresnbsplesplusinfluen">Top 10 des livres les plus influents pour développeurs </a></li></ul><h3><a
name="Agilit"></a>Agilité</h3><h4><a
name="Lescastcodeurssurlagilit"></a>Les cast codeurs sur l&#8217;agilité</h4><p>Un <a
title="pisode" href="http://lescastcodeurs.com/2011/08/les-cast-codeurs-podcast-episode-45-methodes-agiles-avec-jean-laurent-de-morlhon-et-arnaud-heritier/">épisode</a> spécial sur l&#8217;agilité du podcast java phare : les Castcodeurs. Avec Jean-Laurent de Morlhon de Xebia, Arnaud Héritier d&#8217;Exo et Emmanuel Bernard de JBoss.<br
/> On y parle des différents courants agiles, de XP à Scrum en évoquant bien sûr le courant software craftsmanship.<br
/> A écouter dans les transports par exemple, d&#8217;une durée d&#8217;1 heure environ.</p><h4><a
name="Unttrsagile"></a>Un été très agile</h4><p>Cette année est un peu particulière car elle marque le 10è anniversaire du Manifeste Agile. Depuis le mois de Janvier nous voyons fleurir les discussions &laquo;&nbsp;10 ans après&nbsp;&raquo; sur les forums et les présentations &laquo;&nbsp;10 ans plus tard&nbsp;&raquo; dans les conférences.</p><p>Mais l&#8217;événement certainement le plus en vue se tenait début Août à Salt Lake City, la conférence <a
title="Agile2011" href="http://agile2011.agilealliance.org/">Agile2011</a>. Pour ceux qui ne connaissent pas, la série des conférences &laquo;&nbsp;Agile 20xx&nbsp;&raquo; est le rassemblement annuel le plus important du monde agile, elle se tient chaque année dans un lieu différent en Amérique du Nord et est organisée par l&#8217;Alliance Agile. Pour l&#8217;occasion le lieu de la conférence avait été choisi à proximité du lieu où les signataires du manifeste s&#8217;étaient rassemblés en 2001 pour, selon les versions, causer le bout de gras sur les méthodes &laquo;&nbsp;légères&nbsp;&raquo; (terme utilisé à l&#8217;époque en lieu et place de &laquo;&nbsp;agile&nbsp;&raquo;), ou régler ses comptes entre méthodologues rigoristes et nihilistes.</p><p>Cette année donc, le thème de la conférence Agile2011 tournait autour du concept &laquo;&nbsp;10 ans après&nbsp;&raquo; et, dans un élan de nostalgie que n&#8217;aurait pas boudé <a
title="Patrick Bruel" href="http://www.youtube.com/watch?v=buPbgI9CSCQ">Patrick Bruel</a>, son point d&#8217;orgue était le rassemblement de 15 des 17 signataires du manifeste pour une discussion ouverte avec les participants.</p><p>Il est assez difficile de synthétiser un tel événement tant son contenu est dense et les retombées des participants multiples. Cette année le programme proposait 17 thèmes différents avec des sessions destinées aux plus vierges comme aux plus expérimentés. A travers les retours de nos collègues Hollandais, nos lectures de la blogosphère, et les retombées des réseaux sociaux, nous vous proposons ici quelques axes qui se dégagent de la conférence.</p><ul><li>Tout d&#8217;abord il faut noter l&#8217;importance croissante des &laquo;&nbsp;serious games&nbsp;&raquo; qui semblent désormais être un incontournables dans la mallette de l&#8217;agiliste. On en trouve 2 sortes, d&#8217;abord les jeux pédagogiques dont la finalité est d&#8217;illustrer des principes ou des pratiques agiles et qui sont utilisés depuis longtemps dans les conférences agiles. Mais la révolution vient plutôt de la démocratisation des jeux dont la finalité est d&#8217;être un outil de travail. On trouve dans cette catégorie les <a
title="Innovation Games" href="http://www.innovationgames.com/">Innovation Games</a>, ou le <a
title="LegoTM Serious Play" href="http://www.seriousplay.com/">LegoTM Serious Play</a>. Plus de fun, moins d&#8217;ennui, on achète tout de suite. Nos DSI françaises sont-elles prêtes à jouer ? Si l&#8217;on en croit l&#8217;ampleur de <a
title="la guerre des postits" href="http://www.postitwar.com/">la guerre des postits</a>, on a de bons espoirs!</li><li>La seconde tendance majeure qui se dégage c&#8217;est la notion d&#8217;entreprise agile. L&#8217;agilité n&#8217;est plus seulement une affaire d&#8217;ingénieurs informatiques, c&#8217;est toute l&#8217;entreprise qui est concernée. Cette prise de conscience n&#8217;est pas totalement nouvelle et ceux qui vivent l&#8217;agilité au quotidien s&#8217;en sont rendu compte rapidement. Ce qui est relativement récent c&#8217;est plutôt le bouillonnement d&#8217;outils et d&#8217;approches visant à concrétiser cette agilité au delà des DSI. Parmi les sujets les plus en vogue, le <a
title="Lean Startup" href="http://theleanstartup.com/">Lean Startup</a> fait beaucoup parler et réagir. A suivre.</li></ul><p>Ce qu&#8217;on peut reprocher à Agile20xx c&#8217;est sa connotation très Nord-Américaine. On peut regretter le manque jusqu&#8217;alors d&#8217;un tel événement fédérateur sur le territoire Européen. C&#8217;est sans doute l&#8217;un des enjeux de la première conférence <a
title="ALE2011" href="http://ale2011.eu/">ALE2011</a> qui se tient cette semaine à Berlin du 7 au 9 Septembre: créer un événement agile avec une forte connotation européenne. Xebia sponsorise et participe à cet événement, suivez notre blog pour les comptes-rendus, et le hashtag <a
title="#ale2011" href="https://twitter.com/#!/search/%23ale2011">#ale2011</a> sur Twitter.</p><h3><a
name="Cloud"></a>Cloud</h3><h4><a
name="GoogleAppEngineaugmentesestari"></a>Google App Engine augmente ses tarifs</h4><p>En mai dernier, Google avait annoncé qu&#8217;une modification de la tarification des applications GAE était prévue. C&#8217;est maintenant <a
title="officiel" href="http://googleappengine.blogspot.com/2011/08/50-credit-for-new-billing-signups-and.html">officiel</a>, elle arrivera fin septembre. La firme a d&#8217;ailleurs mis en ligne <a
title="un outil" href="http://googleappengine.blogspot.com/2011/08/50-credit-for-new-billing-signups-and.html">un outil</a> permettant de calculer les coûts avec le nouveau modèle.<br
/> InfoQ <a
title="nous rapporte la nouvelle" href="http://www.infoq.com/news/2011/09/app-engine-price-hike">nous rapporte la nouvelle</a> et explique qu&#8217;un mécontentement de certains utilisateurs se fait sentir. Et ce n&#8217;est pas l&#8217;amélioration contractuelle du <a
title="SLA" href="http://fr.wikipedia.org/wiki/Service_Level_Agreement">SLA</a> ou l&#8217;abandon du terme &laquo;&nbsp;beta&nbsp;&raquo; qui calmera la majorité d&#8217;entre eux.</p><p>Du coté des francophones en vue, Guillaume Laforge nous fait part <a
title="sur son blog personnel" href="http://glaforge.appspot.com/article/google-app-engine-s-new-pricing-model">sur son blog personnel</a> (qui tourne d’ailleurs sur GAE) de son cas. Bien sûr, il travaille pour VMWare qui édite <a
title="Cloud Foundry" href="http://cloudfoundry.org/">Cloud Foundry</a> mais il est aussi un gros utilisateur de GAE, avec avec entre autres <a
title="Gaelyk" href="http://gaelyk.appspot.com/">Gaelyk</a>, la <a
title="Groovy Console" href="http://groovyconsole.appspot.com/">Groovy Console</a>&#8230; Sacha Labourey lui aussi y va de <a
title="sa pique" href="http://blog.cloudbees.com/2011/09/just-after-going-ga-with-google-app.html">sa pique</a> envers GAE en lui reprochant particulièrement le fait qu&#8217;il ne soit pas standardisé. Certes, il est CEO chez <a
title="CloudBees" href="http://www.cloudbees.com/">CloudBees</a>&#8230; Toujours est-il qu&#8217;il fait fort justement remarquer que le mécontentement généralisé prouve que de nombreuses applications tournent aujourd&#8217;hui sur le Cloud et qu&#8217;il existe réellement un besoin et un marché. Bref, la bataille du Cloud est lancée et ne fait que commencer !</p><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="Topdeslivresnbsplesplusinfluen"></a>Top 10 des livres les plus influents pour développeurs</h4><p><em>&laquo;&nbsp;Si vous pouviez remonter le temps et suggérer de lire un livre au début de votre carrière de développeur, quel livre auriez vous choisi ?&nbsp;&raquo;</em><br
/> C&#8217;est la réponse à cette question populaire posée sur stackoverflow que l&#8217;on trouve résumée sur ce <a
title="billet" href="http://www.internetsecuritydb.com/2011/09/top-ten-most-influential-programming.html">billet</a>. Parmi ces livres, on trouve :</p><ul><li><em>The Pragmatic Programmer</em> : LE livre du parfait programmeur</li><li><em>Design Pattern</em> du <em>Gang Of Four</em> (GoF)</li><li><a
title="SICP" href="http://mitpress.mit.edu/sicp/">SICP</a> (alias <em>Wizard Book</em>) qui a servi pendant longtemps de cours d&#8217;introduction à l&#8217;informatique au MIT (remplacé cette année par Python)</li><li><em>Refactoring</em> de Martin Fowler, Kent Beck <em>et al.</em></li></ul><p>Peut-être avez-vous déjà lu ces livres. Si ce n&#8217;est pas le cas, courrez vite les chercher.</p><p>Mais peut-être que vous aussi vous avez des livres qui vous tiennent à cœur ?</p><div
class="shr-publisher-8405"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F09%2F06%2Frevue-de-presse-xebia-228%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F09%2F06%2Frevue-de-presse-xebia-228%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/09/06/revue-de-presse-xebia-228/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/08/30/revue-de-presse-xebia-227/</link> <comments>http://blog.xebia.fr/2011/08/30/revue-de-presse-xebia-227/#comments</comments> <pubDate>Tue, 30 Aug 2011 07:56:35 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[CloudFoundry]]></category> <category><![CDATA[Continuous Delivery]]></category> <category><![CDATA[DevOps]]></category> <category><![CDATA[Heroku]]></category> <category><![CDATA[infrastructure as code]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8382</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. Le coin de la technique Micro Cloud Foundry Heroku for Java Evénements de notre communauté en France et à l&#8217;étranger Dernières places disponibles pour notre atelier &#171;&#160;&#160;Java Infrastructure As Code avec Amazon EC2&#160;&#160;&#187; Le coin de la technique Micro Cloud Foundry Une des bonnes [...]]]></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 hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/08/30/revue-de-presse-xebia-227/#MicroCloudFoundry">Micro Cloud Foundry</a></li><li><a
href="http://blog.xebia.fr/2011/08/30/revue-de-presse-xebia-227/#HerokuforJava">Heroku for Java</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/08/30/revue-de-presse-xebia-227/#Derniresplacesdisponiblespourn">Dernières places disponibles pour notre atelier &laquo;&nbsp;&nbsp;Java Infrastructure As Code avec Amazon EC2&nbsp;&nbsp;&raquo;</a></li></ul><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="MicroCloudFoundry"></a>Micro Cloud Foundry</h4><p>Une des bonnes pratiques qu&#8217;il est souvent difficile de respecter est celle qui consiste à déployer sur les mêmes environnements, depuis le développement jusqu&#8217;à la production. Mais comment simuler cela en local lorsqu&#8217;on est sur un environnement en cluster?</p><p>VMWare apporte une réponse en annonçant la sortie de <a
href="http://micro.cloudfoundry.com/" title="Micro Cloud Foundry" >Micro Cloud Foundry</a>.</p><p>Ce service gratuit permet d&#8217;installer un noyau de la suite Cloud Foundry sur son poste de développement. On a ainsi, sur son poste personnel, un environnement similaire à un environnement opérationnel. Fini l&#8217;installation en local d&#8217;une base MySQL, d&#8217;un serveur d&#8217;application, le noyau embarque le tout, réduisant l&#8217;effort de construction de l&#8217;espace de travail.</p><p>La machine virtuelle exploite un noyau Ubuntu 64 bits. Désolé pour les possesseurs de processeur 32 bits, ce service n&#8217;est pas disponible pour vous.</p><p>Après l&#8217;inscription sur le site de VMWare, on télécharge l&#8217;image du système virtuel. Pour l&#8217;hôte, trois possibilités s&#8217;offrent à vous:</p><ul><li>VM Workstation pour Windows, payant mais complet</li><li>VM Player, gratuit pour Linux et Windows</li><li>VM Fusion, version payant pour MacOS</li></ul><p>Ensuite, on se lance dans la configuration de son noyau. Petite astuce, faites bien attention à configurer votre connexion réseau correctement (connexion pont pour ma part) avant de démarrer la machine virtuelle, sinon, cela complique un peu la tâche. Ce <a
href="http://blog.cloudfoundry.com/post/9331377393/we-shrunk-the-cloud-introducing-micro-cloud-foundry" title="post" >post</a> sur le blog de Cloud Foundry décrit très bien le processus à suivre.</p><p>Une fois la procédure effectuée, vous avez l&#8217;avantage de pouvoir tester vos applications, bien au chaud dans leur configuration cible, même hors-ligne (pratique pour les nomades !). Ensuite vous pouvez utiliser les commandes classiques sur le noyau Cloud Foundry avec le client en ligne de commande (<a
href="http://www.youtube.com/watch?v=dqr8xWQlRcM" title="voir ce très bon tutorial" >voir ce très bon tutorial</a>) ou avec <a
href="http://support.cloudfoundry.com/entries/20329947" title="Spring Tool Suite" >Spring Tool Suite</a>.</p><p>Ensuite, à vous le déploiement d&#8217;applications dans le cloud …. de votre poste local!</p><h4><a
name="HerokuforJava"></a>Heroku for Java</h4><p><a
href="http://www.heroku.com/" title="Heroku" >Heroku</a>, le service d&#8217;hébergement d&#8217;application dévoile enfin son offre pour Java, et cette nouvelle émoustille la communauté Java.<br
/> Après avoir supporté Ruby, Clojure et Node.JS, les applications Java peuvent être déployées au sein de ce système sans le moindre effort.</p><p>Les pré-requis pour le projet sont simplement Git et Maven. En effet Heroku se connecte à votre dépôt Git préféré, récupère les sources et construit l&#8217;application en se basant uniquement sur vos pom.xml. Heroku permet également de mettre en place le déploiement continu (<em>continuous delivery</em>) de votre application grâce à un simple mais néanmoins ingénieux <code>git push</code>.</p><p>Certes, il faut se familiariser avec la terminologie Heroku et se frayer un chemin entre le <a
href="http://devcenter.heroku.com/articles/slug-compiler" title="slug" >slug</a>, les <a
href="http://devcenter.heroku.com/articles/dynos" title="dynos" >dynos</a> et les <a
href="http://devcenter.heroku.com/articles/procfile" title="procfiles" >procfiles</a>. Mais en vérité le processus est simple et le seul complément qu&#8217;il faut impérativement apporter à votre projet pour qu&#8217;il soit exécutable sous Heroku est la création d&#8217;un script de démarrage avec Foreman/Procfile, car ici, pas de serveur d&#8217;application! Un serveur Jetty fera l&#8217;affaire.</p><p>Il existe d&#8217;ores et déjà des ressources disponibles pour ceux qui souhaitent se lancer: le <a
href="http://devcenter.heroku.com/categories/getting-started" title="tutorial" >tutorial</a> présenté sur le site d&#8217;Heroku permet de démarrer une application avec Spring MVC et Hibernate; des <a
href="https://github.com/heroku/java-workbook" title="tutoriaux publis sur Github" >tutoriaux publiés sur Github</a> par James Ward permettent également de suivre pas à pas la mise en place d&#8217;une application Java avec Spring Roo et Redis.</p><p>Il est possible d&#8217;ouvrir un compte gratuit afin de tester le service; on dispose alors d&#8217;une base de 5MB et d&#8217;un Worker (processus de traitement), par contre pas de serveur HTTP gratuitement.</p><p>Un grand catalogue d&#8217;Add-ons est présent pour compléter l&#8217;offre. On y retrouve du Redis, Neo4j, Amazon RDS, MongoDB, ainsi que des services de mailing, d&#8217;encodage vidéo à la demande, des APIs pour Twitter et des outils de monitoring. L&#8217;offre est plutôt complète !</p><p>Au dernier Paris JUG, Patrick Chanezon avait prévenu que le cloud computing allait prendre un tournant décisif en seconde partie d&#8217;année: la rentrée semble lui donner raison!</p><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="Derniresplacesdisponiblespourn"></a>Dernières places disponibles pour notre atelier &laquo;&nbsp;&nbsp;Java Infrastructure As Code avec Amazon EC2&nbsp;&nbsp;&raquo;</h4><p>Venez découvrir comment Amazon AWS et les techniques &laquo;&nbsp;Infrastructure as Code&nbsp;&raquo; de la culture DevOps s&#8217;appliquent à l&#8217;écosystème Java en automatisant le déploiement d&#8217;une application Java-MySQL clusterisée sur Amazon EC2.</p><p>Comme lors de la <a
href="http://java-infra-as-code-on-amzn-ec2-1.eventbrite.com/" title="première édition du 10 Août" >première édition du 10 Août</a>, la session est gratuite et ouverte à 25 personnes. L&#8217;inscription se déroule ici : &laquo;&nbsp;<a
href="http://java-infra-as-code-on-amzn-ec2-1-redux.eventbrite.com/" title="Atelier 'Java Infrastructure As Code' avec Amazon EC2 (1/2) redux" >Atelier &#8216;Java Infrastructure As Code&#8217; avec Amazon EC2 (1/2) redux</a>&laquo;&nbsp;.</p><div
class="shr-publisher-8382"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F08%2F30%2Frevue-de-presse-xebia-227%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F08%2F30%2Frevue-de-presse-xebia-227%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/08/30/revue-de-presse-xebia-227/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/08/23/revue-de-presse-xebia-225/</link> <comments>http://blog.xebia.fr/2011/08/23/revue-de-presse-xebia-225/#comments</comments> <pubDate>Tue, 23 Aug 2011 05:58:51 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Coherence]]></category> <category><![CDATA[Google App Engine]]></category> <category><![CDATA[Oracle]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8340</guid> <description><![CDATA[La revue de presse de l’actualité Java/JEE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Google App Engine 1.5.3 Le coin de la technique Bonnes pratiques pour la réplication de session dans Coherence Actualité éditeurs / SSII Google App Engine 1.5.3 Bien que sa sortie fut un peu chaotique (Un problème empêchait le déploiement via [...]]]></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/JEE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité  éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/08/23/revue-de-presse-xebia-225/#GoogleAppEngine">Google App Engine 1.5.3</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/08/23/revue-de-presse-xebia-225/#Bonnespratiquespourlarplicatio">Bonnes pratiques pour la réplication de session dans Coherence</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité  éditeurs / SSII</h3><h4><a
name="GoogleAppEngine"></a>Google App Engine 1.5.3</h4><p>Bien que sa sortie fut un peu chaotique (Un <a
href="http://code.google.com/p/googleappengine/issues/detail?id=5612" title="problème" >problème</a> empêchait le déploiement via le plugin Google d&#8217;Eclipse), Google a annoncé le 17 août, la version <a
href="http://googleappengine.blogspot.com/2011/08/app-engine-153-sdk-released.html" title="153" >1.5.3</a> de son SDK App Engine, mettant cette fois-ci l&#8217;accent sur les fonctionnalités autour de l&#8217;administration des données. En plus des corrections d&#8217;anomalies, voici une liste non exhaustive des nouvelles fonctionnalités :</p><p><strong>Blobstore :</strong></p><p>Désormais, l&#8217;espace dédié à la sauvegarde de fichiers volumineux n&#8217;est plus limité à 2 Go par fichier. On regrette néanmoins que la sauvegarde via l&#8217;API Java soit toujours instable et comporte indirectement des limites.</p><p><strong>Datastore :</strong></p><p>Le statut d&#8217;un index peut maintenant être lu via une API Java au lieu d&#8217;utiliser la console d&#8217;administration. Bien que la création d&#8217;un index puisse être longue, l&#8217;utilité de cette fonctionnalité reste à prouver puisqu&#8217;il suffit de mettre à jour les index et d&#8217;attendre leurs constructions avant de déployer une version qui va les exploiter.</p><p>Vient ensuite une <a
href="http://code.google.com/intl/fr-FR/appengine/docs/adminconsole/datastoreadmin.html" title="console" >console</a> dédiée au Datastore permettant d&#8217;administrer les entités. Déjà disponible dans la version Python, on peut désormais s&#8217;affranchir de déployer une application Python temporaire avant de pouvoir l&#8217;utiliser. Elle permet d&#8217;effectuer les opérations suivantes :</p><ul><li>Suppression totale d&#8217;un type d&#8217;entité.</li><li>Copie d&#8217;entités vers une autre application App Engine : fonctionnalité particulièrement intéressante si on souhaite migrer un environnement de production. Toutefois, l&#8217;environnement source devra être en lecture seule le temps de la migration afin de garantir la copie complète.</li></ul><p>Ces opérations utilisent le système de tâches et reposent sur le Map/Reduce. Par conséquent, elles consomment différents quotas et plus particulièrement celui relatif au CPU.</p><p>Enfin, un nouvel outil de migration est ouvert aux testeurs afin de passer une application existante utilisant le plan de stockage MS (Master / Slave) vers le HR (High Replication).</p><p><strong>MemCache :</strong></p><p>L&#8217;API MemCache supporte désormais le CAS (Compare and Swap) déjà présent dans l&#8217;API Java.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="Bonnespratiquespourlarplicatio"></a>Bonnes pratiques pour la réplication de session dans Coherence</h4><p>Voici un <a
href="http://ankurkumar78.blogspot.com/2011/08/oracle-coherence-best-practices-in.html" title="article" >article</a> très pragmatique de Ankur Kumar sur la configuration de Coherence*Web en particulier et de Coherence en général. Coherence est une solution de <em>in memory data grid</em> d’Oracle, qui permet de mettre des structures de données dans un cache distribué ou répliqué. <a
href="http://coherence.oracle.com/display/COH35UG/Coherence*Web+and+WebLogic+Server" title="CoherenceWeb" >Coherence*Web</a> est un module construit au-dessus qui se focalise sur la mise en cache des sessions web. La configuration contient un certain nombre de chausse-trappes où il est facile de tomber, surtout au moment de passer la main aux équipes d’exploitations.</p><p>L’article commence par rappeler les différents types de déploiement (<strong>in-process</strong>, <strong>out-process</strong> et <strong>out-process</strong> avec <strong>Coherence*Extend</strong>) et les différentes topologies:</p><ul><li>locale</li><li>répliquée: la donnée est répliquée sur chaque instance</li><li>distribuée/partitionnée: la donnée est partagée sur chaque instance</li><li><em>near cache</em>: la donnée est globalement distribuée et partiellement colocalisée pour les données de référence par exemple</li></ul><p>Voici quelques exemples de configurations importantes:</p><ul><li>dans le cas du <strong>out-process</strong> (le serveur d’application ne contient pas la donnée mais se connecte à un cache externe), ne pas oublier de spécifier les paramètres <code>-Dtangosol.coherence.session.localstorage=false</code> pour les caches de session et <code>-Dtangosol.coherence.distributed.localstorage=false</code> pour les autres caches.</li><li>pour s&#8217;assurer qu’une instance ne se connecte pas à d’autres instances (sur un poste de développement par exemple), on peut préciser un _time-to_live_ à 0: <code>-Dtangosol.coherence.ttl=0</code></li><li>à noter également qu’il existe plusieurs modes (prod ou dev) qui selon les cas iront chercher tel ou tel fichier de configuration par défaut. Pour figer le mode : <code>-Dtangosol.coherence.mode=PROD</code> ou <code>-Dtangosol.coherence.mode=DEV</code>.</li></ul><p>Bref, avant toute mise en intégration ou en production il est important de se faire une <em>checklist</em> pour ne rien oublier.</p><div
class="shr-publisher-8340"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F08%2F23%2Frevue-de-presse-xebia-225%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F08%2F23%2Frevue-de-presse-xebia-225%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/08/23/revue-de-presse-xebia-225/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2011/08/17/revue-de-presse-xebia-224/</link> <comments>http://blog.xebia.fr/2011/08/17/revue-de-presse-xebia-224/#comments</comments> <pubDate>Wed, 17 Aug 2011 12:48:32 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[AMQP]]></category> <category><![CDATA[apache commons]]></category> <category><![CDATA[apache commons lang]]></category> <category><![CDATA[cloud]]></category> <category><![CDATA[CloudForm]]></category> <category><![CDATA[CloudFoundry]]></category> <category><![CDATA[OpenShift]]></category> <category><![CDATA[OpenStack]]></category> <category><![CDATA[rabbitmq]]></category> <category><![CDATA[SpringSource]]></category> <category><![CDATA[VMWare]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=8306</guid> <description><![CDATA[La revue de presse de l’actualité Java/JEE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Cloud: Jboss AS7 se déploie sur OpenShift, OpenStack se dévoile dans un guide RabbitMQ + Cloud Foundry: Cloud Messaging that just works Le coin de la technique Apache Commons Lang 3 Actualité éditeurs / SSII Cloud: Jboss AS7 se déploie [...]]]></description> <content:encoded><![CDATA[<p><img
style="margin: 1em 1em 1em 1em; float: right;" src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" /></p><p><em>La revue de presse de l’actualité Java/JEE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/08/17/revue-de-presse-xebia-224/#CloudJbossASsedploiesurOpenShi">Cloud: Jboss AS7 se déploie sur OpenShift, OpenStack se dévoile dans un guide</a></li><li><a
href="http://blog.xebia.fr/2011/08/17/revue-de-presse-xebia-224/#RabbiMQCloudFoundryCloudMessag">RabbitMQ + Cloud Foundry: Cloud Messaging that just works</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/08/17/revue-de-presse-xebia-224/#ApacheCommonsLang">Apache Commons Lang 3</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="CloudJbossASsedploiesurOpenShi"></a>Cloud: Jboss AS7 se déploie sur OpenShift, OpenStack se dévoile dans un guide</h4><p>Le Cloud, on en entend beaucoup parler mais peu le voient vraiment arriver dans leur travail de tous les jours. Pourtant, les choses avancent vite.</p><p><strong>OpenShift</strong> : du coté de Redhat/JBoss tout d’abord, qui <a
title="a annoncé" href="http://in.relation.to/Bloggers/JavaEE6OnOpenShift">a annoncé</a> cette semaine la disponibilité de JBoss AS 7 sur leur Cloud. Tournant sur <a
title="OpenShift" href="https://openshift.redhat.com/app/">OpenShift</a> (le <em>Paas</em> à la RedHat) lui même tournant sur <a
title="CloudForm" href="http://www.redhat.com/solutions/cloud/cloudforms/">CloudForm</a> (Iaas), l&#8217;offre est ainsi la 1ere offre compatible JEE6 <em>out of the box</em>. Il est intéressant de noter qu&#8217;elle permet apparemment le déploiement d&#8217;un nombre illimité d&#8217;applications sur AS 7, et ce gratuitement, en utilisant l&#8217;offre OpenShift Express. A nous la puissance du standard web profile (voire plus) ! Et pour simplifier l&#8217;approche, l&#8217;annonce pointe d&#8217;ailleurs vers des vidéos montrant la facilité du processus de déploiement d&#8217;applications JEE6: on a presque l&#8217;impression qu&#8217;un simple <em>git push</em> suffit ! Une <a
title="autre vido" href="http://vimeo.com/27502795">autre vidéo</a> montre comment déployer la &laquo;&nbsp;Spring Pet Clinic&nbsp;&raquo;.</p><p><strong>OpenStack</strong>: Mais comme toute nouvelle techno émergente, il n&#8217;y a pas un seul standard. Ubuntu, Intel, Dell et de nombreuses autres entreprises, de leur coté, développent l&#8217;<a
title="OpenStack" href="http://www.openstack.org/">OpenStack</a> qui se définit comme un Operating System pour le Cloud, lorgnant donc du coté de l&#8217;<em>Iaas</em>. Si le projet existe depuis quelques temps déjà (il avait été lancé par Rackspace et la NASA il y a un an), la sortie du guide &laquo;&nbsp;Openstack Beginner Guide for Ubuntu Natty&nbsp;&raquo; est l&#8217;occasion d&#8217;en parler. Annoncé <a
title="ici" href="http://cloud.ubuntu.com/2011/08/ubuntu-natty-gets-openstack-book/">ici</a> et disponible en PDF, le guide vous permettra d&#8217;avoir une première approche de la stack en vous lançant dans les configurations réseau, déploiements d&#8217;images et autres barbarismes en ligne de commande. Comment ça, ça n&#8217;est pas du Java et ne vous concerne pas ? Vos projets futurs risquent pourtant fort de tourner sur ces infrastructures. Attention, la lecture de &laquo;&nbsp;OpenStack Overview&nbsp;&raquo; (pdf <a
title="disponible ici" href="http://www.openstack.org/projects/">disponible ici</a>) est conseillée pour avoir une petite idée avant de se lancer dans la lecture du guide complet. Vous vous y familiariserez avec et découvrirez les 3 composants de l&#8217;ensemble:</p><ul><li><strong>OpenStack compute</strong> qui permet de provisionner des ressources en mettant à disposition un réseau de machines virtuelles</li><li><strong>OpenStack Object</strong> Store qui permet le stockage de données de façon redondante et scalable</li><li><strong>OpenStack Glance</strong> qui est un catalogue d&#8217;images serveur</li></ul><p>Mais l’interopérabilité étant maintenant une donnée que les entreprises prennent en compte (à raison !), il y a fort à parier que toutes ces technologies se coupent et se recoupent allègrement. RedHat a d&#8217;ailleurs évoqué une version future de OpenShift tournant sur OpenStack.</p><h4><a
name="RabbiMQCloudFoundryCloudMessag"></a>RabbitMQ + Cloud Foundry: Cloud Messaging that just works</h4><p>Restons dans les nuages en faisant un petit tour du côté de Cloud Foundry, la solution de <em>Platform as a Service</em> de VMware (nous en parlions <a
title="ici" href="http://blog.xebia.fr/2011/04/13/lancement-du-projet-platform-as-a-service-cloud-foundry-de-spring-source/">ici</a>). Après l&#8217;intégration de MySQL, MongoDB et Redis, voici donc <a
title="l'arrivée de RabbitMQ" href="http://blog.cloudfoundry.com/post/8713844574/rabbitmq-cloud-foundry-cloud-messaging-that-just-works">l&#8217;arrivée de RabbitMQ</a> parmi les nouveaux services proposés par la plateforme qui fait sien le slogan de RabbitMQ: <em>Cloud Messaging that just works</em>. Rappelons que <a
title="RabbitMQ a t rachet" href="http://blog.xebia.fr/2010/04/19/revue-de-presse-xebia-155/#RabbitMQrachetparSpringSource">RabbitMQ a été racheté</a> par SpringSource/VMware il y a un an et demi et cette nouvelle annonce valide finalement leur stratégie pour offrir une écosystème complet. En effet, comme rappelé dans l&#8217;annonce de Cloud Foundry, le messaging est une brique essentielle pour entre autre:</p><ul><li>la maintenabilité: minimisation de l&#8217;impact pour de nouvelles alertes, nouveaux rapports ou logs</li><li>la <em>scalabilité</em>: on peut déléguer par exemple des tâches à des <em>workers</em> particuliers</li><li>l&#8217;efficacité: les informations peuvent être poussées vers les différents composants, évitant de faire du <em>polling</em> ou de se synchroniser sur une base</li><li>la robustesse: les queues de messages permettent de temporiser si des instances ou des composants sont désactivés</li></ul><p>De plus RabbitMQ implémente le protocole <em>AMQP</em> (versions 0-8 et 0-9-1) qui, contrairement à JMS, a l&#8217;avantage de ne pas être enfermé au seul monde Java. C&#8217;est d&#8217;autant plus intéressant que cette plateforme supporte pour l&#8217;instant 3 langages: Java (avec aussi Scala et Groovy), Ruby/Rails et JavaScript (node.js). L&#8217;interopérabilité sur ces différents frameworks peut donc être facilitée par RabbitMQ.</p><p>Reste que Cloud Foundry est encore dans une phase <em>bêta</em>, la partie monitoring par exemple reste encore très perfectible comparée à son concurrent direct <em>Google App Engine</em>. Nous n&#8217;avons pas pu non plus tester les performances d&#8217;applications tournant sur cette plateforme.</p><p>Vous pouvez commencer dès maintenant grâce à ces tutoriels : <a
title="Spring 1" href="http://support.cloudfoundry.com/entries/20322602-getting-started-with-the-rabbitmq-service-from-a-spring-application">Spring 1</a>, <a
title="Spring 2" href="http://blog.springsource.com/2011/08/16/chatting-in-the-cloud-part-1/">Spring 2</a>, <a
title="exemple d'application sur github" href="https://github.com/rabbitmq/rabbitmq-cloudfoundry-samples/tree/master/spring">exemple d&#8217;application sur github</a> et <a
title="Spring AMQP" href="http://www.springsource.org/spring-amqp">Spring AMQP</a>.</p><p>A noter: AMQP est d&#8217;ailleurs le protocole de messaging utilisé sur OpenStack, mentionné dans l&#8217;entrée précédente, grâce à RabbitMQ et en Python (ce dernier n&#8217;est pas un langage supporté par Cloud Foundry),</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="ApacheCommonsLang"></a>Apache Commons Lang 3</h4><p>Les librairies d&#8217;Apache, <a
title="Apache Commons" href="http://commons.apache.org/">Apache Commons</a> se retrouvent dans de nombreux projets et permettent de s&#8217;appuyer sur du code qui marche et qui fait bien ce qu&#8217;on lui demande. Mais il est vrai que ces librairies ont perdu de leur superbe, n&#8217;étant pour la plupart pas &laquo;&nbsp;Java 5 compliant&nbsp;&raquo;. Qui a encore envie de caster ses objets alors que Google Guava, lui, utilise les generics ? Pour pallier en partie à ce problème, ce sont les <a
title="commonslang" href="http://commons.apache.org/lang/">commons-lang</a> qui ont récemment débarqué en V3, apportant dans de nombreuses méthodes le support de ces generics.<br
/> C&#8217;est sur Web Tambouille que l&#8217;on trouve <a
title="larticle le plus complet" href="http://www.web-tambouille.fr/2011/07/20/le-cru-2011-de-commons-lang-est-arrive-en-version-3-0-pour-java-5.html">l&#8217;article le plus complet</a> leur étant consacré. Il y détaille le contenu de divers packages:</p><ul><li>lang3.* : contient des utilitaires pour les String, Array, Object&#8230;</li><li>lang3.concurrent.* : quelques ajouts enrichissant java.util.concurrent.</li><li>lang3.builder.* : divers Builder, comme le EqualsBuilder() qui permet de comparer facilement des objets</li><li>lang3.reflect.* : des utilitaires pour améliorer votre code traitant de réflexion</li><li>lang3.mutable.* et lang3.tuple.* : vous avez toujours rêvé de pouvoir changer la valeur de vos entiers ou de pouvoir en retourner plusieurs en un seul appel de méthode ? Vous trouverez ici votre bonheur</li></ul><p>Attention tout de même: la compatibilité ascendante n&#8217;est pas assurée: il faudra au minimum recompiler car les anciens packages n&#8217;ont pas étés conservés.<br
/> Bref, cet article est à lire car on a souvent tendance à passer à coté de toutes les fonctionnalités offertes alors que cette librairie est (souvent) déjà dans nos projets. C&#8217;est dommage, non ?</p><div
class="shr-publisher-8306"></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:none;height:30px;'><a
class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F08%2F17%2Frevue-de-presse-xebia-224%2F' data-shr_title='Revue+de+Presse+Xebia'></a><a
class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Fblog.xebia.fr%2F2011%2F08%2F17%2Frevue-de-presse-xebia-224%2F' data-shr_title='Revue+de+Presse+Xebia'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div>]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/08/17/revue-de-presse-xebia-224/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> </channel> </rss>
