<?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/"
	>

<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>Mon, 06 Sep 2010 22:12:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Revue de Presse Xebia</title>
		<link>http://blog.xebia.fr/2010/08/31/revue-de-presse-xebia-174/</link>
		<comments>http://blog.xebia.fr/2010/08/31/revue-de-presse-xebia-174/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 05:48:06 +0000</pubDate>
		<dc:creator>Xebia France</dc:creator>
				<category><![CDATA[Revue de presse]]></category>
		<category><![CDATA[Brevet]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[java7]]></category>
		<category><![CDATA[Jdk7]]></category>
		<category><![CDATA[rabbitmq]]></category>
		<category><![CDATA[SpringSource]]></category>

		<guid isPermaLink="false">http://blog.xebia.fr/?p=5303</guid>
		<description><![CDATA[
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Actualité  éditeurs / SSII

Sortie de RabbitMQ 2.0

Le coin de la  technique

Gestion automatique des ressources dans Java7 (ARM)

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

Google et les brevets

Actualité  éditeurs / SSII
Sortie de RabbitMQ 2.0
La sortie de la version 2.0 du serveur [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br />
<em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p>
<p><strong>Actualité  éditeurs / SSII</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/31/revue-de-presse-xebia-174/#SortiedeRabbitMQ">Sortie de RabbitMQ 2.0</a></li>
</ul>
<p><strong>Le coin de la  technique</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/31/revue-de-presse-xebia-174/#Gestionautomatiquedesressource">Gestion automatique des ressources dans Java7 (ARM)</a></li>
</ul>
<p><strong>Evènements  de notre communauté en France et à l'étranger</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/31/revue-de-presse-xebia-174/#Googleetlesbrevets">Google et les brevets</a></li>
</ul>
<h3><a name="ActualitditeursSSII"></a>Actualité  éditeurs / SSII</h3>
<h4><a name="SortiedeRabbitMQ"></a>Sortie de RabbitMQ 2.0</h4>
<p>La sortie de la version 2.0 du serveur de messaging <a href="http://blog.xebia.fr/2010/02/23/amqp-une-alternative-a-jms/" title="AMQP" >AMQP</a> RabbitMQ vient d'être annoncée <a href="http://www.rabbitmq.com/blog/2010/08/27/growing-up/" title="ici" >ici</a>.<br />
Cette release majeure vient avec une refonte importante et son lot de nouveautés :</p>
<ul>
<li>Une refonte de la gestion de la persistence permettant une alternative au moteur de persistence embarqué. Il sera possible de développer un support pour une base de données relationelle ou NoSQL ou tout autre data store.</li>
<li>Le support de différents protocoles de messaging : AMQP (0-8 et <a href="http://www.rabbitmq.com/blog/2010/08/04/rabbitmq-and-amqp-0-9-1/" title="0-9-1" >0-9-1</a>), <a href="http://fr.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol" title="XMPP" >XMPP</a>, <a href="http://stomp.codehaus.org/Protocol" title="STOMP" >STOMP</a>, HTTP, SMTP... Il sera aussi possible d'ajouter de nouveaux protocoles à l'aide d'extensions. </li>
<li>La mise en place d'une infrastructure ayant pour but de simplifier le développement d'outils pour la gestion et le monitoring de RabbitMQ.</li>
<li>Une amélioration de la gestion des plugins (il n'est plus nécessaire de compiler les plugins, une version pré-compilée peut être directement chargée par RabbitMQ).</li>
</ul>
<p>SpringSource qui a récemment racheté RabbitMQ (nous vous en avions parlé <a href="http://blog.xebia.fr/2010/04/19/revue-de-presse-xebia-155/#RabbitMQrachetparSpringSource" title="ici" >ici</a>) propose de son côté un template reprenant les principes des templates jdbc, hibernate, jms ou encore LDAP encapsulant le client Java d'AMQP. Les utilisateurs habitués à <a href="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jms/core/JmsTemplate.html" title="JmsTemplate" >JmsTemplate</a> retrouveront donc leurs repères en utilisant l'<a href="http://static.springsource.org/spring-amqp/docs/1.0.x/api/org/springframework/amqp/core/AmqpTemplate.html" title="AmqpTemplate" >AmqpTemplate</a> du projet <a href="http://www.springsource.org/spring-amqp" title="spring AMQP" >spring AMQP</a>.</p>
<p>SpringSource/VMWare continue donc de faire évoluer son portefeuil de produits avec cette évolution majeure de RabbitMQ, qu'il considère comme une pièce essentielle à sa stratégie de développement du Cloud Computing (voir <a href="http://blog.springsource.com/2010/04/13/springsource-acquires-rabbitmq/" title="cet article" >cet article</a> de Rod Johnson).</p>
<h3><a name="Lecoindelatechnique"></a>Le coin de la  technique</h3>
<h4><a name="Gestionautomatiquedesressource"></a>Gestion automatique des ressources dans Java7 (ARM)</h4>
<p>Java7 suit son petit bonhomme de chemin sans qu'on ait encore une bonne visibilité sur la date de sortie officiel. Le <a href="http://download.java.net/jdk7/" title="build 105" >build 105</a> de la version actuelle propose une nouvelle fonctionnalité très intéressante qui devrait facilité la vie de chaque développeur: <a href="http://blogs.sun.com/darcy/entry/project_coin_updated_arm_spec" title="lAutomatic Resource Management" >l'<em>Automatic Resource Management</em></a>. </p>
<p>L'idée, proposée par Joshua Bloch depuis quelques années déjà, consiste à améliorer la fermeture des ressources sous la forme d'une clause <code>try-with-resources</code>. Actuellement lorsqu'on manipule une ressource, par exemple un <code>InputStream</code>, la façon la plus propre ressemble à ceci:</p>
<div class="syntax_hilite">
<div id="java-3">
<div class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> copyFile<span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AFile+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">File</span></a> in, <a href="http://www.google.com/search?q=allinurl%3AFile+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">File</span></a> out<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.google.com/search?q=allinurl%3AFileInputStream+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">FileInputStream</span></a> fis = <span style="color: #000000; font-weight: bold;">null</span>;<br />
&nbsp; &nbsp; <a href="http://www.google.com/search?q=allinurl%3AFileOutputStream+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">FileOutputStream</span></a> fos = <span style="color: #000000; font-weight: bold;">null</span>;<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;fis = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?q=allinurl%3AFileInputStream+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">FileInputStream</span></a><span style="color: #66cc66;">&#40;</span>in<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp;fos= <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?q=allinurl%3AFileOutputStream+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">FileOutputStream</span></a><span style="color: #66cc66;">&#40;</span>out<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #808080; font-style: italic;">// Lire le fichier in et écrire dans le out</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;...<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span>&nbsp; <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AException+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Exception</span></a> e<span style="color: #66cc66;">&#41;</span>&nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;...&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; close<span style="color: #66cc66;">&#40;</span>fis<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; close<span style="color: #66cc66;">&#40;</span>fos<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></p>
<p><span style="color: #000000; font-weight: bold;">private</span> <span style="color: #993333;">void</span> close<span style="color: #66cc66;">&#40;</span>Closeable closeable<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>closeable != <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">try</span><span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;closeable.<span style="color: #006600;">close</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AIOException+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">IOException</span></a> e<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>...<span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div>
</div>
</div>
<p></p>
<p>Ce code devient vite très verbeux et répetitif car beaucoup de vérifications doivent être faites pour s'assurer de la possibilité de fermer la ressource. La solution pour simplifier cela est de déléguer la fermeture du flux à l'aide du <code>try</code>:</p>
<div class="syntax_hilite">
<div id="java-4">
<div class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> copyFile<span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AFile+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">File</span></a> file<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">try</span><span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AFileInputStream+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">FileInputStream</span></a> fis=<span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?q=allinurl%3AFileInputStream+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">FileInputStream</span></a><span style="color: #66cc66;">&#40;</span>in<span style="color: #66cc66;">&#41;</span>; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?q=allinurl%3AFileOutputStream+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">FileOutputStream</span></a> fos=<span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?q=allinurl%3AFileOutputStream+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">FileOutputStream</span></a><span style="color: #66cc66;">&#40;</span>out<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #808080; font-style: italic;">// Lire le fichier in et écrire dans le out</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;...<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span> <br />
<span style="color: #66cc66;">&#125;</span></div>
</div>
</div>
<p></p>
<p>Le code gagne énormément en visibilité, les tests pour savoir si la ressource est <code>null</code> ou si la fermeture s'est bien déroulée sont gérés en interne de la JVM. A noter que pour être fermées les ressources devront étendre une nouvelle interface <code><a href="http://download.java.net/jdk7/docs/api/java/lang/AutoCloseable.html" title="AutoCloseable" >AutoCloseable</a></code>.</p>
<p>S'il existe un certain consensus autour de l'utilité de cette évolution, il demeure encore un petit débat sur la partie <code>catch</code> des exceptions. Sans rentrer dans les détails, les exceptions levées pendant la fermeture d'une ressource annihilent celles levées dans le bloc <code>try</code>, ce qui en général est préférable mais du coup peut aussi masquer des exceptions importantes pour l'analyse du problème.</p>
<h3><a name="EvnementsdenotrecommunautenFra"></a>Evènements  de notre communauté en France et à l'étranger</h3>
<h4><a name="Googleetlesbrevets"></a>Google et les brevets</h4>
<p>Semaine chargée pour Google:</p>
<ul>
<li>InfoQ <a href="http://www.infoq.com/news/2010/08/h264-free" title="nous annonce" >nous annonce</a> que le MPEG LA a décidé de continuer à ne pas réclamer de royalties pour les videos encodées en H.264 et distribuées gratuitement aux utilisateurs. Seules les plateformes vendant des vidéos sont, elles, toujours soumises à taxation. C'est donc une réponse à Google qui avait il y a quelques temps annoncé WebM, un codec vidéo semblable au H.264 mais plus libre et débarrassé des problèmes de brevets et de royalties qui entravent ce dernier. Si InfoQ ne voit pas trop de problèmes à continuer d'utiliser H.264, ce n'est pas du tout l'avis de <a href="http://en.wikipedia.org/wiki/Mike_Shaver" title="Mike Shaver" >Mike Shaver</a> ingénieur haut gradé chez Mozilla et <a href="http://shaver.off.net/diary/2010/08/27/free-as-in-smokescreen/" title="qui rappelle" >qui rappelle</a> que les logiciels permettant de produire ou de consommer ces vidéos devront eux toujours s'acquitter d'une licence. La bataille entre WebM et H.264 ne fait donc que commencer.</li>
<li>Ensuite, c'est <a href="http://fr.wikipedia.org/wiki/Paul_Allen" title="Paul Allen" >Paul Allen</a>, le co-fondateur de Microsoft, qui <a href="http://www.numerama.com/magazine/16620-brevets-onze-geants-du-web-poursuivis-par-le-cofondateur-de-microsoft.html" title="attaque Google et nombre de ses petits camarades" >attaque Google et nombre de ses petits camarades</a> (AOL, Yahoo, Facebook) pour avoir enfreint 4 brevets détenus par sa compagnie "Interval Licensing". Le blog <em>Digits</em> du Wall Street Journal <a href="http://blogs.wsj.com/digits/2010/08/27/the-paul-allen-suit-a-look-at-the-patents/" title="sest pench sur 2 de ces brevets" >s'est penché sur 2 de ces brevets</a>. Nous vous déconseillons fortement la lecture de son analyse si vous avez réalisé quoi que ce soit dans l'informatique ces 10 dernières années. En effet, vous risquez de ne plus trouver le sommeil en vous rendant compte que vous enfreignez sans doutes, vous aussi, nombre de brevets !</li>
<li>Et pour finir sur Google et les brevets, vous vous souvenez des récentes poursuites engagées par Oracle concernant Java et Android. Google vient de riposter, <a href="http://googlecode.blogspot.com/2010/08/update-on-javaone.html" title="en annoncant" >en annoncant</a> qu'aucun de ses employés ne participera à <a href="http://en.wikipedia.org/wiki/JavaOne" title="JavaOne" >JavaOne</a> <a href="http://www.oracle.com/us/javaonedevelop/062264.html" title="cette année" >cette année</a>. Pour ceux qui voulaient échanger avec les employés de Google, il semble que c'est plus tard dans l'année, à Devoxx, <a href="http://twitter.com/ecspike/status/22288635610" title="qu'il faille se rendre" >qu'il faille se rendre</a>. Mais rassurez vous, il y aura quand même de l'ambiance à JavaOne: James Gosling, père de Java, demande <a href="http://nighthacks.com/roller/jag/entry/let_larry_know_you_care" title="sur son blog" >sur son blog</a> à toute personne y assistant de porter un TShirt arborant le slogan "Java just Free it". Si cette idée ne risque pas trop de faire bouger Oracle, elle devrait quand même apporter sa dose de fun à l'évènement !</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.fr/2010/08/31/revue-de-presse-xebia-174/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Revue de Presse Xebia</title>
		<link>http://blog.xebia.fr/2010/08/24/revue-de-presse-xebia-173/</link>
		<comments>http://blog.xebia.fr/2010/08/24/revue-de-presse-xebia-173/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 05:29:57 +0000</pubDate>
		<dc:creator>Xebia France</dc:creator>
				<category><![CDATA[Revue de presse]]></category>
		<category><![CDATA[ActiveMQ]]></category>
		<category><![CDATA[CGLIB]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[WebSocket]]></category>

		<guid isPermaLink="false">http://blog.xebia.fr/?p=5244</guid>
		<description><![CDATA[
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Actualité  éditeurs / SSII

James Gosling sur l'affaire Oracle vs Google
ActiveMQ 5.4.0

Le coin de la  technique

Hibernate ne supporte plus CGLIB

Actualité  éditeurs / SSII
James Gosling sur l'affaire Oracle vs Google
James Gosling revient sur l'épisode Oracle vs Google avec un article dans lequel il nous [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br />
<em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p>
<p><strong>Actualité  éditeurs / SSII</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/24/revue-de-presse-xebia-173/#JamesGoslingsurlaffaireOraclev">James Gosling sur l'affaire Oracle vs Google</a></li>
<li><a href="http://blog.xebia.fr/2010/08/24/revue-de-presse-xebia-173/#ActiveMQ">ActiveMQ 5.4.0</a></li>
</ul>
<p><strong>Le coin de la  technique</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/24/revue-de-presse-xebia-173/#HibernatenesupporteplusCGLIB">Hibernate ne supporte plus CGLIB</a></li>
</ul>
<h3><a name="ActualitditeursSSII"></a>Actualité  éditeurs / SSII</h3>
<h4><a name="JamesGoslingsurlaffaireOraclev"></a>James Gosling sur l'affaire Oracle vs Google</h4>
<p>James Gosling revient sur l'épisode <a href="http://blog.xebia.fr/2010/08/17/revue-de-presse-xebia-172/" title="Oracle vs Google" >Oracle vs Google</a> avec un <a href="http://nighthacks.org/roller/jag/entry/quite_the_firestorm" title="article" >article</a> dans lequel il nous donne quelques éléments pour mieux comprendre la politique de Sun vis à vis de Java et des brevets :</p>
<ul>
<li>Sun a principalement déposé des brevets afin de se protéger d'éventuelles attaques venant de ses concurrents. Un épisode malheureux dans lequel Sun fut attaqué par IBM concernant un brevet sur les processeurs RISC leur fit prendre conscience qu'il était nécessaire de posséder un arsenal de brevets. Le procès se termina en effet en leur défaveur et ils durent payer d'importantes indemnités à IBM, les mettant au bord du dépôt de bilan.</li>
<li>Les brevets sur la technologie Java et le choix de la license CDDL avaient pour but de garantir l'interopérabilité des applications java sur les différentes plateformes. Cette protection a donné lieu à un procès entre Sun et Microsoft car ce dernier avait fournit une implémentation d'un machine virtuelle Java sur laquelle le code ne s'exécutait pas de la même manière que sur les autres JVM (dont celle de Sun) qui respectaient les spécifications. La machine virtuelle java de Google présentant elle aussi des problèmes d'interopérabilité, Oracle se sert de cette jurisprudence pour les poursuivre.</li>
<li>Sun aurait souhaité obtenir une partie des bénéfices générés par la plateforme Android mais sans succès. Il semble donc qu'Oracle souhaite continuer dans cette voie mais en choisissant de sortir l'artillerie lourde pour parvenir à ses fins.</li>
</ul>
<p>Cette affaire a un effet néfaste sur l'image de Java et James Gosling, loin de cautionner l'action d'Oracle, regrette l'absence de moralité des grandes compagnies informatiques actuelles.</p>
<h4><a name="ActiveMQ"></a>ActiveMQ 5.4.0</h4>
<p>Un peu moins d'un an après la <a href="http://blog.xebia.fr/2009/10/19/revue-de-presse-xebia-130/#UnnouveaumoteurdestockagepourA" title="dernière release" >dernière release</a>, Apache sort une nouvelle version de son <em>broker</em> de message. Au-delà des <a href="https://issues.apache.org/activemq/secure/IssueNavigator.jspa?reset=true&#038;pid=10520&#038;fixfor=12110&#038;sorter/field=priority&#038;sorter/order=DESC" title="283" >283</a> bugs résolus, on notera quelques nouvelles fonctionnalités intéressantes:</p>
<ul>
<li>Priorité des messages: Jusqu'à maintenant pour jouer sur la priorité de certains messages sur d'autres il fallait contourner le problème en utilisant plusieurs queues de messages qui pouvaient être, elles, <em>priorisées</em>. Le point de blocage jusqu'à maintenant était lié à l'ordonnancement des messages, trop gourmand en temps. Ce problème semble être en partie réglé et le paramètre priorité du message JMS (inclus dans l'API) sera pris en compte.</li>
<li><a href="http://activemq.apache.org/delay-and-schedule-message-delivery.html" title="Planifier ses messages" >Planifier ses messages</a>: ActiveMQ possède à présent un planificateur persistant de message. En d'autres termes, il est possible à l'envoi du message de préciser la date réelle de l'envoi et la durée entre la répétition d'un envoi. L'interface permet même de préciser tout cela sous la forme d'une entrée CRON. Ceci peut être assez intéressant pour par exemple faire du <em>heartbeat</em> (envoi d'un message à intervalle régulier pour s'assurer du fonctionnement de l'application ou faire des calculs de performance).</li>
<li><a href="http://activemq.apache.org/websockets.html" title="WebSocket" >WebSocket</a>: Le sujet est à la mode, surtout avec l'émergence d'HTML 5, <a href="http://blog.xebia.fr/2010/06/08/revue-de-presse-xebia-162/#HornetQ" title="HornetQ" >HornetQ</a> le propose également sur sa dernière version. Il s'agit d'utiliser le <em>broker</em> de messages depuis du code javascript. Tout comme HornetQ, ActiveMQ utilise son protocole de message simplifié STOMP. Deux librairies javascripts sont proposées sur leur site: <a href="http://github.com/krukow/stomple" title="Stomple" >Stomple</a> et <a href="http://github.com/jmesnil/stomp-websocket" title="stompwebsocket" >stomp-websocket</a>.</li>
</ul>
<p>Hormis ces nouveautés, des améliorations ont été apportées sur <a href="http://activemq.apache.org/osgi-integration.html" title="OSGI" >OSGI</a> et le shell <a href="http://activemq.apache.org/unix-shell-script.html" title="unix" >unix</a>.</p>
<h3><a name="Lecoindelatechnique"></a>Le coin de la  technique</h3>
<h4><a name="HibernatenesupporteplusCGLIB"></a>Hibernate ne supporte plus CGLIB</h4>
<p>Historiquement <a href="http://cglib.sourceforge.net/" title="CGLIB" >CGLIB</a> a rendu de nombreux services à Hibernate et Spring pour permettre de manipuler le bytecode Java. Par exemple, vous avez sans doute déjà vu passer un proxy préfixé par CGLIB lorsque vous débuggez votre application. Mais récemment, Steve Ebersole, développeur chez Hibernate, <a href="http://in.relation.to/Bloggers/DeprecatedCGLIBSupport" title="a annoncé" >a annoncé</a> qu'il n'y aurait plus de support pour cette librairie. Cette décision aurait été prise non pas pour des raisons purement techniques mais parce que cette librairie n'aurait plus de support et semble figée à la version 2.2 qui date de 2008. L'auteur donne pour exemple un <a href="http://opensource.atlassian.com/projects/hibernate/browse/HHH-2222" title="ancien bug" >ancien bug</a> sur une incompatibilité de version de la librairie ASM (qui manipule à un niveau plus bas le bytecode) avec celle de Spring et qui mit un an à être corrigé. </p>
<p>Hibernate à présent privilégiera <a href="http://jboss.org/javassist" title="Javassist" >Javassist</a>, un projet JBoss (tout comme Hibernate, tiens, tiens...), aux fonctionnalités similaires mais encore <em>en vie</em>. Reste à savoir si Spring suivra la même démarche.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.fr/2010/08/24/revue-de-presse-xebia-173/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Revue de Presse Xebia</title>
		<link>http://blog.xebia.fr/2010/08/17/revue-de-presse-xebia-172/</link>
		<comments>http://blog.xebia.fr/2010/08/17/revue-de-presse-xebia-172/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 05:47:32 +0000</pubDate>
		<dc:creator>Xebia France</dc:creator>
				<category><![CDATA[Revue de presse]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[GraniteDS]]></category>
		<category><![CDATA[JQuery Mobile]]></category>
		<category><![CDATA[livre]]></category>
		<category><![CDATA[Nasa]]></category>
		<category><![CDATA[Nebula]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://blog.xebia.fr/?p=5203</guid>
		<description><![CDATA[
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Actualité  éditeurs / SSII

Oracle poursuit Google pour violation de brevets

RIA

Bean Validation pour Flex.
Annonce de jQuery Mobile

SOA

La NASA ouvre les sources de son cloud privé

Le coin de la  technique

Continuous Delivery, le livre le plus important de 2010 ?

Actualité  éditeurs / SSII
Oracle poursuit Google [...]]]></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/J2EE hebdomadaire proposée par Xebia.</em></p>
<p><strong>Actualité  éditeurs / SSII</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/17/revue-de-presse-xebia-172#OraclepoursuitGooglepourviolat">Oracle poursuit Google pour violation de brevets</a></li>
</ul>
<p><strong>RIA</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/17/revue-de-presse-xebia-172#BeanValidationpourFlex">Bean Validation pour Flex.</a></li>
<li><a href="http://blog.xebia.fr/2010/08/17/revue-de-presse-xebia-172#AnnoncedeJQueryMobile">Annonce de jQuery Mobile</a></li>
</ul>
<p><strong>SOA</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/17/revue-de-presse-xebia-172#LaNASAouvrelessourcesdesonclou">La NASA ouvre les sources de son cloud privé</a></li>
</ul>
<p><strong>Le coin de la  technique</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/17/revue-de-presse-xebia-172#ContinuousDeliverylelivreleplu">Continuous Delivery, le livre le plus important de 2010 ?</a></li>
</ul>
<h3><a name="ActualitditeursSSII"></a>Actualité  éditeurs / SSII</h3>
<h4><a name="OraclepoursuitGooglepourviolat"></a>Oracle poursuit Google pour violation de brevets</h4>
<p>Jeudi dernier, Oracle a lancé une action en justice contre Google pour violation de brevets quant à l'utilisation de Java pour la plateforme Android. L'information a rapidement fait le tour du web et de la twitosphère provoquant à l'encontre d'Oracle son lot de commentaires indignés, notamment dans les communautés Java et libristes (<em>On retiendra le billet peu amène de <a title="James Gosling  The shit finally hits the fan" href="http://nighthacks.com/roller/jag/entry/the_shit_finally_hits_the">James Gosling : "The shit finally hits the fan...."</a></em>).</p>
<p>Dans sa <a title="plainte" href="http://i.i.com.com/cnwk.1d/i/ne/pdfs/FINAL_Complaint.pdf?tag=mncol;txt">plainte</a>, Oracle précise que <em>"Android [...] et les appareils qui utilisent Android violent un ou plusieurs brevets parmi les suivants: 6,125,447; 6,192,476; 5,966,702; 7,426,720; RE38,104; 6,910,205; et 6,061,520"</em>. Les brevets en question portent sur l'implémentation de machines virtuelles, l'outillage et les compilateurs.<br />
Google, certainement pour garder les coudées franches, a fait le choix d'implémenter sa machine virtuelle Dalvik sans utiliser OpenJDK <em>(la version GPL2 de Java)</em>. Cette implémentation n'est pas pleinement compatible Java et est exécutée sur des terminaux mobiles. Or, lorsque Sun avait <em>"open sourcé une partie de Java"</em> au travers d'OpenJDK, les garanties d'être à l'abri d'attaques pour violation de brevet ne protégeaient que les implémentations pleinement compatibles Java pour desktop et serveur uniquement <em>(pas les implémentations pour terminaux mobiles)</em>.<br />
Pour étayer son accusation selon laquelle Google a sciemment violé les brevets relatifs à Java, Oracle avance que Google était, de longue date, au courant des brevets détenus par Sun. Eric Schmidt (CEO de Google) et Urs Hölzle (Senior VP of operations chez Google) ont en effet joué un rôle significatif dans le développement de la technologie Java lorsqu'ils étaient chez Sun.<br />
La réponse de Google à l'attaque d'Oracle <em>(au travers d'un communiqué de presse)</em> est sans surprise : Google estime que la plainte est sans fondement. D'autre part, Google considère qu'avec cette plainte, Oracle n'attaque pas seulement Google, mais aussi la communauté Open Source Java.</p>
<p>A priori, l'objectif d'Oracle n'est pas de "tuer" Android mais de profiter de son succès en imposant à Google de lui reverser une part des revenus de la plateforme. En effet, Java ME est une source non négligeable de revenus pour Sun <em>(Oracle)</em> puisque cette technologie équipe de très nombreux terminaux. Mais le succès fulgurant d'Android sur le marché des smartphones est sur le point de tarir cette source de revenus.<br />
D'autre part, Oracle souhaite sans doute envoyer un message clair quant à sa conception de l'utilisation de la technologie Java là où le silence de Sun vis à vis d'Android pouvait être perçu comme un blanc seing.</p>
<p>Ce genre d'affaire est généralement synonyme de feuilleton judiciaire à rallonge <em>(comme dans le cas emblématique de <a title="SCO vs Linux" href="http://en.wikipedia.org/wiki/SCO-Linux_controversies">SCO vs. Linux</a>)</em>. Il y a donc peu de chances que le cas Google / Oracle se règle rapidement. La complexité du dossier <em>(notamment en ce qui concerne les tenants et aboutissants techniques)</em> laisse présager de longs débats. Même si l'issu d'un procès reste incertaine Google était certainement préparé à une telle attaque <em>(et est de taille à y faire face)</em> et sa défense sera bien préparée.<br />
Tant que l'affaire ne sera pas réglée, l'ensemble de l'écosystème Android <em>(constructeurs, développeurs, utilisateurs, ...)</em> va retenir son souffle, mais l'engouement pour la plateforme Android ne devrait pas trop en pâtir. D'une part, Google continuera de développer la technologie Android. D'autre part, gageons que Google prendra ses responsabilités sur le sujet de la propriété intellectuelle et jouera son rôle de pare feux vis à vis des constructeurs équipant leurs terminaux de l'OS Android.</p>
<p>La fin d'Android est très peu probable. Oracle n'y a aucun intérêt et ce pour plusieurs raisons. D'abord parce qu'Oracle a tout intérêt à ce que Java soit présent sur le marché des smartphones. Or cette présence passe par Android, pas par Java ME et Oracle n'a, aujourd'hui, ni la volonté, ni la capacité d'innover dans ce sens. Ensuite parce que l'essor des smartphones sous Android favorise le développement d'applications utilisant des <em>backend</em> <em>(serveurs)</em> mettant en œuvre des serveurs d'applications Java et des bases de données, augmentant ainsi la taille d'un marché sur lequel Oracle se taille la part du lion. Enfin parce qu'Android réunit une large communauté Java.<br />
Il semble donc que cette affaire ne puisse avoir que deux issues :</p>
<ul>
<li>Google sera contraint à verser une partie des revenus d'Android à Oracle. Soit parce qu'Oracle aura gagné un procès, soit parce que Google aura préféré négocier un accord à l'amiable.</li>
<li>Ce sera le status quo. Soit parce qu'Oracle aura perdu un procès, soit parce qu'Oracle retirera sa plainte suite aux négociations qui vont s'entamer <em>(au cours desquels Google pourrait commencer à utiliser ses brevets comme arme de dissuasion)</em>.</li>
</ul>
<p>Ce qui est sûr, c'est que l'image de Java ne sortira pas grandie de l'initiative d'Oracle <em>(qui semble d'ores et déjà avoir perdu la bataille de l'image)</em>.</p>
<p>Pour ceux qui souhaitent approfondir le sujet, l'excellent billet de Charles Nutter <a title="My Thoughts on Oracle v Google" href="http://blog.headius.com/2010/08/my-thoughts-on-oracle-v-google.html">"My Thoughts on Oracle v Google"</a> fait longuement le tour de la question et propose des perspectives très intéressantes.</p>
<h3><a name="RIA"></a>RIA</h3>
<h4><a name="BeanValidationpourFlex"></a>Bean Validation pour Flex.</h4>
<p>Le framework <a title="GraniteDS" href="http://www.graniteds.org/confluence/pages/viewpage.action?pageId=229378">GraniteDS</a> continue à offrir des fonctionnalités riches pour Flex, en parallèle des offres de Adobe, BlazeDs (open source) et LifeCycle ES (commercial).<br />
La <a title="version 2.2 (actuellement en bêta publique)" href="http://tech.groups.yahoo.com/group/graniteds/message/7122">version 2.2 (actuellement en bêta publique)</a> ne faillit pas à la règle et amène une rafraichissante innovation : l'implémentation de la JSR 303 (BeanValidation) pour Flex. Toutes les contraintes standard de la JSR sont implémentées via des annotations AS3 et le générateur de code maison (GAS3) permet la conversions des annotations des beans Java.<br />
La validation s'appuie sur une nouvelle fonctionnalité de réflexion.<br />
Autre avancées, peut être moins spectaculaire, la prise en compte des types 'big numbers' de Java dans les sérialisations offertes par le framework.<br />
GraniteDs, dont certains avait décrété la mort à la publication de BlazeDs, est toujours bien vivant et comble, en open source,  certains manques laissés par Adobe.</p>
<h4><a name="AnnoncedeJQueryMobile"></a>Annonce de jQuery Mobile</h4>
<p>C'est une nouvelle qui va à coup sûr faire du bruit dans un monde du développement mobile déjà bouillonnant, puisque vient d'être annoncée la sortie pour la fin d'année de la version mobile du framework <a title="jQuery" href="http://jquerymobile.com/">jQuery</a>. Et ce n'est pas par la petite porte que le célèbre framework web souhaite faire son entrée, puisque contrairement à ses concurrents déclarés, tels que <a title="jQTouch" href="http://www.jqtouch.com/">jQTouch</a> ou bien <a title="Sensha Touch" href="http://www.sencha.com/products/touch/">Sensha Touch</a>, jQuery Mobile se veut être un framework JavaScript ciblant la quasi totalité des <a title="plateformes mobiles" href="http://jquerymobile.com/gbs/">plateformes mobiles</a> web actuelles (Blackberry, Windows Mobile, iOS pour l'iPhone et l'iPad, Android, Symbian, Bada, ...), et permettant de développer des interfaces riches capables de faire rougir bon nombre d'interfaces graphiques natives.</p>
<p>Avec l'avènement d'HTML5 (WebStorage, WebSockets, Vidéo, Géolocalisation, ...), du CSS3, et des navigateurs mobiles dernière génération proposant des moteurs JavaScripts performants, la guerre du web semble se trouver un nouveau terrain de bataille, et le web mobile aura sous peu toutes les armes nécessaires pour déstabiliser le business modèle à peine naissant des Markets, tel que l'iTunes App Store ou bien l'Android Market. Le marché des applications mobiles semble donc suivre la voie de son grand frère, celui des applications PC, et proposera à terme de nombreuses applications riches directement par le web.</p>
<p>L'annonce parue sur le site de jQuery Mobile indique que l'un des objectifs du framework est de pouvoir développer une application unique pour toutes les plateformes mobiles. Ce concept, ne semble pas nouveau puisque l'objectif de J2ME sorti il y a 10 ans déjà était bien de développer une solution unique, rappelez-vous: "Write Once, Run everywhere". Le slogan semble être ici: "Write Less, Do More", mais l'objectif de fond est bien le même.</p>
<p>Palm avec sa plateforme WebOS et Firefox sont déjà sponsors du projet. Bien qu'encore en développement intense, la première sortie est prévue pour fin 2010. Ce framework pourrait bien être une des grandes surprises mobile de 2010 et devenir très rapidement un incontournable pour le développement web d'applications riches pour mobile.</p>
<p>Pour en apprendre plus sur cette déclinaison de jQuery, vous pouvez suivre les liens suivants et apprécier les designs présentés :</p>
<ul>
<li><a title="Site officiel de jQuery Mobile" href="http://jquerymobile.com/">Site officiel de jQuery Mobile</a></li>
<li><a title="La device support grid de jQuery Mobile" href="http://jquerymobile.com/gbs/">La device support grid de jQuery Mobile</a></li>
<li><a title="Les designs concepts" href="http://jquerymobile.com/designs/">Les designs concepts</a></li>
</ul>
<h3><a name="SOA"></a>SOA</h3>
<h4><a name="LaNASAouvrelessourcesdesonclou"></a>La NASA ouvre les sources de son cloud privé</h4>
<p>La NASA a récemment <a title="annoncé" href=" http://www.dailyfinance.com/story/company-news/nasa-rackspace-open-source-cloud-computing/19562733/">annoncé</a> son intention d'offrir le code de son <em>cloud</em> privé Nebula au projet <a title="OpenStack" href=" http://openstack.org/index.php">OpenStack</a> en partenariat avec <a title="Rackspace" href=" http://www.rackspace.com/index.php">Rackspace</a>. Il s'agit d'une implémentation d'une IaaS orientée vers le calcul scientifique et le stockage de données. Par ailleurs OpenStack est un projet actuellement supporté par plus de 25 firmes, dont Dell et Intel. Il offre une pile logicielle ouverte permettant de créer et exploiter un <em>cloud</em> privé sur la base d'infrastructures matérielles standards. Il est disponible sous la licence Apache 2.0. D'après la présentation du projet, la création d'un nouveau Framework ouvert pour le cloud est motivée par deux raisons principales :</p>
<ul>
<li>Le paysage du <em>cloud</em> est actuellement composé d'offres propriétaires, incompatibles entre elles et manquant de transparence, freinant ainsi l'expansion de cette nouvelle industrie. La création d'un framework Open Source permettrait donc une adoption plus massive.</li>
<li>La plupart des autres projets Open Source existant ne pouvaient satisfaire les énormes besoins de scalabilité exprimés par Rackspace. Seule Nebula, semblait correspondre au besoin.</li>
</ul>
<p>Pour l'instant le projet est disponible en "Developer preview". Une première <em>release</em> sera disponible respectivement mi-septembre pour "OS Compute" et mi-octobre pour "OS Storage".</p>
<h3><a name="Lecoindelatechnique"></a>Le coin de la  technique</h3>
<h4><a name="ContinuousDeliverylelivreleplu"></a>Continuous Delivery, le livre le plus important de 2010 ?</h4>
<p>Continuous Delivery, le livre de Jez Humble et David Farley, est disponible en version finale, en édition papier ou électronique (chez vos revendeurs habituels). Il traite d'un sujet qui tient à cœur de plus en plus d'acteurs de l'écosystème JEE : comment améliorer et dédramatiser les processus de build, de livraison et de déploiement d'un produit. Ce livre recueille déjà de nombreux lauriers. Dont ceux de Martin Fowler (directeur de la collection, donc forcément un peu partial), <a title="qui en fait le livre technique le plus important de 2010" href="http://martinfowler.com/snips/201007301801.html">qui en fait le livre technique le plus important de 2010</a>.</p>
<p>De ce que nous avons pu en lire (<a title="par exemple en RoughCuts ici" href="http://my.safaribooksonline.com/9780321670250">par exemple, en RoughCuts ici</a>), ces louanges sont justifiées : ce livre traite de tous les problèmes qui devraient animer n'importe quel consultant au démarrage d'un projet. Collaborer entre équipes, développer de manière incrémentale, tester, automatiser, déployer, tout cela dans un seul but, maximiser la qualité du produit délivré.</p>
<p>Ce livre donnera lieu a un grand <a title="nombre de prsentations en confrence" href="http://continuousdelivery.com/2010/06/continuous-delivery-talks-2010/">nombre de présentations en conférence</a>, qui, si ce n'est déjà fait, devrait vous donner envie d'en faire votre livre de chevet avant la rentrée littéraire.</p>
<p>Pour en savoir plus, consultez le blog <a title="Continuous Delivery" href="http://continuousdelivery.com/">Continuous Delivery</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.fr/2010/08/17/revue-de-presse-xebia-172/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Revue de Presse Xebia</title>
		<link>http://blog.xebia.fr/2010/08/10/revue-de-presse-xebia-171/</link>
		<comments>http://blog.xebia.fr/2010/08/10/revue-de-presse-xebia-171/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 05:39:38 +0000</pubDate>
		<dc:creator>Xebia France</dc:creator>
				<category><![CDATA[Revue de presse]]></category>
		<category><![CDATA[Axon]]></category>
		<category><![CDATA[CQRS]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Wave]]></category>
		<category><![CDATA[HonetQ]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[JMS]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[Sharding]]></category>

		<guid isPermaLink="false">http://blog.xebia.fr/?p=5184</guid>
		<description><![CDATA[
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Actualité  éditeurs / SSII

Naufrage pour Google Wave

Le coin de la  technique

Nouvelle architecture de réplication et de sharding pour MongoDB
Axon, une implémentation Java du pattern CQRS
L'architecture de Last.fm basée sur HornetQ

Actualité  éditeurs / SSII
Naufrage pour Google Wave
Nous l'apprenons sur The H, Google Wave [...]]]></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/J2EE hebdomadaire proposée par Xebia.</em></p>
<p><strong>Actualité  éditeurs / SSII</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/10/revue-de-presse-xebia-171/#NaufragepourGoogleWave">Naufrage pour Google Wave</a></li>
</ul>
<p><strong>Le coin de la  technique</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/10/revue-de-presse-xebia-171/#Nouvellearchitecturederplicati">Nouvelle architecture de réplication et de sharding pour MongoDB</a></li>
<li><a href="http://blog.xebia.fr/2010/08/10/revue-de-presse-xebia-171/#AxonuneimplmentationJavadupatt">Axon, une implémentation Java du <em>pattern</em> CQRS</a></li>
<li><a href="http://blog.xebia.fr/2010/08/10/revue-de-presse-xebia-171/#LarchitecturedeLastfmbasesurHo">L'architecture de Last.fm basée sur HornetQ</a></li>
</ul>
<h3><a name="ActualitditeursSSII"></a>Actualité  éditeurs / SSII</h3>
<h4><a name="NaufragepourGoogleWave"></a>Naufrage pour Google Wave</h4>
<p>Nous l'apprenons sur <a title="The H" href="http://www.h-online.com/open/news/item/Google-Wave-to-dissipate-1051080.html">The H</a>, Google Wave coule et ne sera bientôt plus. Après un peu plus d'un an d'existence, Google a décidé de mettre fin à son expérimentation qui n'aura pas répondu à toutes les attentes qu'elle avait provoqué. Pourtant, nous-mêmes, <a title="nous y avons cru" href="http://blog.xebia.fr/2009/11/20/pourquoi-tant-de-vagues-autour-de-google-wave/">nous y avons cru</a> ! Basé sur des protocoles ouverts, le système avait de quoi séduire, même si tout le monde se demandait un peu quelles allaient être les applications réelles... Las, les serveurs de Google devraient être fermés l'année prochaine. La firme annonce quand même la mise à disposition future d'outils permettant aux utilisateurs de "libérer leurs données de Wave". Mais ne nous y trompons pas, même si l'interface graphique colorée ayant donné aux internautes un avant goût de la communication du futur disparaît, il reste quasi-certain que le mécanisme d'échange de données entre serveurs Wave devrait survivre et servir de base à d'autres projets.</p>
<h3><a name="Lecoindelatechnique"></a>Le coin de la  technique</h3>
<h4><a name="Nouvellearchitecturederplicati"></a>Nouvelle architecture de réplication et de sharding pour MongoDB</h4>
<p><a title="MongoDB" href="http://mongodb.org/">MongoDB</a> est une base de données orientée documents très populaire ces temps-ci. 10gen l'entreprise Open Source qui en est à la source se montre très active tant sur la communication que le plan technique en apportant des améliorations régulières pour placer leur base de données NoSQL à la hauteur des ambitions qu'on lui prête.<br />
Respectant le planning présenté mi-juin lors du <a title="MongoDB Day à Paris" href="http://www.10gen.com/conferences/event_mongofr_21june10">MongoDB Day à Paris</a>, la version 1.6 <a title="vient dtre finalise" href="http://blog.mongodb.org/post/908172564/mongodb-1-6-released">vient d'être finalisée</a>. Cette <em>release</em> estivale était particulièrement attendue car elle apporte des améliorations majeures sur l'architecture distribuée de MongoDB :</p>
<ul>
<li>La réplication était jusqu'alors assurée par une architecture master / slave qui souffrait d'un <em>single point of failure</em> à cause de son nœud master. MongoDB 1.6 introduit la notion de <em>replica set</em> qui est un ensemble de nœuds qui possèderont des replicas d'une même donnée. Une élection de <em>master</em> permet alors de définir un nœud unique qui sera responsable des écritures.</li>
<li>Le <em>sharding</em> est maintenant <em>production ready</em> dans MongoDB. L'architecture de partitionnement repose sur un ou plusieurs nœud proxy intermédiaire entre les clients et les instances MongoDB.</li>
</ul>
<p>En apportant ces améliorations, 10gen offre à MongoDB une architecture distribuée plus attrayante. Ce choix se comprend puisque MongoDB ne proposait jusqu'alors que des mécanismes peu innovants et qui poussaient beaucoup de projets à lui préférer Cassandra.</p>
<h4><a name="AxonuneimplmentationJavadupatt"></a>Axon, une implémentation Java du <em>pattern</em> CQRS</h4>
<p>Le <em>Command Query Request Segregation</em> (CQRS) est un <em>pattern</em> architectural qui a été <a title="formalis fin 2009" href="http://www.udidahan.com/2009/12/09/clarified-cqrs/">formalisé fin 2009</a> par Greg Young et Udi Dahan. Il repose sur l'idée de séparer le code métier selon qu'il s'appuie sur des opérations d'écriture (<em>command</em>) ou de consultation de données (<em>query</em>), plutôt que par découpage fonctionnel. Le but recherché ici est d'offrir une grande scalabilité en permettant aux lectures de s'effectuer de manière synchrone dans un cache, tandis que les requêtes d'écritures sont effectuées de manière asynchrone en mettant à jour à la fois le cache et la base de données sous-jacente.</p>
<p>Les développeurs Java disposent d'une implémentation Open Source de ce <em>pattern</em>, il s'agit du <em>framework</em> <a title="Axon" href="http://code.google.com/p/axonframework/">Axon</a> (anciennement CQRS4J). Le projet est très actif et <a title="vient diffuser" href="http://www.gridshore.nl/2010/08/08/axon-framework-0-6-released/">vient diffuser</a> une version 0.6 dont la maturité mérite de s'y attarder : gestion et persistance des évènements, intégration à Spring et gestion des transactions.<br />
Ce <em>framework</em> reste modeste pour l'instant et ne couvre qu'un nombre limité d'environnements techniques mais à défaut de répondre à votre besoin il constituera un exemple d'implémentation intéressant à étudier.</p>
<h4><a name="LarchitecturedeLastfmbasesurHo"></a>L'architecture de Last.fm basée sur HornetQ</h4>
<p>Tout le monde connaît <a title="Last.fm" href="http://fr.wikipedia.org/wiki/Last.fm">Last.fm</a>, le service de <em>streaming</em> et de recommandation de musique. La compagnie a récemment changé son infrastructure de <em>streaming</em> et en a profité pour adopter <a title="JBoss HornetQ" href="http://jboss.org/hornetq">JBoss HornetQ</a> comme serveur de <em>messaging</em>, au détriment <em>"d'un autre serveur open-source"</em> (mais nous ne saurons pas lequel !). Jeff Mesnil publie sur DZone un article <a title="expliquant" href="http://java.dzone.com/articles/case-study-how-lastfm-uses">expliquant</a> les raisons de ce changement et la façon dont Last.fm se sert d'HornetQ.<br />
Pour résumer simplement, les messages JMS sont générés principalement par les <em>streamers</em> pour:</p>
<ul>
<li> notifier la fin de l'écoute d'un morceau et donc faire mettre à jour la base.</li>
<li>permettre la déconnexion automatique d'un utilisateur connecté à un flux si un message généré par un second <em>streamer</em> indique qu'il vient de se connecter à un autre flux.</li>
</ul>
<p>Dans sa configuration de HornetQ, Last.fm a mis l'accent sur la performance:</p>
<ul>
<li> la persistance a été désactivée. Comme rapporté par nos lecteurs dans <a title="les commentaires" href="http://blog.xebia.fr/2010/02/23/amqp-une-alternative-a-jms/#comment-21922">les commentaires</a> <a title="dun prcdant article" href="http://blog.xebia.fr/2010/02/23/amqp-une-alternative-a-jms/#comment-22026">d'un précédant article</a> celle-ci est connue pour être consommatrice.</li>
<li>messages déclarés comme pré-acquittés, permettant d'éliminer des accès réseau supplémentaires.</li>
</ul>
<p>Bien sûr tout ceci est fait au détriment de la robustesse. On n'a rien sans rien ! Mais Last.fm préfère perdre des messages plutôt que d'empêcher un auditeur d'écouter sa musique: "Availability was more important than reliable delivery". Il est à noter que pour renforcer la robustesse, les envois de messages ne sont pas faits n'importe comment: un seul thread s'occupe de la communication JMS. Il communique avec les autres threads en interne par un mécanisme de files, dans lesquelles il puise les messages à envoyer à HornetQ et dépose les messages reçus. Ces files étant limitées en mémoire, cette dernière est donc maîtrisée et comme il y a un seul thread responsable des accès JMS, il n'y a pas de risque de blocage de tout le système.</p>
<p>Pour continuer sur HornetQ, notons que <a title="la tant attendue" href="http://blog.xebia.fr/2010/01/18/revue-de-presse-xebia-143/#HornetQunvritablerenouveau">la tant attendue</a> interface REST vient d'être annoncée par Bill Burke, son développeur principal, sur <a title="le forum du broker" href="http://community.jboss.org/message/556393">le forum du broker</a>. Cette interface n'est pas encore disponible dans une version officielle de HornetQ, mais <a title="sa documentation" href="http://jboss.org/hornetq/rest">sa documentation</a> permet d'ores et déjà de se faire une idée. Basée directement sur HTTP, elle évite de forcer l'utilisation d'une quelconque encapsulation (autre qu'applicative) des messages. Et bien sûr, on peut l'utiliser avec n'importe quel langage: REST est interopérable. La documentation <a title="spécifique à la création de messages" href="http://docs.jboss.org/resteasy/hornetq-rest/1.0-beta-1/userguide/html/ch04.html">spécifique à la création de messages</a> permet de se faire une idée rapidement. Basée sur <a title="RestEasy" href="http://jboss.org/resteasy">RestEasy</a>, qui fera aussi partie du futur JBoss AS 6, il y a fort à parier que cette interface fera parler d'elle et ouvrira la voie à de nouvelles utilisations du <em>broker</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.fr/2010/08/10/revue-de-presse-xebia-171/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Revue de Presse Xebia</title>
		<link>http://blog.xebia.fr/2010/08/03/revue-de-presse-xebia-170/</link>
		<comments>http://blog.xebia.fr/2010/08/03/revue-de-presse-xebia-170/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 05:41:22 +0000</pubDate>
		<dc:creator>Xebia France</dc:creator>
				<category><![CDATA[Revue de presse]]></category>
		<category><![CDATA[FxObjects]]></category>
		<category><![CDATA[IDEA]]></category>
		<category><![CDATA[IntelliJ]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Méthodes agiles]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[VisualVM]]></category>

		<guid isPermaLink="false">http://blog.xebia.fr/?p=5152</guid>
		<description><![CDATA[
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Actualité  éditeurs / SSII

Nokia donne son "Mobile Runtime" Java à la fondation Symbian

Agilité

Cinq pièges à l'adoption des méthodes agiles

RIA

FxObjects: un framework pour JavaFX

Le coin de la  technique

IntelliJ IDEA 9.0.3
VisualVM 1.3

Actualité  éditeurs / SSII
Nokia donne son "Mobile Runtime" Java à la fondation Symbian
Dans [...]]]></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/J2EE hebdomadaire proposée par Xebia.</em></p>
<p><strong>Actualité  éditeurs / SSII</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/03/revue-de-presse-xebia-170/#NokiafaitdondesonMobileRuntime">Nokia donne son "Mobile Runtime" Java à la fondation Symbian</a></li>
</ul>
<p><strong>Agilité</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/03/revue-de-presse-xebia-170/#Cinqpigesladoptiondesmthodesag">Cinq pièges à l'adoption des méthodes agiles</a></li>
</ul>
<p><strong>RIA</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/03/revue-de-presse-xebia-170/#FxObjectsunframeworkpourJavaFX">FxObjects: un framework pour JavaFX</a></li>
</ul>
<p><strong>Le coin de la  technique</strong></p>
<ul>
<li><a href="http://blog.xebia.fr/2010/08/03/revue-de-presse-xebia-170/#IntelliJIDEA">IntelliJ IDEA 9.0.3</a></li>
<li><a href="http://blog.xebia.fr/2010/08/03/revue-de-presse-xebia-170/#VisualVM">VisualVM 1.3</a></li>
</ul>
<h3><a name="ActualitditeursSSII"></a>Actualité  éditeurs / SSII</h3>
<h4><a name="NokiafaitdondesonMobileRuntime"></a>Nokia donne son "Mobile Runtime" Java à la fondation Symbian</h4>
<p>Dans un effort de rendre plus accessible le développement d'applications Java pour les mobiles basés sur le système <a title="Symbian" href="http://www.symbian.org/">Symbian</a>, Nokia vient d'annoncer, ce 15 juillet, faire don de son "Mobile Runtime for Java Applications" (JRT) à la fondation Symbian (créée en 2008 justement, suite au rachat de Symbian Software Limited). Avec le don de son JRT, Nokia met à disposition pas moins d'1 million de lignes de code Java et C++ correspondant à son runtime, son installeur d'applications, ses API, ses tests et sa documentation. Le tout est mis à disposition sous license <a title="Eclipse Public License" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License</a> (EPL) et est disponible comme partie intégrante du dernier <a title="Symbian^3 Product Development Kit" href="http://developer.symbian.org/main/user_profile/login.php?referer=/main/tools_and_kits/downloads/view.php?id=5">Symbian^3 Product Development Kit</a>.</p>
<p>Nokia annonce le support de la norme MIDP 2.1 (JSR 118), ainsi que ses nombreuses JSR, dont l'architecture <a title="MSA" href="http://developers.sun.com/mobility/midp/articles/msaintro/">MSA</a>. Rien de bien nouveau, jusqu'à présent, serait-on tenté de dire. D'un point de vue graphique, la plateforme Symbian^3 apporte le support d'une accélération graphique hardware, ainsi que deux API non standard : la classique Nokia UI API en version 1.4, ainsi qu'une implémentation de l'<a title="Eclipse Standard Widget Toolkit" href="http://www.eclipse.org/ercp/eswt/gallery/gallery.php">Eclipse Standard Widget Toolkit</a> (eSWT) UI API en version 1.0.3.</p>
<p>En complément du langage Java, Le SDK Symbian^3 propose d'écrire des applications natives en utilisant le langage C++ et le support intégré du tookit graphique Qt. Un support de développement basé sur les technologies Web est également disponible, il permet de construire des applications basées sur le <a title="Nokia's Web Runtime (WRT)" href="http://www.forum.nokia.com/Develop/Web/">Nokia's Web Runtime (WRT)</a> et l'outil <a title="PhoneGap" href="http://www.phonegap.com/">PhoneGap</a>, qui permet de tirer parti de différentes fonctionnalités de l'OS habituellement uniquement accessibles par les applications natives.</p>
<p>Pour les curieux, une <a title="roadmap" href="http://developer.symbian.org/wiki/index.php/JRT/Backlog">roadmap</a> de développement permet de se faire une idée des fonctionnalités des futures version de la plateforme.</p>
<p><strong>Quelle stratégie pour Nokia en 2010?</strong></p>
<p>Dès 2008, Nokia avait préparé sa riposte face à la sortie de la plateforme mobile Android de Google. Déjà détenteur de 48% de la société Symbian Limited, Nokia avait racheté les parts restantes auprès de ses concurrents de l'époque (Sony-Ericsson, Panasonic, Siemens, ...) pour un montant avoisinant les 250 millions d'euros. Ce rachat qui n'était qu'une première étape devait permettre à Nokia de faire don de la plateforme Symbian à la fondation éponyme. A la même époque les autres acteurs de l'environnement Symbian devaient faire de même: Sony-Ericsson et Motorola devaient, entre autre, fournir la technologie UIQ à la fondation. Le but de la fondation Symbian était donc de créer, à partir de ces différentes contributions, une plateforme mobile unifiée ouverte à la communauté.</p>
<p>En l'espace de 2 ans, le paysage des plateformes mobiles a cependant bien changé: l'iOS d'Apple est devenu un leader emblématique, même s'il commence à se faire disputer le titre par la plateforme Android de Google, tandis que Microsoft tente revenir dans la course pour les fêtes avec son nouveau système Windows Phone 7. En parallèle, de nouveaux acteurs apparaissent tel que Samsung avec son système Bada, ou bien <a title="Baidu" href="http://fr.wikipedia.org/wiki/Baidu">Baidu</a> qui souhaite copier son grand frère Google avec un OS ayant pour ambition de conquérir le marché chinois ...</p>
<p>Près de 2 ans après la présentation de sa stratégie pour contrer Google, l'annonce de la sortie de Symbian^3 par Nokia ressemble beaucoup à une tentative désespérée de raccrocher le wagon. Il n'est plus l'heure pour Nokia de redorer son blason, mais plutôt de sauver les meubles dans un secteur où les évolutions se font à coup de bottes de sept lieues. Pour s'en convaincre, il suffit de comparer le paysage des plateformes mobiles aujourd'hui avec celui de <a title="2008" href="http://techcrunch.com/2008/06/25/the-state-of-open-mobile-oses/">2008</a>. Malgré un parc important d'appareils mobiles déployés et sa communauté de développeurs, Nokia est toujours à la recherche d'un business model efficace. Ses talents d'innovation et de fabricant de combinés haut de gammes semblent être un lointain souvenir tant la concurrence a pris de l'avance rapidement. La stratégie de Nokia est-elle la bonne ? Nokia est en tout cas, aujourd'hui, au pied du mur. Le géant scandinave annonce pour la fin d'année des appareils compatibles avec la toute dernière version de la plateforme Symbian, comme le <a title="Nokia N8" href="http://www.nokia.fr/les-produits/tous-les-mobiles/nokia-n8">Nokia N8</a>. Dans un marché en mouvement permanent, cela sera-t-il suffisant ?</p>
<h3><a name="Agilit"></a>Agilité</h3>
<h4><a name="Cinqpigesladoptiondesmthodesag"></a>Cinq pièges à l'adoption des méthodes agiles</h4>
<p><a title="Mike Griffiths" href="http://www.pmi.org/CareerDevelopment/Pages/Bio.aspx?BioID=153">Mike Griffiths</a>, blogueur et agiliste travaillant au PMI, nous présente dans <a title="son article" href="http://leadinganswers.typepad.com/leading_answers/2010/07/agile-adoption-antipatterns.html">son article</a> les Anti-Patterns nuisant à l'adoption des méthodes agiles. Bien que les bénéfices tirés des méthodes agiles ne soient plus à prouver, le passage à l'agilité n'est pas forcément couronné de succès. Nombreux sont les pièges et les digressions dans lesquels on peut tomber. Mike décrit ensuite cinq pièges courants, mais c'est à vous d'identifier les autres selon le contexte de votre projet.</p>
<ul>
<li><strong>L'agilité n'est pas un miracle</strong></li>
</ul>
<p>Oui, l'agilité permet de gagner du temps, d'accroître la valeur métier, et de développer un produit de meilleure qualité. Cependant, ce n'est pas une recette magique, qui va permettre à un projet anémique voué à l'échec d'être un succès. Bien au contraire, vous pourriez arriver encore plus rapidement en situation d'échec, ou au mieux vous en rendre compte avant avec des nouveaux indicateurs.</p>
<ul>
<li><strong>L'agilité ne veut pas dire aucune discipline</strong></li>
</ul>
<p>Certaines personnes ne connaissant pas bien l'agilité ont l'idée reçu que les méthodes agiles font preuves de très peu de discipline, de planification et d'estimation. Les méthodes agiles sont parfois appelées "méthodes légères" par opposition aux anciennes méthodes.<br />
On peut quand même constater de nombreuses cérémonies et activités de haut niveau nécessitant de la discipline, comme: le stand-up daily meeting, le sprint planning, la rétrospective, la démo, etc.<br />
Même si les documents afférents aux cérémonies sont peu nombreux, ils ne sont pas une excuse pour manquer de discipline et éviter de rendre des comptes. Ils contiennent les indicateurs suffisants pour réaliser des plannings, des estimations, etc.</p>
<ul>
<li><strong>L'agilité sans aucune explication</strong></li>
</ul>
<p>Une équipe agile ne travaille pas toute seule en silo. Elle interagit avec d'autres équipes, comme le marketing, l'architecture applicative, etc. Le caractère itératif d'un projet agile peut les perturber. Ainsi, il convient d'expliquer le processus agile aux autres équipes, avant d'arriver à des situations de blocages ou pire de rejets.</p>
<ul>
<li><strong>L'importance du feedback client</strong></li>
</ul>
<p>L'une des contraintes importantes des méthodes agiles est d'avoir le client sur site. Cela permet entre autre d'avoir un feedback régulier au cours d'une itération. La réunion de démonstration a aussi pour rôle d'avoir un retour et une validation du client. Attention, même si le client ne fait pas ou peu de retours, cela ne veut pas pour autant dire que tout va bien et que son réel besoin est satisfait. Au contraire, il peut avoir fait preuve d'inattention. Pour éviter cela, Mike propose des sessions de revue, où le client est assisté par un membre de l'équipe.</p>
<ul>
<li><strong>Obsédé par le processus agile</strong></li>
</ul>
<p>La recherche de l'amélioration du processus agile au sein d'un projet est bonne chose en soi.<br />
Cependant, il ne faut pas tomber dans le cas extrême du scrum master obnubilé par le process et le sur-outillage avec des indicateurs inutiles. Il faut rester pragmatique et garder à l'esprit que l'objectif de l'agilité est de satisfaire le client et répondre à des contraintes business. Il faut donc garder son attention sur lui et non sur le process. Mike suggère d'utiliser des métriques orientées sur l'objectif final: satisfaction client, fonctionnalités réalisées et acceptées, plutôt que le pourcentage de pratiques agiles suivies, ou le temps passé en pair-programming.</p>
<h3><a name="RIA"></a>RIA</h3>
<h4><a name="FxObjectsunframeworkpourJavaFX"></a>FxObjects: un framework pour JavaFX</h4>
<p>TheServerSide <a title="nous apprend aujourd'hui" href="http://www.theserverside.com/discussions/thread.tss?thread_id=60635">nous apprend aujourd'hui</a> que la version 1.0 du Framework <a title="FxObjects" href="https://fxobjects.dev.java.net/">FxObjects</a> vient de sortir. C'est un framework réalisé par <a title="Srikanth Shenoy" href="http://www.java.net/blog/22512">Srikanth Shenoy</a>, destiné à aider la programmation d'applications JavaFX. Il s'avère être, malgré sa jeunesse, assez ambitieux. S'articulant autour du pattern <a title="ModelViewPresenter" href="http://en.wikipedia.org/wiki/Model-view-presenter">Model-View-Presenter</a> qui facilite les tests unitaires, les 3 briques principales sont les suivantes:</p>
<ul>
<li>le <em>command framework</em>
<ul>
<li>commandes asynchrones</li>
<li>HTTP &amp; REST</li>
<li>marshalling/unmarshalling XML avec JAXB</li>
</ul>
</li>
<li>le <em>Controller chain framework</em>
<ul>
<li>contrôleurs</li>
<li>support de la navigation</li>
<li>présentations des nœuds</li>
</ul>
</li>
<li>l'<em>Event Framework</em>, encore à l'état expérimental</li>
</ul>
<p>A noter que le <em>Controller chain framework</em> et l'<em>Event Framework</em> disposent d'un cycle de vie customisable, et que l'on peut utiliser Spring pour définir les divers éléments de son application (ouf !).<br />
De nombreuses évolutions sont d'ores et déjà au menu de la V0.2 prévue pour septembre:</p>
<ul>
<li>gestion du cycle de vie de l'application</li>
<li>gestionnaire d'évènements</li>
<li>sécurité</li>
<li>conversion vers et depuis JSON</li>
</ul>
<p>Il est intéressant de voir un framework venir aider au développement JavaFX car il semble que les programmeurs étaient, jusqu'à maintenant, peu gâtés dans ce domaine. Reste à voir s'il saura gagner l'adhésion de la communauté et réussira à dépasser le stade de <em>proof of concept</em>. On serait en effet tenté de dresser un parallèle avec le <a title="Swing Application Framework" href="https://appframework.dev.java.net/">Swing Application Framework</a> qui fut pendant un temps considéré comme le futur de Swing, mais qui n'a jamais réussi à fédérer assez de monde derrière lui pour devenir un standard malgré <a title="la JSR" href="http://jcp.org/en/jsr/detail?id=296">la JSR</a> le supportant. Mais alors que ce framework devait faire face à la rude concurrence de Netbeans RCP et Eclipse RCP, c'est plus au manque d'engouement pour JavaFX que risque d'avoir à faire face FxObjects. A moins que ce ne soit lui le sauveur de JavaFX ?</p>
<h3><a name="Lecoindelatechnique"></a>Le coin de la  technique</h3>
<h4><a name="IntelliJIDEA"></a>IntelliJ IDEA 9.0.3</h4>
<p>IntelliJ IDEA continue son petit bonhomme de chemin. Et 3 mois après la <a title="release 9.0.2" href="http://www.baptiste-wicht.com/2010/04/jetbrains-released-intellij-idea-9-0-2/">release 9.0.2</a> , voici venir la <a title="nouvelle version de l'IDE en 9.0.3" href="http://www.baptiste-wicht.com/2010/07/intellij-idea-9-0-3-is-here/">nouvelle version de l'IDE en 9.0.3</a>. La release notes complète se trouve <a title="ici" href="http://confluence.jetbrains.net/display/IDEADEV/IDEA+9.0.3+Release+Notes">ici</a>.</p>
<p>Amélioration du débogueur Flex, meilleur support de Grails, l'éditeur HTML qui supporte par défaut HTML5... en bref des nouveautés plutôt intéressantes. Mais pour ma part, la <em>killer feature</em> de cette version est sans nul doute le gestionnaire de mots de passe encryptés pour entre autres les VCS.</p>
<p>Ayant depuis quelques jours migré sous <a title="Git" href="http://git-scm.com/">Git</a> avec tous nos <em>repositories</em> dorénavant sous <a title="Github" href="https://github.com/">Github</a>, je me suis retrouvé, à chaque push vers une branche remote, à devoir ressaisir ma passphrase. Et que ce soit pour 1 ou 10 pushs, cela devient très vite embêtant pour peu que cette passphrase soit quelque peu évoluée. Mais voilà, je ne serais resté que 2 semaines dans cet état car cette nouvelle version de l'IDE apporte ce fameux gestionnaire de mots de passe.</p>
<p>Au premier push, IDEA vous proposera de sauvegarder votre passphrase. Si  vous répondez positivement, il vous est alors demandé de rentrer un mot de passe maître. Celui-ci sera votre mot de passe pour accéder au  gestionnaire et vous sera demandé la première fois que vous voudrez  faire un push. Mais dès lors, votre passphrase ne vous sera plus jamais demandée ! Ainsi, une fois celui-ci saisi, vous pourrez effectuer autant  de push que vous le souhaitez sans saisie de passphrase ! A noter  qu'après chaque redémarrage, votre mot de passe maître vous sera  redemandé uniquement lors de votre premier push serveur. Une  fonctionnalité très agréable donc.</p>
<p>Bien évidemment, les plugins SVN ou Git nous offrent des fonctionnalités simplifiées comme un affichage élaboré de l'historique des commits ou bien encore un <em>diff</em> entre 2 fichiers plus visuel. Néanmoins,  n'oubliez pas que Git regorge de commandes toutes plus utiles les unes que les autres ! Et rester 100% de son temps dans un IDE, ce serait  passer à côté de plusieurs perles de productivités. Bien sûr, les  commandes standards comme le rebase, stash, pull, push, etc sont gérées, mais d'autres comme le bisect ou le cherry-pick ne le seront pas forcément. Une bonne intégration avec l'IDE, donc, mais sans écarter  complètement le terminal ou Cygwin!</p>
<div><img src="http://blog.xebia.fr/wp-content/uploads/2010/08/ et rester 100% de son temps dans un ide, ce serait passer à côté de plusieurs perles de productivités. bien sûr, les commandes standards comme le rebase, stash, pull, push, etc sont gérées, mais d'autres comme le bisect ou le cherry-pick ne le seront pas forcément. une bonne intégration avec l'ide, donc, mais sans écarter complètement le terminal ou cygwin" border="0" alt="" /></div>
<h4><a name="VisualVM"></a>VisualVM 1.3</h4>
<p><strong>VisualVM</strong> vient de sortir en <a title="version 13" href="https://visualvm.dev.java.net/relnotes.html">version 1.3</a>. Pour rappel, cet outil graphique de diagnostic permet de faire du monitoring et du profiling de nos applications Java. Développé par Sun et téléchargeable gratuitement, cette boite à outils intègre de nombreux plugins et est autant destinée à un environnement de développement qu'à un environnement de production.<br />
Cette nouvelle version corrige quelques bugs et apporte les évolutions majeures suivantes:</p>
<ul>
<li>Support des langages dérivés de la JVM: Clojure, Groovy, JRuby, Jython et Scala.</li>
<li>Le plugin Sampler (qui monitore les activités du CPU et de la mémoire) est maintenant intégré par défaut.</li>
<li>Les plugins Sampler et Profiler disposent d'une configuration par défaut. Exemple: Classes et packages à filtrer, intervalle de temps entre les mesures, etc.</li>
<li>On peut <em>monitorer</em> à distance des applications qui ont activé JMX.</li>
<li>Apparition du Tracer framework et d'une série de sondes: jvmstat, java I/O, Garbage collectors.</li>
<li>Apparition d'un nouveau plugin Threads Inspector, permettant une vision plus fine d'un thread.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.fr/2010/08/03/revue-de-presse-xebia-170/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
