<?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; BEA</title> <atom:link href="http://blog.xebia.fr/tag/bea/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/2008/09/01/revue-de-presse-xebia-72/</link> <comments>http://blog.xebia.fr/2008/09/01/revue-de-presse-xebia-72/#comments</comments> <pubDate>Mon, 01 Sep 2008 16:48:37 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[GWT]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[Sun]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=604</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Saga Oracle/BEA: secrets de polichinelles Agilité Agile survey 2008 Agile et Lean La chasse au gaspillage RIA Sun et LWUIT Sortie GWT 1.5 Le coin de la technique Les six commandements de l&#8217;architecte Réplication avec Subversion 1.5 Actualité éditeurs / [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/09/01/revue-de-presse-xebia/#SagaOracleBEAsecretsdepolichin">Saga Oracle/BEA: secrets de polichinelles</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/09/01/revue-de-presse-xebia/#Agilesurvey">Agile survey 2008</a></li><li><a
href="http://blog.xebia.fr/2008/09/01/revue-de-presse-xebia/#AgileetLean">Agile <em>et</em> Lean</a></li><li><a
href="http://blog.xebia.fr/2008/09/01/revue-de-presse-xebia/#Lachasseaugaspillage">La chasse au gaspillage</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/09/01/revue-de-presse-xebia/#SunetLWUIT">Sun et LWUIT</a></li><li><a
href="http://blog.xebia.fr/2008/09/01/revue-de-presse-xebia/#SortieGWT">Sortie GWT 1.5</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/09/01/revue-de-presse-xebia/#Lessixcommandementsdelarchitec">Les six commandements de l&#8217;architecte</a></li><li><a
href="http://blog.xebia.fr/2008/09/01/revue-de-presse-xebia/#RplicationavecSubversion">Réplication avec Subversion 1.5</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="SagaOracleBEAsecretsdepolichin"></a>Saga Oracle/BEA: secrets de polichinelles</h4><p>Dès <a
href="http://blog.xebia.fr/2008/01/21/revue-de-presse-xebia-40/#OracleBEA" title="l'annonce du rachat de BEA par Oracle" >l&#8217;annonce du rachat de BEA par Oracle</a>, tout un chacun s&#8217;est amusé à parier sur les survies respectives des briques logicielles Oracle ou BEA qui s&#8217;avéraient redondantes dans l&#8217;offre middleware d&#8217;Oracle. 01 INFORMATIQUE version papier du 28 Août nous confirme ce que nous supputions.<br
/> Après les JO de Pekin, voici le podium des vainqueurs dans les labs d&#8217;Oracle.</p><ul><li>Dans la catégorie Serveur d&#8217;applications, le grand gagnant est <a
href="http://www.bea.com/framework.jsp?CNT=index.htm&#038;FP=/content/products/weblogic/server" title="WLS" >WLS</a> (<a
href="http://www.oracle.com/lang/fr/appserver/index.html" title="OAS" >OAS</a> était à 100 contre 1 les chez meilleurs bookmakers de la Silicon Valley)</li><li>Dans la catégorie JVM, le gagnant est <a
href="http://www.bea.com/jrockit/" title="JRockit" >JRockit</a> (y avait il un compétiteur côté Oracle ?).</li><li>Dans la catégorie ESB, le gagnant est <a
href="http://fr.bea.com/products/aqualogic/service_bus/" title="ALSB" >ALSB</a>.</li><li>Dans la catégorie BPM, le gagnant est <a
href="http://www.oracle.com/technology/products/ias/bpel/index.html" title="BPEL Process Manager" >BPEL Process Manager</a> d&#8217;Oracle</li><li>Dans la catégorie Portail, le gagnant est <a
href="http://www.oracle.com/technology/products/webcenter/index.html" title="Webcenter Suite" >Webcenter Suite</a> et Webcenter Framework (étonnant !).</li><li>Dans la catégorie Moniteur TP, gagnant catégorie est <a
href="http://www.bea.com/framework.jsp?CNT=index.htm&#038;FP=/content/products/tux" title="Tuxedo" >Tuxedo</a> (mais existe t-il une alternative ?).</li><li>Dans la catégorie IDE, <a
href="http://www.oracle.com/technology/products/jdev/index.html" title="JDeveloper" >JDeveloper</a> et <a
href="http://www.oracle.com/technology/products/workshop/index.html" title="Workshop" >Workshop</a> vont regroupés dans un pack Eclipse (bon courage !).</li></ul><p>Mais chut !!! tout cela est officieux car officiellement tous les produits cohabiteront et perdureront.</p><h3><a
name="Agilit"></a>Agilité</h3><h4><a
name="Agilesurvey"></a>Agile survey 2008</h4><p>Une pluie de chiffres sur l&#8217;agilité vient de tomber, <a
href=" http://www.versionone.com/" title="VersionOne" >VersionOne</a> vient de publier sa <a
href=" http://www.versionone.com/pdf/3rdAnnualStateOfAgile_FullDataReport.pdf" title="troisième enquête annuelle" >troisième enquête annuelle</a> sur l&#8217;état du développement Agile. Celle-ci regroupe les résultats de 3000 participants d&#8217;entreprises de tailles variées provenant de 80 pays. Même si tous les profils y sont regroupés, les participants à cette enquête ont, dans la majorité des cas, une certaine expérience (2 à 5 ans) dans la pratique du développement Agile.</p><p>À partir de ce panel, il est intéressant de noter ces quelques points :</p><ul><li>l&#8217;introduction des méthodes agiles s&#8217;est effectuée dans 36% des cas lors de cette dernière année</li><li>40% des personnes sondées ont ou comptent adopter les méthodes agiles pour des développements <strong>outsourcés</strong>.</li><li><strong>La réduction du time-to-market</strong> et la capacité de gérer l&#8217;évolution des priorités sont les principaux moteurs à l&#8217;introduction des méthodes agiles</li><li><strong>Scrum</strong> est sans conteste la méthodologie agile la plus utilisée (49% full Scrum, 22% hybride Scrum/XP contre seulement 8% XP seul)</li><li>C&#8217;est également sans surprise que les barrières les plus répandues à l&#8217;adoption des méthodes agiles sont liées aux cultures d&#8217;entreprise et la résistance au changement de celles-ci.</li></ul><h4><a
name="AgileetLean"></a>Agile <em>et</em> Lean</h4><p><a
href="http://www.agilemanagement.net/Articles/Weblog/blog.html" title="David Anderson" >David Anderson</a> a présenté lors de la conférence <a
href="http://blog.xebia.fr/2008/08/11/revue-de-presse-xebia-69/#AgileLasagessedesfoules" title="Agile 2008" >Agile 2008</a> les <a
href="http://www.agilemanagement.net/Articles/Weblog/FutureDirectionsforAgile.html" title="orientations futures de l'Agile" >orientations futures de l&#8217;Agile</a>. <a
href="http://www.aubryconseil.com/dotclear/index.php/2008/08/25/460-direction-vers-le-futur-de-l-agile" title="Claude Aubry" >Claude Aubry</a> résume la vidéo disponible sur <a
href="http://www.infoq.com/presentations/Agile-Directions-David-Anderson" title="InfoQ" >InfoQ</a> (1h30) : &laquo;&nbsp;l&#8217;Agile doit s&#8217;ouvrir à l&#8217;extérieur, <strong>prendre en compte le Lean</strong>, se placer au niveau de l&#8217;entreprise et s&#8217;appuyer sur une notion de maturité des organisations&nbsp;&raquo; en s&#8217;appuyant sur 3 pratiques : le <a
href="http://www.infoq.com/articles/hiranabe-lean-agile-kanban" title="Kanban" >Kanban</a>, les <a
href="http://www.infoq.com/articles/real-options-enhance-agility" title="Real options" >Real options</a> et <a
href="http://fr.wikipedia.org/wiki/Capability_Maturity_Model_Integration" title="CMMI" >CMMI</a>.<br
/> Le <a
href="http://fr.wikipedia.org/wiki/Lean" title="Lean" >Lean</a> est encore souvent comparé à l&#8217;<em>Agile</em>. À la question <a
href="http://www.infoq.com/news/2008/09/Not-Agile-Vs-Lean" title="Agile vs Lean" >Agile vs Lean</a>, <a
href="http://martinfowler.com/bliki/AgileVersusLean.html" title="Martin Fowler" >Martin Fowler</a> répond que ce débat n&#8217;a pas de sens. Il rappelle que les méthodes agiles ont été largement influencées par le <em>Lean</em> (développé chez Toyota dans les années 50) et que les deux courants sont tellement entremêles que &laquo;&nbsp;si vous faites des méthodes agiles, vous faites du Lean et vice-versa&nbsp;&raquo;.</p><h4><a
name="Lachasseaugaspillage"></a>La chasse au gaspillage</h4><p>Jean Claude Grosjean énumère <a
href="http://www.qualitystreet.fr/?2008/08/27/142-lean-software-development-7-principes-fondateurs" title="les principes fondateurs du Lean Software Development" >les principes fondateurs du Lean Software Development</a> et détaille le 1er d&#8217;entre eux : <a
href="http://www.qualitystreet.fr/?2008/08/27/143-eliminer-les-sources-de-gaspillage-les-7-gaspillages-lean" title="éliminer les sources de gaspillage" >éliminer les sources de gaspillage</a>.<br
/> La chasse au gaspillage était déjà lancée par <a
href="http://submissions.agile2008.org/user/253" title="Joshua Kerievsky" >Joshua Kerievsky</a> qui considère que les estimations sont inefficaces. Partant du constat que l&#8217;<a
href="http://www.martinfowler.com/bliki/CannotMeasureProductivity.html" title="on arrive pas à mesurer la productivité dans l'ingénierie logicielle" >on arrive pas à mesurer la productivité dans l&#8217;ingénierie logicielle</a> (notamment à cause de la confusion entre les différentes unités d&#8217;estimation des <em>stories</em>), Joshua propose de se passer des estimations et de fonctionner en <a
href="http://www.dtsato.com/blog/2008/08/26/agile-2008-estimating-considered-wasteful-introducing-micro-releases/" title="micro-releases" >micro-releases</a>. Les <em>micro-releases</em> regroupent un petit ensemble cohérent de <em>stories</em>, dont la sélection détermine la date de fin de release. Elles ont donc une durée variable (généralement 1 à 6 jours) et leur cycle de vie est détaché de celui des itérations. Elles permettent de livrer le produit plus souvent à la façon <em>just-in-time</em> sans gaspiller du temps à faire des estimations. La principale difficulté dans la mise en oeuvre d&#8217;un tel processus est lié à la capacité à décomposer les <em>stories</em> en éléments plus petits mais toujours consistants.<br
/> Autre source potentielle de gaspillage selon <a
href="http://java2jee.blogspot.com/" title="Przemyslaw Bielicki" >Przemyslaw Bielicki</a>, <a
href="http://agilesoftwaredevelopment.com/blog/pbielicki/can-unit-testing-be-waste" title="les tests unitaires" >les tests unitaires</a>. Tester <em>tout</em> est du gaspillage (tester les getters et setters n&#8217;a pas grand intérêt) et il faut savoir interpréter le taux de couverture des tests. Il ne faut pas chercher à atteindre 100% de couverture mais faire preuve de bon sens en testant les composants sensibles, en commençant toujours par le niveau d&#8217;abstraction le plus haut.</p><h3><a
name="RIA"></a>RIA</h3><h4><a
name="SunetLWUIT"></a>Sun et LWUIT</h4><p>Dans cet <a
href="http://www.infoq.com/news/2008/08/lwuit" title="article de R.J. Lorimer" >article de R.J. Lorimer</a>, celui-ci nous parle de l&#8217;annonce de Sun de la librairie <a
href="https://lwuit.dev.java.net/" title="LWUIT (Lightweight UI Toolkit)" >LWUIT (Lightweight UI Toolkit)</a> qui vient de passer en licence GPLv2. Pour rappel, cette librairie, présentée lors du JavaOne 2008, fournit des composants graphiques pour le développement d&#8217;applications mobiles (Java ME). Se basant sur la philosophie Swing, LWUIT permet de gérer des animations et autres effets avec un ensemble de widgets. Le site du <a
href="https://lwuit.dev.java.net/" title="projet" >projet</a> nous montre des vidéos assez alléchantes.<br
/> A noter une activité grandissante autour de cette librairie comme le témoigne le <a
href="http://forums.java.net/jive/forum.jspa?forumID=139" title="forum actif" >forum actif</a>, ou bien encore le <a
href="http://lwuit.blogspot.com/" title="blog de l'un des développeurs Shai Almog" >blog de l&#8217;un des développeurs Shai Almog</a>.<br
/> Par ailleurs, <a
href="http://blog.xebia.fr/2008/05/13/revue-de-presse-xebia-56/" title="lors de l'une de nos revue de presse" >lors de l&#8217;une de nos revue de presse</a>, nous vous parlions de <a
href="http://www.adobe.com/openscreenproject/" title="l'Open Screen Project" >l&#8217;Open Screen Project</a> d&#8217;Adobe qui avait décidé de s&#8217;ouvrir à la téléphonie mobile (et plus généralement à tous les devices). Cela témoigne ainsi de la volonté de Sun de vouloir s&#8217;engager sur le même terrain qu&#8217;Adobe et de vouloir s&#8217;imposer sur ce marché afin de faire tourner des applications <a
href="http://javafx.com/" title="JavaFX" >JavaFX</a> sur Java ME.<br
/> Enfin à noter le <a
href="http://www.jroller.com/vprise/entry/how_portable_is_lwuit" title="portage de LWUIT sur Androïd" >portage de LWUIT sur Androïd</a>, à suivre&#8230;</p><h4><a
name="SortieGWT"></a>Sortie GWT 1.5</h4><p>Bruce Johnson <em>tech lead</em> du <a
href=" http://code.google.com/webtoolkit/" title="Google Web Toolkit" >Google Web Toolkit</a> annonce, 1 an après la sortie de la <a
href="http://googlewebtoolkit.blogspot.com/2007/08/gwt-14-release-and-out-of-beta.html" title="version 1.4" >version 1.4</a> et deux semaines après la <a
href="http://googlewebtoolkit.blogspot.com/2008/08/gwt-15-rc2-now-available.html" title="RC 2" >RC 2</a>, l&#8217;arrivée de GWT 1.5. Pour mémoire GWT est un framework <em>client-centric</em> permettant de générer la partie client (Html et Javascript) à partir d&#8217;un code entièrement écrit en Java. Pour cela, GWT dispose d&#8217;une bibliothèque permettant d&#8217;<a
href="http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5&#038;s=google-web-toolkit-doc-1-5&#038;t=RefJreEmulation" title="émuler le fonctionnement d'une mini-JRE" >émuler le fonctionnement d&#8217;une mini-JRE</a>.<br
/> La liste des nouveautés arrivant avec cette nouvelle version est plutôt alléchante :</p><ul><li>GWT offre <strong>enfin</strong> une compatibilité avec Java 5 : l&#8217;utilisation des génériques, de l&#8217;autoboxing, des énumérations &#8230; est maintenant rendue possible.</li><li>GWT en a profité pour étoffer les fonctionnalités de son <em>emulated JRE</em> en ajoutant le support des classes aussi populaires que <code>StringBuilder</code>, <code>TreeMap</code>.</li><li>L&#8217;interopérabilité avec des classes écrites manuellement en <a
href="http://googlewebtoolkit.blogspot.com/2008/08/getting-to-really-know-gwt-part-2.html" title="Javascript ou JSon" >Javascript ou JSon</a> est également simplifiée.</li><li>Ces nouveautés s&#8217;accompagnent d&#8217;une première gestion de l&#8217;<a
href="http://fr.wikipedia.org/wiki/Accessibilit%C3%A9_du_Web" title="accessibilité du Web" >accessibilité du Web</a></li><li>La gestion des performances est accrue.</li></ul><p>Malgré le retard de cette release (environ 5 mois), celle-ci offre un lot de nouvelles fonctionnalités intéressantes. Encore faut-il que ce mode de développement un peu particulier ne vous rebute pas.</p><ul><li><a
href="http://googlewebtoolkit.blogspot.com/2008/08/gwt-15-now-available.html" title="Annonce de la sortie de GWT 1.5" >Annonce de la sortie de GWT 1.5</a> sur le blog de Bruce Johnson</li><li>Démarrez avec GWT : <a
href="http://code.google.com/webtoolkit/gettingstarted.html" title="Quick start" >Quick start</a>, <a
href="http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5&#038;s=google-web-toolkit-doc-1-5&#038;t=GettingStarted" title="Tutorial" >Tutorial</a></li><li><a
href="http://gwt.google.com/samples/Showcase/Showcase.html" title="Application GWT qui présente les widgets natifs" >Application GWT qui présente les widgets natifs</a></li></ul><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="Lessixcommandementsdelarchitec"></a>Les six commandements de l&#8217;architecte</h4><p>Tim High présente dans <a
href="http://timhigh.wordpress.com/2008/08/05/architect-commandments/" title="Architect Commandments" >Architect Commandments</a> les six qualités essentielles d&#8217;un architecte :<br
/> 1) <strong>Se concentrer sur la valeur métier</strong> : bien que nous ayons parfois tendance à l&#8217;oublier, l&#8217;informatique est au service du métier. Et les projets ne doivent pas servir à mettre en avant les technologies que nous maitrisons, ou que nous aimerions découvrir.<br
/> 2) <strong>Remettre en question et clarifier les suppositions</strong> : les projets informatiques regorgent de choix imputés à d&#8217;obscures raisons historiques ou à des rumeurs, aussi bien fonctionnelles que techniques. Il est important de toutes les tracer : être à l&#8217;écoute des nouvelles technologies les plus pertinentes par rapport aux projets en cours, les décisions reposant sur des suppositions, afin de pouvoir justifier et/ou remettre en question ces choix &#8216;historiques&#8217;.<br
/> 3) <strong>Donner le pouvoir à l&#8217;équipe</strong> : vos décisions d&#8217;architecture sont mises en œuvre par une équipe de développeurs. Vous devez donc aussi vous comporter en leader, et donner : être un leader, mais pas au sens premier, c&#8217;est-à-dire être un partenaire, un consultant. En résumé être un conseillé de haut niveau, qui accepte le dialogue, donne les moyens à vos équipes de créer ce que vous avez imaginé. Ce qui implique de supprimer tous les obstacles se dressant devant eux, mettre à leur disposition les outils qui leur permettront d&#8217;avancer plus facilement mais surtout de les écouter : ils ont la connaissance &#8216;du terrain&#8217; et vous feront remonter des faits, voire des solutions, souvent pleines de bon sens et en prise avec la réalité.<br
/> 4) <strong>Avoir les yeux grand ouverts</strong> : les technologies sont en permanente ébullition, et nous nous devons d&#8217;être à l&#8217;écoute de ces changements, afin d&#8217;offrir à nos clients (et à nos équipes), le meilleur de la technologie. Cependant, attention au revers de la médaille : nos projets ne peuvent en aucun cas être des laboratoires permanents. Le rôle de l&#8217;architecte est donc d&#8217;être au fait des avancées technologiques, mais aussi de les filtrer, afin d&#8217;appliquer à son (ses) projet(s) les plus pertinentes<br
/> 5) <strong>Faire des choix</strong> : il vaut mieux prendre des décisions et se préparer à changer de direction que de tergiverser indéfiniment. L&#8217;expérience montre que l&#8217;absence de décision est souvent plus préjudiciable que le mauvais choix. L&#8217;architecte doit se mouiller et mettre &#8216;sa tête sur le billot&#8217;, quitte à revenir sur sa décision.<br
/> 6) <strong>Montrer la voie</strong> : attention, nous ne parlons pas ici d&#8217;un architecte muré dans ses certitudes (et dans sa tour d&#8217;ivoire). Mais plutôt d&#8217;un architecte qui est un membre de l&#8217;équipe, qui certes prend des décisions, donne les grandes orientions, mais qui les explique, les justifie, les nuance voire les remet en cause avec son équipe. Il doit se donner les moyens de mettre tout le monde dans le même sens.</p><p>A ces 6 commandements, nous aimerions en ajouter un septième, tiré de nos expériences :<br
/> 7) <strong>Faire simple et stupide</strong> : la grande force d&#8217;un architecte, c&#8217;est de décomposer les problématiques complexes en problèmes élémentaires, et y apporter des solutions simples. Cette décomposition présente aussi l&#8217;avantage d&#8217;appliquer plus facilement les points énumérés ci dessus.</p><h4><a
name="RplicationavecSubversion"></a>Réplication avec Subversion 1.5</h4><p>John Ferguson Smart présente dans <a
href="http://weblogs.java.net/blog/johnsmart/archive/2008/08/replication_in.html" title="Replication in Subversion 1.5" >Replication in Subversion 1.5</a> la réplication de dépôt de source dans <a
href="http://subversion.tigris.org" title="Subversion" >Subversion</a>.<br
/> C&#8217;est une nouvelle fonctionnalité depuis Subversion 1.4.<br
/> Cette fonctionnalité peut être implémentée par l&#8217;outil de Subversion : <a
href="http://svnbook.red-bean.com/en/1.4/svn.ref.svnsync.html" title="svnsync" >svnsync</a><br
/> Voici les quelques commandes à lancer pour mettre en place un dépôt de source miroir qui contiendra un copie du dépôt de source existant :</p><pre class="brush: java; title: ; notranslate">
$ svnadmin create /var/svn/repos-mirror
$ svnsync init svn://svnmirror svn://svnrepos
# Lancement manuel de la synchronisation
$ svnsync sync svn://svnmirror
</pre><p>En utilisant cette fonctionnalité et Apache, on peut aussi réaliser une distribution de dépôt de source afin de limiter le trafic réseau. Il est important de noter que les dépôts de source miroirs sont en lecture seule. Par exemple, cela reste utile pour un outil d&#8217;intégration continue. Ce dernier, au lieu d&#8217;utiliser le dépôt de source existant, utilisera le code source du dépôt du miroir, en s&#8217;assurant que le code source pris soit bien à jour.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/09/01/revue-de-presse-xebia-72/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/08/25/revue-de-presse-xebia-71/</link> <comments>http://blog.xebia.fr/2008/08/25/revue-de-presse-xebia-71/#comments</comments> <pubDate>Mon, 25 Aug 2008 17:33:05 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[Tomcat]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=595</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Oracle BEA Workshop 10.3 gratuit Agilité Vaincre la résistance au changement RIA FireFox Just In Time Compilateur Le coin de la technique Tuning et optimisation de Tomcat : mod_jk est mort ! Longue vie à mod_proxy_http ! Les pires pratiques [...]]]></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 de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/08/25/revue-de-presse-xebia/#OracleBEAWorkshopgratuit">Oracle BEA Workshop 10.3 gratuit</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/08/25/revue-de-presse-xebia/#Vaincrelarsistanceauchangement">Vaincre la résistance au changement</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/08/25/revue-de-presse-xebia/#FireFoxJustInTimeCompilateur">FireFox Just In Time Compilateur</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/08/25/revue-de-presse-xebia/#TuningetoptimisationdeTomcatmo">Tuning et optimisation de Tomcat : mod_jk est mort ! Longue vie à mod_proxy_http !</a></li><li><a
href="http://blog.xebia.fr/2008/08/25/revue-de-presse-xebia/#Lespirespratiquesdessystmesdis">Les pires pratiques des systèmes distribués</a></li></ul><p><strong>Evènements de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/08/25/revue-de-presse-xebia-71/#DesnouveauxJUG">Des nouveaux JUG !</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="OracleBEAWorkshopgratuit"></a>Oracle BEA Workshop 10.3 gratuit</h4><p>Avec la sortie enfin officielle, sûrement retardée avec la fusion Oracle / BEA, de la <a
title="nouvelle version de Weblogic (WLS 10.3)" href="http://m-button.blogspot.com/2008/08/weblogic-103-has-been-released-what-new.html">nouvelle version de Weblogic (WLS 10.3)</a>, Oracle a décidé d&#8217;offrir gratuitement l&#8217;outil de développement associé depuis longtemps avec la suite Weblogic Platform: Workshop. Jusqu&#8217;à la version 8.1, cet outil écrit en Swing  était propriétaire et extrêmement fermé. Suite au <a
title="rachat en 2005 de la société M7" href="http://fr.bea.com/actualites/2005/2809_bea_rachete_M7.jsp">rachat en 2005 de la société M7</a>, BEA avait complètement refondu WorkShop 9 en l&#8217;intégrant à la plateforme Eclipse. Cet outil était décomposé en 2 :</p><ul><li>un ensemble de plugins qui permettait de gérer le serveur d&#8217;application Weblogic Server (gratuit) sous WTP</li><li>un ensemble de plugins qui apportait des fonctions avancées de développement, extrêmement efficace mais payant.</li></ul><p>Dans un monde ou les outils gratuits sont légions, Workshop avait peu à peu perdu du terrain et commençait à disparaitre. Avec sa gratuité, Oracle espère sûrement devenir (enfin) un acteur majeur du développement Java/JEE. Il reste cependant une question: Quid de JDevelopper ?</p><ul><li><a
title="Oracle Removes Licensing for Workshop Eclipse Plug-ins" href="http://java.dzone.com/announcements/oracle-removes-licensing-works">Oracle Removes Licensing for Workshop Eclipse Plug-ins</a></li><li><a
title="Oracle Delivers Oracle WebLogic Server 10g Release 3" href="http://www.theserverside.com/news/thread.tss?thread_id=50305">Oracle Delivers Oracle WebLogic Server 10g Release 3</a></li></ul><h3><a
name="Agilit"></a>Agilité</h3><h4><a
name="Vaincrelarsistanceauchangement"></a>Vaincre la résistance au changement</h4><p>Mark Levinson raconte sur <a
title="InfoQ" href="http://www.infoq.com/news/2008/08/overcoming_resistance">InfoQ</a> une session animée par <a
title="Dave Nicolette" href="http://submissions.agile2008.org/user/419">Dave Nicolette</a> et <a
title="Lasse Koskela" href="http://submissions.agile2008.org/user/349">Lasse Koskela</a> lors de la conférence <a
title="Agile 2008" href="http://blog.xebia.fr/2008/08/11/revue-de-presse-xebia-69/#AgileLasagessedesfoules">Agile 2008</a> : <a
title="Overcoming Resistance to Change" href="http://submissions.agile2008.org/node/1655">Overcoming Resistance to Change</a>.<br
/> Quand on rencontre une résistance au changement, la colère et la frustration prédominent : les résistants sont stupides, bornés, etc. Dave propose d&#8217;être un peu plus constructifs en se mettant à la place des &laquo;&nbsp;résistants&nbsp;&raquo; comme le fait Dale Emery dans <a
title="Rewriting the story of Resistance" href="http://www.ayeconference.com/rewriting-the-story-of-resistance/">Rewriting the story of Resistance</a>.<br
/> La résistance au changement n&#8217;est pas toujours infondée, et dans tous les cas il est important de la comprendre. Les participants ont essayé le jeu de Dale Emery, <a
title="Resistance as a Resource Game" href="http://cwd.dhemery.com/2005/04/raar/">Resistance as a Resource Game</a>, pour trouver des idées pour répondre à cette résistance au changement.</p><p>Les raisons de résistance au changement peuvent être classées en 3 types :</p><ul><li>Cognitif : je ne comprends pas ce qui devrait changer, les bénéfices ou comment le changer</li><li>Emotionnel : est-ce que je peux faire ça ? Est-ce que je vais aimer ça ? Est-ce que je me sens menacé ?</li><li>Comportemental : je refuse qu&#8217;on me dise quoi faire</li></ul><p>Afin de surmonter la résistance, Dave et Lasse conseillent de n&#8217;utiliser que les trois premières des <a
title="six approches du changement de Kotter et Schlesinger" href="http://www.12manage.com/methods_kotter_change_approaches_fr.html">six approches du changement de Kotter et Schlesinger</a> :</p><ul><li>Facilitation : aider les employés à gérer leurs craintes pendant la période de transition</li><li>Education : communiquer/informer en amont sur l&#8217;effort de changement pour aider les employés à voir la logique de cet effort</li><li>Participation : impliquer les employés dans l&#8217;effort de changement</li></ul><p>Johanna Rothman ajoute avec sagesse que lorsqu&#8217;on voit de la résistance, il s&#8217;agit peut-être du reflet de notre propre résistance.</p><h3><a
name="RIA"></a>RIA</h3><h4><a
name="FireFoxJustInTimeCompilateur"></a>FireFox Just In Time Compilateur</h4><p>Firefox annonce la sortie de TraceMonkey (son <a
title="JIT" href="http://en.wikipedia.org/wiki/Just-in-time_compilation">JIT</a> JavaScript compiler), inclus dans la version 3.1 du navigateur. La réduction des temps d&#8217;exécution de code JavaScript dans les navigateurs web est indispensable avec l&#8217;utilisation croissante des frameworks du type Ajax.</p><p>Les benchmarks effectués par <a
title="Mozilla" href="http://weblogs.mozillazine.org/roadmap/archives/2008/08/tracemonkey_javascript_lightsp.html">Mozilla</a> parlent d&#8217;eux même : par exemple plus de 6 fois plus rapide pour la manipulation de matrice ou d&#8217;image entre Firefox 3.0 et 3.1<br
/> C&#8217;est ce type de renforcement qui permettrait aux applications Web utilisant les navigateurs comme environnement d&#8217;exécution (framework de type Ajax) de se relancer dans le combat des RIA face aux plugins comme Flex et SilverLight.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="TuningetoptimisationdeTomcatmo"></a>Tuning et optimisation de Tomcat : mod_jk est mort ! Longue vie à mod_proxy_http !</h4><p>Mark Thomas, Spring Source, présente dans <a
title="Optimising and Tuning Apache Tomcat" href="https://www323.livemeeting.com/cc/8000083756/view?id=5M75KR">Optimising and Tuning Apache Tomcat</a> (<a
title="pdf" href="http://www.springsource.com/files/OptimizingAndTuningApacheTomcat.pdf">pdf</a>) les éléments clefs pour assurer la haute performances d&#8217;applications déployées sur Tomcat.</p><p>Le point probablement le plus surprenant de cette présentation est la technique dorénavant préconisée pour connecter Tomcat à Apache HTTP : <strong>le couple extrêmement répandu</strong> <a
title="mod_proxy_http" href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html">mod_proxy_http</a> <strong>/</strong> <a
title="mod_proxy_balancer" href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html">mod_proxy_balancer</a> <strong>est dorénavant préconisé pour connecter Tomcat à Apache HTTP</strong>. Le protocole HTTP est aujourd&#8217;hui plus fiable que l&#8217;historique <a
title="AJP" href="http://en.wikipedia.org/wiki/Apache_JServ_Protocol">AJP</a> (Apache JServ Protocol) et les modules mod_proxy_http et mod_proxy_balancer sont sensiblement plus robustes que leur prédécesseur <a
title="mod_jk" href="http://tomcat.apache.org/connectors-doc/">mod_jk</a> (et que son portage <a
title="mod_proxy_ajp" href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html">mod_proxy_ajp</a>). Plus de détails dans <a
title="Connectivity Between the Web Server and Application Server - What are Your Options?" href="http://www.covalent.net/services/training/webinars/Cov3440f6fe1c12184a9fb668fd270a6146/Apache-and-TomcatFinal.ppt">Connectivity Between the Web Server and Application Server &#8211; What are Your Options?</a> (<a
title="vidcast" href="http://www.covalent.net/services/training/webinars_archived.html?webinar_record=Connectivity_Between_the_Web_Server_and_Application_Server.rmv&amp;id=27">vidcast</a> plus étoffé et son <a
title="viewer" href="https://osgroupllc.on.intercall.com/confmgr/installs/MeetingPlayer.exe">viewer</a>) par Jim Jagielski et Filip Hanik, SpringSource/Covalent.</p><p>Par ailleurs, nous avons retenu :</p><ul><li>Les <strong>erreurs récurrentes</strong> du <em>troubleshooting</em> Tomcat sont les mêmes que pour les autres applications :<br
/> - Optimisation inutile de code avant d&#8217;avoir réellement identifié la cause problème.<br
/> - Tests insuffisants  par volume de données ou charge des tests insuffisants.<br
/> - Absence d&#8217;objectif clairs de performances.<br
/> - Trouver <em>au pifomètre</em> les points de contention.<br
/> - Correction du symptôme plutôt que de la cause (ajout de mémoire plutôt que de corriger une fuite de mémoire, etc).</li><li>Les <strong>outils clefs pour identifier les points de contention</strong> sont les logs (applicatives, <a
title="valve AccessLog" href="http://tomcat.apache.org/tomcat-5.5-doc/config/valve.html">valve AccessLog</a> tomcat, jvm, sgbd, serveur web, etc) et les <em>profilers</em> (YourKit, etc).</li><li>Pour la haute disponibilité, en plus de load balancing, Tomcat propose de la réplication de sessions. Cependant, nous noterons que Mark Thomas ne s&#8217;attarde pas sur ce point très délicat et nous remarquerons que les mécanismes de réplication de session de tomcat sont rarement cités pour des architectures de production.</li><li><strong>Pour l&#8217;exploitation, Tomcat est scriptable avec des tâches Ant ou en JMX</strong> grâce à l&#8217;application <a
title="tomcat-manager" href="http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html">tomcat-manager</a>; nous noterons tout de même que cet outillage est pour le moment moins étoffé que celui des serveurs J2EE open source et commerciaux.</li></ul><h4><a
name="Lespirespratiquesdessystmesdis"></a>Les pires pratiques des systèmes distribués</h4><p>&#8230; ou comment s&#8217;assurer d&#8217;obtenir une application non scalable. Nous avons déjà abordé les bonnes pratiques mises en avant par <a
title="Ebay" href="http://blog.xebia.fr/2008/06/02/revue-de-presse-xebia-59/#eBayexposelesgrandsprincipesdu">Ebay</a> ou <a
title="Linked In" href="http://blog.xebia.fr/2008/06/09/revue-de-presse-xebia-60/#LesprincipesarchitecturauxdeLi">Linked In</a>. Pour InfoQ, Brian Zimmer revient au contraire sur <a
title="une collection de mauvaises pratiques" href="http://www.infoq.com/articles/scalability-worst-practices">une collection de mauvaises pratiques</a> qui handicaperont la croissance et l&#8217;adaptabilité de vos applications.</p><ul><li>Ne pas utiliser les middle tiers / API / Pattern à bon escient. Ce n&#8217;est pas parce que vous avez un marteau que tous vos problèmes doivent ressembler à des clous.</li><li>Surexploiter les ressources partagées. Sur les systèmes massivement distribués, les problématiques de temps d&#8217;accès et de disponibilités sont démultipliées et ne peuvent plus être gérées &laquo;&nbsp;à courte vue&nbsp;&raquo;</li><li>Ne pas gérer correctement ses dépendances. Impossible alors de gérer correctement les évolutions des librairies tierces et d&#8217;adresser les problèmes de retro compatibilité.</li><li>Packager son application en mode &laquo;&nbsp;tout ou rien&nbsp;&raquo;. C&#8217;est s&#8217;exposer à avoir une application fourre tout (voire sac de noeuds) qui rend impossible un déploiement modulaire ou une vision orientée service.</li><li>Oublier de gérer les <em>timeouts</em>. Dans un système distribué, il est capital d&#8217;allouer des timeouts aux différents appels inter systèmes pour prévenir les engorgements.</li><li>Le syndrome du chevalier blanc. Il est indispensable de s&#8217;appuyer sur une équipe qui est capable de comprendre et maintenir le système en production, et non pas de se reposer sur les épaules d&#8217;une seule personne qui &#8216;connaîtrait&#8217; l&#8217;ensemble de l&#8217;architecture. Là encore, c&#8217;est l&#8217;idée de modularité, même dans les ressources humaines, qui doit être mise en avant.</li><li>Négliger l&#8217;automatisation. Toutes les tâches qui peuvent l&#8217;être (build, déploiement) doivent être automatisées, afin d&#8217;être reproductibles, et ne pas reposer entièrement sur une seule personne (voir le point précédent).</li><li>Sacrifier la supervision. Pouvoir détecter et diagnostiquer un éventuel goulot d&#8217;étranglement est la clé de voûte des architectures distribuées efficaces.</li></ul><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evènements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="DesnouveauxJUG"></a>Des nouveaux JUG !</h4><p><a
title="Developpez.com" href="http://blog.developpez.com/java?title=inauguration_du_breizhjug_rennes">Developpez.com</a> annonce la création d&#8217;un <a
title="Java User Group" href="http://java.sun.com/community/usergroups/">Java User Group</a> (JUG) Breton : le <a
title="BreizhJug" href="http://www.breizhjug.org/">BreizhJug</a>.<br
/> Inauguration prévue le lundi 15 septembre avec une soirée GWT. Il sera devancé de peu par le <a
title="Nantes-JUG" href="http://www.nantesjug.org/">Nantes-JUG</a> qui ouvrira avec une rencontre sur l&#8217;Intégration Continue le 11 septembre.<br
/> Souhaitons leur autant de succès que le <a
title="Paris JUG" href="http://www.parisjug.org/">Paris JUG</a> !</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/08/25/revue-de-presse-xebia-71/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/07/07/revue-de-presse-xebia-64/</link> <comments>http://blog.xebia.fr/2008/07/07/revue-de-presse-xebia-64/#comments</comments> <pubDate>Mon, 07 Jul 2008 16:17:48 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[Flex]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[REST]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[SCRUM]]></category> <category><![CDATA[SOA]]></category> <category><![CDATA[WebSphere MQ]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/07/07/revue-de-presse-xebia-64/</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Fusion BEA / Oracle : présentation de la stratégie par Oracle Agilité Techniques d&#8217;estimation des user stories Les déboires de Google avec Scrum RIA Le contenu Flash / Flex indexable SOA REST anti patterns Le coin de la technique Bonne [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/07/07/revue-de-presse-xebia-64/#FusionBEAOracleprsentationdela">Fusion BEA / Oracle : présentation de la stratégie par Oracle</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/07/07/revue-de-presse-xebia-64/#Techniquesdestimationdesuserst">Techniques d&#8217;estimation des user stories</a></li><li><a
href="http://blog.xebia.fr/2008/07/07/revue-de-presse-xebia-64/#LesdboiresdeGoogleavecScrum">Les déboires de Google avec Scrum</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/07/07/revue-de-presse-xebia-64/#LecontenuFlashFlexindexable">Le contenu Flash / Flex indexable</a></li></ul><p><strong>SOA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/07/07/revue-de-presse-xebia-64/#RESTantipatterns">REST anti patterns</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/07/07/revue-de-presse-xebia-64/#Bonneutilisationdesgenerics">Bonne utilisation des generics </a></li><li><a
href="http://blog.xebia.fr/2008/07/07/revue-de-presse-xebia-64/#WebsphereMQvunbouleversementdi">Websphere MQ v7 : un bouleversement discret appelé message properties</a></li></ul><h3>Actualité éditeurs / SSII</h3><h4><a
name="FusionBEAOracleprsentationdela"></a>Fusion BEA / Oracle : présentation de la stratégie par Oracle</h4><p>Le 1er juillet 2008 a été annoncée la stratégie d&#8217;intégration des offres BEA par Oracle. Thomas Kurian, patron du middleware chez Oracle, a notamment annoncé que les produits Weblogic et Tuxedo seront intégrés tel que à l&#8217;offre Oracle. Quant aux ESB et aux outils de développement d&#8217;Oracle et BEA, ils fusionnent.</p><p>Plus de détails sur la nouvelle offre Oracle :</p><ul><li><a
href="http://www.informationweek.com/news/software/integration/showArticle.jhtml?articleID=208802028" title="Détails de cette information par InformationWeek" >Détails de cette information par InformationWeek</a></li><li><a
href="http://www.infoq.com/news/2008/07/oracle_weblogic" title="Présentation de cette information par InfoQ" >Présentation de cette information par InfoQ</a></li></ul><h3>Agilité</h3><h4><a
name="Techniquesdestimationdesuserst"></a>Techniques d&#8217;estimation des user stories</h4><p>Jay Fields, consultant chez <a
href="http://www.thoughtworks.com/" title="ThoughtWorks" >ThoughtWorks</a>, présente différentes astuces pour <a
href="http://www.infoq.com/articles/agile-estimation-techniques" title="estimer les user stories" >estimer les user stories</a>. Nous retiendrons :</p><ul><li>Utilisez <strong>4 valeurs</strong>, des <strong>puissances de 2</strong> : 1, 2, 4, 8. De manière générale, un nombre de choix réduit simplifie le vote et les valeurs qui s&#8217;éloignent de plus en plus évitent une fausse précision. La <a
href="http://fr.wikipedia.org/wiki/Nombre_de_Fibonacci" title="suite de Fibonacci" >suite de Fibonacci</a> fonctionne très bien aussi.</li><li><strong>Votez indépendamment</strong> les uns des autres. Des techniques simples comme le jeu <a
href="http://kanemar.com/2006/01/28/story-points-as-spicy-ness-using-rsp-to-estimate-story-points/" title="pierre-feuille-ciseaux" >pierre-feuille-ciseaux</a> ou le <a
href="http://www.planningpoker.com/" title="planning poker" >planning poker</a> permettent de voter simultanément sans être influencé par les autres.</li><li>Les réunions d&#8217;estimation sont rarement un plaisir, motivez l&#8217;équipe avec des croissants par exemple !</li></ul><h4><a
name="LesdboiresdeGoogleavecScrum"></a>Les déboires de Google avec Scrum</h4><p><a
href="http://jeffsutherland.com/scrum/" title="Jeff Sutherland" >Jeff Sutherland</a> revient dans <a
href="http://www.infoq.com/presentations/Agile-Management-Google-Jeff-Sutherland" title="cette présentation" >cette présentation</a> sur la première implémentation de Scrum chez Google.<br
/> En 2001, Google avait de gros problèmes pour tenir ses deadlines. Ils ont commencé à introduire Scrum en utilisant les backlogs et les burndown charts, puis les daily scrums. Pourtant les livraisons continuaient de prendre du retard. Après investigations, ils se sont aperçus que beaucoup de tâches étaient &laquo;&nbsp;en cours&nbsp;&raquo; en même temps. La principale leçon à retenir est de <strong>ne pas se disperser sur trop de tâches</strong>, l&#8217;équipe doit se <strong>focaliser</strong> sur le minimum de tâches possible jusqu&#8217;à ce qu&#8217;elles soient complètement <strong>terminées</strong>.</p><h3>RIA</h3><h4><a
name="LecontenuFlashFlexindexable"></a>Le contenu Flash / Flex indexable</h4><p><a
href="http://www.infoq.com/news/2008/07/flash-content-searchable" title="InfoQ rapporte une avancée majeure pour Adobe" >InfoQ rapporte une avancée majeure pour Adobe</a> : le contenu des applications Flash (et donc Flex) est dorénavant indexable par les principaux moteurs de recherche que sont Google et Yahoo.<br
/> Avec un avantage non négligeable sur Ajax, à savoir que le contenu dynamique, récupéré du serveur est lui aussi indexé.<br
/> Le principe de fonctionnement est original : Adobe fournit à Yahoo et Google un lecteur Flash spécial, optimisé, qui parcourt tout le fichier SWF à la manière d&#8217;un utilisateur : instanciation des différents états de l&#8217;application, récupération des données dynamiques&#8230;<br
/> Aucune intervention des développeurs n&#8217;est nécessaire, aussi bien sur les nouvelles applications que sur les anciennes.<br
/> Certaines fonctionnalités de Flex 3, comme le &laquo;&nbsp;deep linking&nbsp;&raquo; (historique au sein du fichier SWF, bookmark intra-Flash) ne sont pas encore implémentées.</p><p>Un frein (le principal ?) au développement des RIA Flash vient d&#8217;être levé.</p><h3>SOA</h3><h4><a
name="RESTantipatterns"></a>REST anti patterns</h4><p>Stefan Tilkov, éditeur de la communauté InfoQ SOA, présente ses <a
href="http://www.infoq.com/articles/rest-anti-patterns" title="REST Anti Patterns" >REST Anti Patterns</a> :</p><ul><li><strong>Utiliser uniquement des requêtes GET ou uniquement des requêtes POST</strong> : REST utilise la sémantique HTTP avec GET pour les lectures, PUT &#038; DELETE pour les écritures <a
href="http://fr.wikipedia.org/wiki/Idempotence" title="indempotente" >indempotente</a> avec ID et enfin POST pour le reste mais qui est à éviter.</li><li><strong>Ignorer les mécanismes de cache</strong> : le code retour HTTP <code>304 Not Modified</code> et ses headers associés <code>ETag</code>, <code>Expires</code> permettent une grande souplesse de mise en cache par les clients et les proxies pour offrir une très grande tenue à la charge.</li><li><strong>Ignorer les codes retour HTTP</strong> : les codes retour HTTP sont très expressifs (<code>201 Created</code>, <code>406 Not Acceptable</code>, <code>412 Precondition Failed</code>, etc) ; se limiter aux inexpressifs <code>200 OK</code> et <code>500 Internal Server Error</code> nuit à l&#8217;auto-documentation.</li><li><strong>Mal utiliser les cookies</strong> : REST est par essence sans état ; si les cookies peuvent maintenir des informations <em>stateless</em> comme l&#8217;authentification, ils ne doivent en revanche pas porter d&#8217;information <em>stateful</em> ou métier (id, etc).</li><li><strong>Oublier l&#8217;hypermedia</strong> : les hyperliens sont à REST ce que sont les clefs étrangères aux base de données relationnelles. On notera toutefois que l&#8217;utilisation d&#8217;hyperliens est aujourd&#8217;hui très délicate ; <a
href="http://www.w3.org/TR/xlink/" title="xlink" >xlink</a> reste confidentiel pour XML et les équivalents en JSON ou YAML restent à trouver.</li><li><strong>Ignorer les types MIME</strong> : chaque utilisateur a son format de prédilection et se limiter à un seul format limiterait les opportunités de ré-utilisation. On retiendra XML pour java / .Net, <a
href="http://en.wikipedia.org/wiki/JSON" title="JSON" >JSON</a> pour javascript, <a
href="http://en.wikipedia.org/wiki/YAML" title="YAML" >YAML</a> pour Ruby et HTML pour les humains.</li><li><strong>Casser l&#8217;auto-description</strong> : idéalement, tout message devrait contenir suffisamment d&#8217;information (headers, format, etc) pour qu&#8217;un client générique puisse le traiter. Toute invention de header, protocole ou format nuit très fortement à l&#8217;utilisabilité de la ressource.</li></ul><h3>Le coin de la technique</h3><h4><a
name="Bonneutilisationdesgenerics"></a>Bonne utilisation des generics</h4><p>Introduits lors du jdk 5, les génériques sont maintenant utilisés dans la plupart des applications Java. Les développeurs, aussi bien débutants qu&#8217;expérimentés, ont dans l&#8217;ensemble bien compris leurs avantages. Ces &#8216;marqueurs&#8217; permettant de détecter les problèmes de cast dès la compilation ce qui facilitent indéniablement la lecture et l&#8217;auto-documentation du code.</p><p>Si l&#8217;utilisation des génériques est relativement simple à comprendre, cela se complique lorsque vous vous essayez à créer votre propre API. En particulier, l&#8217;utilisation des wildcard n&#8217;est pas triviale. Qui ne s&#8217;est jamais tiré les cheveux pour se demander quand mettre un wildcard. 3 ans après la sortie du jdk 5, êtes-vous familiers avec les formes suivantes ? <code>MyBox&lt;?&gt;</code>, <code>MyBox&lt;? extends T&gt;</code>, <code>MyBox&lt;? super T&gt;</code></p><p>Brian Goetz, l&#8217;auteur du bien connu <a
href=" http://www.javaconcurrencyinpractice.com/" title="Java Concurrency In Practice" >Java Concurrency In Practice</a> revient sur ces notions peu évidentes (cf. le lien en fin d&#8217;article). Pour illustrer cette difficulté, il prend l&#8217;exemple de la classe <code>AbstractExecutorService</code> introduite lors du jdk 5 dont la signature a été modifiée au jdk 6 : personne n&#8217;est à l&#8217;abri d&#8217;une erreur.</p><p><strong>Bonnes pratiques à respecter pour <strong>l&#8217;utilisation</strong> d&#8217;une API utilisant les génériques</strong></p><ul><li>Préférez l&#8217;utilisation des génériques (<code>List&lt;String&gt;</code>) aux types raw traditionnels (<code>List</code>)</li><li>Proscrire les types raw dans du nouveau code</li><li>Eliminez et documentez les warnings &#8216;unchecked&#8217; en utilisant l&#8217;annotation suivante <code>@SuppressWarnings("unchecked")</code> en essayant de minimiser sa portée.</li><li>Privilégiez l&#8217;utilisation des listes (<code>List&lt;String&gt;</code>) aux tableaux (<code>String[]</code>), lorsque le contexte le permet. En effet, les tableaux sont covariants : contrairement aux génériques. (Si une classe A étend B, B[] peut être casté en A[], alors que List&lt;B&gt; ne peut pas être casté en List&lt;A&gt;).</li></ul><p>L&#8217;exemple ci-dessous, tiré du livre <a
href=" http://java.sun.com/docs/books/effective/" title="Effective Java" >Effective Java</a>, montre en quoi la covariance peut-être dangereuse.</p><pre class="brush: java; title: ; notranslate">
// Lance ArrayStoreException au runtime
Object[] testArray = new Long[1] ;
testArray[0] = &quot;Incompatible value&quot;;
// Ne compile pas
List&lt;Object&gt; testList = new ArrayList&lt;Long&gt;();
testList.add(&quot;Incompatible value &quot;);
</pre><p><strong>Bonnes pratiques à respecter pour <strong>la création</strong> d&#8217;une API utilisant les génériques</strong></p><ul><li>Utilisez les types paramétrés simples <code>T</code> lorsque c&#8217;est possible</li><li>Utilisez les wildcards pour rendre vos API plus flexibles</li><li>Utilisez les wildcards lorsque que vous désirez passer un type paramétré en entrée d&#8217;une méthode (remplacer <code>MyBox&lt;T&gt;</code> par <code>MyBox&lt; ? extends T&gt;</code> ou par <code>MyBox&lt;? super T&gt;</code>)</li><li>N&#8217;utilisez pas de wildcard dans les types de retours</li></ul><p>Comment choisir le bon wildcard ? Le get-put principe.</p><ul><li>Méthodes de type GET : utilisez le &#8216;upper bounded wildcard&#8217; (<code>MyBox&lt; ? extends T&gt;</code>) sur les méthodes qui permettent de sortir des données de la structure courante.</li><li>Méthodes de type PUT : utilisez le &#8216;lower bounded wildcard&#8217; (<code>MyBox&lt; ? super T&gt;</code>) sur les méthodes qui font rentrer des données de la structure courante.</li></ul><p>D&#8217;une manière générale, si l&#8217;utilisateur d&#8217;une API se pose la question d&#8217;utiliser un wildcard, c&#8217;est probablement que l&#8217;API a été mal pensée.<br
/> Au final, notons que si l&#8217;utilisation du wildcard <code>extends</code> est relativement répandu, force est de constater que le wildcard <code>super</code> ne se déniche pas encore à tous les coins de rue.</p><p><strong>Consultez l&#8217;article de Brian Goetz :</strong> <a
href="http://www.ibm.com/developerworks/java/library/j-jtp07018.html" title="<strong>Going wild with generics</strong>&nbsp;&raquo; >Going wild with generics</a></p><h4><a
name="WebsphereMQvunbouleversementdi"></a>Websphere MQ v7 : un bouleversement discret appelé message properties</h4><p>Nous avions déjà <a
href="http://blog.xebia.fr/2008/04/07/revue-de-presse-xebia-51/#WebsphereMQV7" title="évoqué les nouveautés de Websphere MQ V7" >évoqué les nouveautés de Websphere MQ V7</a> lors du lancement du programme de beta testing.<br
/> Notre attention s&#8217;était portée sur l&#8217;intégration du moteur de publish/subscribe et l&#8217;amélioration des performances et nous n&#8217;avions pas vu passer une évolution sur la structure même des messages. MQ v7 intègre le principe JMS de propriétés de message sous une forme beaucoup plus simple à utiliser que les anciens &laquo;&nbsp;RFH2 Folders&nbsp;&raquo; qui rebutaient certaines équipes non Java lorsqu&#8217;on leur proposait d&#8217;abandonner le format MQSTR pour bénéficier des propriétés JMS.<br
/> Ces nouveaux Message Properties, toujours transparents pour les développeurs JMS, se manipulent facilement pour les développeurs MQI grâce à l&#8217;introduction des verbes <code>MQSETMP</code> et <code>MQINQMP</code>. Un mode de compatibilité ascendante transforme ces nouveaux Message Properties en header MQRFH2 lorsqu&#8217;ils sont envoyés à d&#8217;anciens Queue Managers.<br
/> On notera par ailleurs que l&#8217;intégration native du mode publish/suscribe dans MQ simplifie l&#8217;utilisation de ce mode pour les développeurs MQI avec la création de nouveaux verbes (<code>MQSUB</code>, &#8230;) qui remplacent les fastidieux headers RFH2.<br
/> Avec ces deux simplifications majeures, l&#8217;utilisation de la richesse de JMS ne devrait plus susciter de réticences dans les équipes MQI.</p><p>Tous les détails dans <a
href="http://www-1.ibm.com/support/docview.wss?uid=swg27012921" title="Websphere Technical Exchange : What is new in WebSphere MQ Version 7" >Websphere Technical Exchange : What is new in WebSphere MQ Version 7</a> et <a
href="ftp://ftp.software.ibm.com/software/websphere/pdf/DRAFT_WebSphere_MQ_V7_Redbook.pdf" title="Redbook (Draft) : WebSphere MQ V7.0 Features and Enhancements" >Redbook (Draft) : WebSphere MQ V7.0 Features and Enhancements</a></p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/07/07/revue-de-presse-xebia-64/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/06/09/revue-de-presse-xebia-60/</link> <comments>http://blog.xebia.fr/2008/06/09/revue-de-presse-xebia-60/#comments</comments> <pubDate>Mon, 09 Jun 2008 17:59:15 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Maven]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[Spring]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/06/09/revue-de-presse-xebia-60/</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Fusion BEA / Oracle Agilité Traçabilité Le coin de la technique Maven et Eclipse : la fin du calvaire ? Les conseils de Ben Alex, Spring Security, pour sécuriser ses applications Retour sur les enumerations avec Joshua Bloch Les principes [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/06/09/revue-de-presse-xebia-60/#FusionBEAOracle">Fusion BEA / Oracle</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/06/09/revue-de-presse-xebia-60/#Traabilit">Traçabilité</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/06/09/revue-de-presse-xebia-60/#MavenetEclipselafinducalvaire">Maven et Eclipse : la fin du calvaire ?</a></li><li><a
href="http://blog.xebia.fr/2008/06/09/revue-de-presse-xebia-60/#LesconseilsdeBenAlexSpringSecu">Les conseils de Ben Alex, Spring Security, pour sécuriser ses applications</a></li><li><a
href="http://blog.xebia.fr/2008/06/09/revue-de-presse-xebia-60/#RetoursurlesenumerationsavecJo">Retour sur les enumerations avec Joshua Bloch</a></li><li><a
href="http://blog.xebia.fr/2008/06/09/revue-de-presse-xebia-60/#LesprincipesarchitecturauxdeLi">Les principes architecturaux de LinkedIn</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="FusionBEAOracle"></a>Fusion BEA / Oracle</h4><p>Le 1er juillet 2008, un <a
href=" http://www.oracle.com/webapps/events/EventsDetail.jsp?p_eventId=81641&#038;src=6652055&#038;src=6652055&#038;Act=12" title="webcast" >webcast</a> public annoncera (enfin) comment seront intégrés les produits BEA dans la suite Oracle Fusion Middleware.</p><h3><a
name="Agilit"></a>Agilité</h3><h4><a
name="Traabilit"></a>Traçabilité</h4><p>La communauté agile relance le débat sur l&#8217;<a
href="http://www.infoq.com/news/2008/06/agile-traceability-matrix" title="utilité des matrices de traçabilité des exigences" >utilité des matrices de traçabilité des exigences</a> dans les projets agiles, à travers ce fil de discussion rapporté par InfoQ :</p><ul><li>Il faut déjà distinguer le besoin de traçabilité et la <a
href="http://en.wikipedia.org/wiki/Traceability_matrix" title="matrice de traçabilité" >matrice de traçabilité</a> qui n&#8217;est qu&#8217;une implémentation.</li><li>Si la traçabilité est demandée, il faut poser les questions : pourquoi faire ? sous quelle forme ? la valeur ajoutée est-elle supérieure au coût ?</li></ul><p>Sur l&#8217;un de ses projets, <a
href="http://alistair.cockburn.us/" title="Alistair Cockburn" >Alistair Cockburn</a> raconte qu&#8217;après étude du coût de l&#8217;installation d&#8217;un outil de traçabilité et de sa maintenance, la traçabilité a simplement été enlevée du contrat.</p><ul><li><a
href="http://en.wikipedia.org/wiki/Ron_Jeffries" title="Ron Jeffries" >Ron Jeffries</a> propose de faire les changements et de voir quels tests échouent pour voir les impacts.</li></ul><p>La communauté agile est en accord et pose la question : Y&#8217;a t-il un réel besoin de traçabilité ? Même si c&#8217;est le cas, la matrice de traçabilité est une solution trop coûteuse. Les besoins de traçabilité peuvent être couverts par la pratique du <a
href="http://fr.wikipedia.org/wiki/Test_Driven_Development" title="TDD" >TDD</a> et l&#8217;utilisation d&#8217;outils simples comme un système de contrôle de versions (SVN), un outil de gestion des bugs/changements (JIRA), un wiki, etc.</p><p>La discussion complète est sur <a
href="http://tech.groups.yahoo.com/group/agile-testing/messages/13305?threaded=1&#038;m=e&#038;var=1&#038;tidx=1" title="Yahoo! Tech groups - Requirement Traceability Matrix and Agile Testing" >Yahoo! Tech groups &#8211; Requirement Traceability Matrix and Agile Testing</a>.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="MavenetEclipselafinducalvaire"></a>Maven et Eclipse : la fin du calvaire ?</h4><p>Qui n&#8217;a jamais râlé à propos de l&#8217;intégration Maven dans Eclipse ?</p><p>Et bien une page est en train de se tourner, dans le <a
href="http://blog.octo.com/index.php/2008/06/02/122-maven-community-news-mai-2008" title="Maven Community News" >Maven Community News</a> de mois de mai, Arnaud Héritier annonce l&#8217;entrée des plugins IAM (Q4E) et M2E (m2Eclipse) dans l&#8217;incubateur Eclipse.</p><p>Jusqu&#8217;à présent, seul Ant disposait d&#8217;une intégration fine à Eclipse. Sans la participation ni communication active de la communauté Eclipse, les plugins Maven étaient amenés à effectuer des soudures par leurs propres moyens. Ce qui explique certainement la relative non-fiabilité des plugins existants.</p><p>Pour sa prochaine release, Eclipse a finalement changé son fusil d&#8217;épaule, relançant de plus belle la compétition entre les deux plugins (cf les scopes <a
href="http://www.eclipse.org/proposals/iam/" title="IAM" >IAM</a> et <a
href="http://www.eclipse.org/proposals/m2e/" title="M2E" >M2E</a>). Nous pouvons espérer la sortie officielle d&#8217;un plugin de qualité dans un futur proche.</p><h4><a
name="LesconseilsdeBenAlexSpringSecu"></a>Les conseils de Ben Alex, Spring Security, pour sécuriser ses applications</h4><p>Ben Alex, <a
href="http://static.springframework.org/spring-security/site/" title="Spring Security" >Spring Security</a> (ex Acegi Security), a présenté JavaOne 2008 dans <a
href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-6348&#038;yr=2008&#038;track=javaee" title="addressing tomorrow's security requirements in enterprise applications" >addressing tomorrow&#8217;s security requirements in enterprise applications</a> les enjeux de sécurité des applications java. Nous retiendrons ses <em>tuyaux</em> pour les applications d&#8217;entreprise :</p><ul><li>Utiliser un framework de sécurité éprouvé plutôt que de réécrire le sien</li><li>Commencer simplement et ajouter incrémentalement la complexité</li><li>Anticiper les besoins d&#8217;enregistrement des utilisateurs</li><li>Planifier la fédération des identités, particulièrement avec <a
href="http://fr.wikipedia.org/wiki/Openid" title="OpenID" >OpenID</a> [1]</li><li>Pour les applications internes, considérer <a
href="http://fr.wikipedia.org/wiki/NTLM" title="NTLM" >NTLM</a> et <a
href="http://www.ja-sig.org/products/cas/" title="CAS" >CAS</a></li><li>Utiliser les techniques de <a
href="http://fr.wikipedia.org/wiki/Captcha" title="Captcha" >Captcha</a> pour limiter les attaques par <a
href="http://fr.wikipedia.org/wiki/D%C3%A9ni_de_service" title="déni de service" >déni de service</a> (DoS)</li><li>Préférer les autorisations sur les méthodes Java aux autorisations web sur les URL</li><li>Décrire les métas-données d&#8217;autorisation avec des annotations est simple et rapide</li><li>Considérer avec la plus grande attention la sécurité des objets de domaine</li><li>Préférer la Basic authentication sur HTTPS pour les interactions <a
href="http://fr.wikipedia.org/wiki/Representational_state_transfer" title="REST" >REST</a></li><li>Utiliser la richesse des standards <a
href="http://fr.wikipedia.org/wiki/WS-Security" title="Web Services Security" >Web Services Security</a> (WSS) pour les échanges SOAP indépendants du transport (HTTP, JMS, etc)</li></ul><p>[1] On se souviendra tout de même des reproches actuellement faits à OpenID (cf. <a
href="http://idcorner.org/2007/08/22/the-problems-with-openid/" title="The problem with OpenID" >The problem with OpenID</a>, The Identity Corner)</p><h4><a
name="RetoursurlesenumerationsavecJo"></a>Retour sur les enumerations avec Joshua Bloch</h4><p>Joshua Bloch, l&#8217;auteur d&#8217;<a
href="http://www.amazon.fr/Effective-Java-Joshua-Bloch/dp/0321356683/ref=sr_1_1?ie=UTF8&#038;s=english-books&#038;qid=1212967058&#038;sr=8-1" title="Effective Java" >Effective Java</a>, a rappelé à JavaOne 2008 dans <a
href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-6623&#038;yr=2008&#038;track=javase" title="More Effective Java" >More Effective Java</a> le vaste champ d&#8217;application des énumérations. Nous retiendrons :</p><ul><li>Ne pas utiliser <code>ordinal</code> pour porter des données de type entier ; utiliser un champ <code>int</code></li><li>Ne pas utiliser de bit fields ; utiliser un <code>EnumSet</code></li><li>Ne pas utiliser <code>ordinal</code> pour pour indexer les tableaux ; utiliser <code>EnumMap</code></li><li>Ne pas utiliser <code>readResolve</code> pour un singleton serializable ; utiliser une <code>enum</code></li><li>Simuler l&#8217;extensibilité des énumérations avec des interfaces</li></ul><p>Nous ne reviendrons pas sur le débat &laquo;&nbsp;Les énumérations sont un mauvais pattern car elles empêchent l&#8217;extensibilité&nbsp;&raquo;. Si ce reproche est parfois justifié, nous retiendrons que Joshua Bloch propose le pattern des interfaces pour maîtriser ce risque et qu&#8217;il n&#8217;a jamais été aussi facile de refactorer et recompiler une application. Quant à la demande d&#8217;évolution <em>&laquo;&nbsp;ajouter un troisième sexe en plus de <code>Gender.MALE</code> et <code>Gender.FEMALE</code>&laquo;&nbsp;</em>, &#8230;</p><h4><a
name="LesprincipesarchitecturauxdeLi"></a>Les principes architecturaux de LinkedIn</h4><p>La semaine dernière, nous reprenions dans la revue de presse un article sur <a
href="http://blog.xebia.fr/2008/06/02/revue-de-presse-xebia-59/#eBayexposelesgrandsprincipesdu" title="les grands principes architecturaux de eBay" >les grands principes architecturaux de eBay</a>.<br
/> Lors du <a
href="http://java.sun.com/javaone/sf/index.jsp" title="JavaOne 2008" >JavaOne 2008</a>, c&#8217;est le site communautaire LinkedIn qui s&#8217;est dévoilé.<br
/> Nous reprenons ici les grandes lignes des 2 présentations suivantes : <a
href="http://www.slideshare.net/linkedin/linked-in-javaone-2008-tech-session-comm" title="LinkedIn Communication Architecture" >LinkedIn Communication Architecture</a> et <a
href="http://www.slideshare.net/linkedin/linkedins-communication-architecture" title="LinkedIn : a professional social network..." >LinkedIn : a professional social network&#8230;</a></p><p>Commençons par <strong>quelques chiffres</strong>. LinkedIn c&#8217;est :</p><ul><li>22 millions de membres</li><li>4+ millions de visiteurs uniques par mois</li><li>40 millions de pages vues par jour</li><li>2 millions de courriels envoyés par jour</li></ul><p><strong>Architecture physique</strong></p><ul><li><strong>100% Java</strong></li><li>Tomcat et Jetty, sur Solaris</li><li>Oracle et MySQL, interrogés directement en JDBC (pas de mapping Objet / Relationnel)</li><li>ActiveMQ comme système de messaging</li><li>Lucene comme base de la fonction de recherche</li><li>Spring pour la communication entre éléments</li></ul><p>Pratique intensive de l&#8217;<strong>Agilité</strong></p><ul><li>Accent fort porté sur le test</li><li>Cycles de développements courts (2 à 4 semaines)</li><li>Découpage des développements en petites unités</li><li>Peu de réunions formelles, utilisation de réunion de type &#8216;stand-up&#8217;</li><li>Plus de 6500 tests unitaires et 500 tests de l&#8217;IHM</li><li>Intégration continue avec <strong>Hudson</strong>, nightly builds</li><li>Utilisation de Mock pour réduire la redondance des tests d&#8217;intégration</li><li>Refactoring constant</li></ul><p>Architecture <strong>orientée service</strong></p><ul><li>La webApp présente l&#8217;interface graphique aux utilisateurs mais s&#8217;appuie sur une couche de Services.</li><li>Chaque Service utilise sa propre &#8216;partition&#8217; de base de données (partitionnement &#8216;fonctionnel&#8217;)</li><li>Utilisation de répliques de la DB, et distribution des mises à jour, à partir du master, par l&#8217;utilisation d&#8217;un bus d&#8217;évènements</li><li>Utilisation massive de flux asynchrones</li><li>Découpler au maximum les interactions entre service, ce qui permet de réduire les inter dépendances du code.</li><li>Cette architecture est scalable service par service</li></ul><p>Un <strong>serveur est dédié à la représentation</strong> de l&#8217;ensemble du réseau LinkedIn (The Cloud)</p><ul><li>Représentation de la totalité de l&#8217;arbre en mémoire (22 millions de noeuds, 140 millions de liens)</li><li>L&#8217;arbre consomme 12 Go de RAM sur 40 instances</li><li>La reconstruction du réseau <em>from scratch</em> prend plus de 8 heures</li><li>L&#8217;arbre est mis à jour en temps réel par le bus d&#8217;évènements</li><li>Ce choix découle directement de la difficulté fonctionnelle à partionner l&#8217;arbre</li></ul><p><strong>Grands principes de scaling</strong> (les <u>points soulignés</u> sont les mêmes que ceux exposés par eBay)</p><ul><li><u>Partionner par domaines fonctionnels</u></li><li>Le partitionnement rend difficile l&#8217;intégrité référentielle cross domaine</li><li><u>L&#8217;intégrité totale des données n&#8217;existe pas</u></li><li>A grande échelle, les coûts matériels deviennent un problème à prendre en compte</li><li>Les spammers et les &#8216;voleurs de données&#8217; sont un problème</li><li><u>Utiliser le cache</u>, même s&#8217;il a une efficacité limitée</li><li><u>Utiliser des traitements asynchrones</u></li><li>Les tâches d&#8217;analyse et de consolidation de rapport doivent être prises en compte dès le design initial</li><li>Prévoir les cas d&#8217;échec du système, ils ne manqueront pas de se produire</li><li>Ne sous estimez pas la croissance de votre site</li></ul><p>Pourquoi <strong>préférer Java</strong></p><ul><li>Avec plus d&#8217;1 million de lignes de code, Java permet :<ol><li>De refactorer en toute confiance</li><li>De naviguer facilement dans le code source</li><li>De maintenir une vingtaine de branches en parallèle, le compilateur aidant à réaliser la fusion</li></ol></li><li>Il est facile de faire monter l&#8217;équipe en puissance :<ol><li>Plus de 8 équipes, 50 ingénieurs, en constante augmentation</li><li>Il est facile de trouver des développeurs Java de talent</li></ol></li><li>La communauté Java est grande et active</li></ul><p><strong>Conclusion</strong></p><p>Comme on peut le voir, l&#8217;architecture de LinkedIn a beaucoup de points communs avec celle d&#8217;eBay, en particulier lorsque l&#8217;on s&#8217;intéresse de près aux concepts qui permettent à ces deux sites d&#8217;offrir un service performant à des millions d&#8217;abonnés. Ces grands principes architecturaux apparaissent donc comme incontournables pour toute application visant à supporter une lourde charge.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/06/09/revue-de-presse-xebia-60/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/03/31/revue-de-presse-xebia-50/</link> <comments>http://blog.xebia.fr/2008/03/31/revue-de-presse-xebia-50/#comments</comments> <pubDate>Mon, 31 Mar 2008 16:17:34 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[GlassFish]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[SCRUM]]></category> <category><![CDATA[Spring]]></category> <category><![CDATA[Weblogic]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/03/31/revue-de-presse-xebia-50/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII GlassFish et MySQL, premiers signes d&#8217;intégration IBM investit dans EnterpriseDB DomainHealth : Un outil de monitoring pour les serveurs Weblogic (9 &#38; 10) Agilité Certification ScrumMaster, on en parle Le coin de la technique Spring WS 1.5 : un fort [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/03/31/revue-de-presse-xebia-50/#GlassFishMySQL">GlassFish et MySQL, premiers signes d&#8217;intégration</a></li><li><a
href="http://blog.xebia.fr/2008/03/31/revue-de-presse-xebia-50/#IBM">IBM investit dans EnterpriseDB</a></li><li><a
href="http://blog.xebia.fr/2008/03/31/revue-de-presse-xebia-50/#DomainHealth">DomainHealth : Un outil de monitoring pour les serveurs Weblogic (9 &amp; 10)</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/03/31/revue-de-presse-xebia-50/#CertificationScrumMaster">Certification ScrumMaster, on en parle</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/03/31/revue-de-presse-xebia-50/#SpringWS">Spring WS 1.5 : un fort potentiel à concrétiser</a></li><li><a
href="http://blog.xebia.fr/2008/03/31/revue-de-presse-xebia-50/#SpringJavaConfiguration">Milestone 3 pour Spring Java Configuration</a></li></ul><hr/><h3>Actualité éditeurs / SSII</h3><h4><a
name="GlassFishMySQL"></a>GlassFish et MySQL, premiers signes d&#8217;intégration</h4><p>L&#8217;intégration de MySQL au groupe Sun Microsystem n&#8217;a pas tardé. Alexis Moussine-Pouchkine nous présente dans <a
href="http://blogs.sun.com/alexismp/entry/mysql_et_glassfish_dans_un">MySQL et GlassFish dans un bateau</a> l&#8217;intégration du serveur Open Source Glassfish à la célèbre base de données. On y découvre notamment les tarifs des contrats de support et de maintenance, des éléments décisifs pour les équipes d&#8217;exploitation.</p><h4><a
name="IBM"></a>IBM investit dans EnterpriseDB</h4><p><a
href="http://www.enterprisedb.com/">EnterpriseDB</a> vient d&#8217;<a
href="http://www.enterprisedb.com/about/news_events/press_releases/03_25_08a.do">annoncer</a> une levée de fonds de 10 millions de dollars, dont l&#8217;un des principaux investisseurs n&#8217;est autre que IBM. L&#8217;éditeur de DB2 justifie ce choix en rappellant ses investissements dans le monde open source sur des projets tels que Linux, Eclipse et Apache.</p><p>Ce choix peut peut-être aussi s&#8217;expliquer par le fait qu&#8217;EnterpriseDB édite <a
href="http://www.enterprisedb.com/products/postgres_plus_as.do">Postgres Plus Advanced Server</a>, qui se veut être un concurrent direct des bases de données Oracle. Produit commercial s&#8217;appuyant sur la base de données open source <a
href="http://www.postgresql.org/">Postgresql</a> (sous license BSD), Postgres Plus Advanced Server fournit entre autres des outils de migration pour Oracle.</p><p>Quelques liens :</p><ul><li><a
href="http://ostatic.com/158698-blog/enterprisedb-a-new-stake-from-ibm-and-its-novel-approach">http://ostatic.com/158698-blog/enterprisedb-a-new-stake-from-ibm-and-its-novel-approach</a></li><li><a
href="http://news.dzone.com/news/ibm-buys-enterprisedb">http://news.dzone.com/news/ibm-buys-enterprisedb</a></li><li><a
href="http://developers.slashdot.org/article.pl?sid=08/03/25/207211&amp;from=rss">http://developers.slashdot.org/article.pl?sid=08/03/25/207211&amp;from=rss</a></li><li><a
href="http://www.lemondeinformatique.fr/actualites/lire-ibm-injecte-de-l-argent-dans-enterprisedb-25697.html">http://www.lemondeinformatique.fr/actualites/lire-ibm-injecte-de-l-argent-dans-enterprisedb-25697.html</a></li><li><a
href="http://www.01net.com/editorial/375401/ibm-investit-dans-les-bases-de-donnees-open-source-d-enterprisedb/?rss">http://www.01net.com/editorial/375401/ibm-investit-dans-les-bases-de-donnees-open-source-d-enterprisedb/?rss</a></li></ul><h4><a
name="DomainHealth"></a>DomainHealth : Un outil de monitoring pour les serveurs Weblogic (9 &amp; 10)</h4><p>Dans cet <a
href="http://dev2dev.bea.com/blog/pdone/archive/2008/03/new_open_source.html">article</a> disponible sur le blog dev2dev de BEa, j&#8217;apprend l&#8217;existence d&#8217;un produit Open Source permettant de surveiller la bonne santé des serveurs Weblogic. Il permet entre autres de consulter la taille et l&#8217;utilisation de la Heap de la JVM, l&#8217;utilisation des pool de threads d&#8217;exécution, les datasources, les destinations JMS, les WorkManagers et beaucoup autres choses. Bea fournit déjà un outil similaire, une extension de la console d&#8217;administration qui permet d&#8217;obtenir ce type d&#8217;information basé sur le framework de diagnostiques de Weblogic (WLDF). Cependant, cette extension a quelques défaut que comble &#8216;DomainHealtn&#8217;:</p><ul><li>elle n&#8217;est pas activée par défaut, il faut ajouter un jar complémentaire dans un répertoire et redémmarer le serveur (DomainHealth se compose d&#8217;un simple war à déployer)</li><li>elle ne propose pas de vue d&#8217;ensemble sur une page.</li></ul><p>DomainHealth offre de parcourir les données collectées pendant toute la vie du domaine, quid de la consommation mémoire sur un domaine qui ne redémarre jamais ou très rarement ?</p><p>Bref un outil à tester et à surveiller <a
href="http://sourceforge.net/projects/domainhealth">ici</a> !</p><h3>Agilité</h3><h4><a
name="CertificationScrumMaster"></a>Certification ScrumMaster, on en parle</h4><p>Xebia a organisé les 25 et 26 Mars 2008 une formation ScrumMaster certifiante, dispensée par <a
href="http://jeffsutherland.com/">Jeff Sutherland</a>.<br
/> Premiers retours:</p><ul><li><a
href="http://www.touilleur-express.fr/2008/03/26/im-now-a-scrum-master/">http://www.touilleur-express.fr/2008/03/26/im-now-a-scrum-master/</a></li><li><a
href="http://jefute.blogspot.com/2008/03/formation-scrum-master-la-dfense.html">http://jefute.blogspot.com/2008/03/formation-scrum-master-la-dfense.html</a></li></ul><h3>Le coin de la technique</h3><h4><a
name="SpringWS"></a>Spring WS 1.5 : un fort potentiel à concrétiser</h4><p>Spring WS, arrivé bien après les leaders <a
href="http://incubator.apache.org/cxf/">CXF</a> (ex XFire), <a
href="http://ws.apache.org/axis2/">Axis2</a> et <a
href="https://jax-ws.dev.java.net/">Metro</a> (JAXWS-RI par Sun), se démarque par une approche originale qui préfère le <a
href="http://en.wikipedia.org/wiki/Plain_Old_XML">Plain Old Xml</a> à <a
href="http://en.wikipedia.org/wiki/SOAP">SOAP</a> et cherche à s&#8217;affranchir des <a
href="http://en.wikipedia.org/wiki/Web_Services_Description_Language">WSDL</a>. Cette démarche en fait un bon candidat pour traiter les communications non-soap encore très nombreuses dans nos applications.<br
/> Arjen Poutsma nous présente dans <a
href="http://blog.springsource.com/main/2008/03/28/whats-new-in-spring-web-services-15/">What&#8217;s New in Spring Web Services 1.5?</a> les nouvelles fonctionnalités du framework. On notera en particulier le support de JMS, de <a
href="http://www.ibm.com/developerworks/library/specification/ws-secure/">WS-Security</a> et <a
href="http://en.wikipedia.org/wiki/WS-Addressing">WS-Adressing</a>.<br
/> Les points que nous avons aimé dans Spring-WS :</p><ul><li>L&#8217;ouverture aux communications non-SOAP (situation particulièrement fréquente pour les communications sur JMS)</li><li>L&#8217;intégration à la stack Spring plus poussée que celle de CXF ou d&#8217;Axis2.</li><li>La qualité de l&#8217;intégration à JAXB 2 avec le <a
href="http://static.springframework.org/spring-ws/site/apidocs/index.html?org/springframework/oxm/jaxb/Jaxb2Marshaller.html">Jaxb2Marshaller</a> qui est un modèle d&#8217;utilisation de cette API.</li></ul><p>Les points que nous espérons pour les prochaines versions de Spring-WS :</p><ul><li>Un support naturel et documenté de l&#8217;approche wsdl2java avec un plugin maven similaire au <a
href="http://cwiki.apache.org/CXF20DOC/maven-integration-and-plugin.html">cxf-codegen-plugin</a>.</li><li>Des points d&#8217;extension dans l&#8217;API pour enrichir les messages échangés (ajout du header <tt>JMS_IBM_Character_Set</tt> avec Websphere MQ, appel à <tt>Tibjms.setEncoding(Message, String)</tt> pout Tibco EMS, etc).</li><li>Une documentation plus étoffée.</li></ul><h4><a
name="SpringJavaConfiguration"></a>Milestone 3 pour Spring Java Configuration</h4><p>Google avait défrayé la chronique en révélant <a
href="http://code.google.com/p/google-guice/">Google Guice</a>, le framework d&#8217;injection de dépendances d&#8217;<a
href="http://adwords.google.com/">Adwords</a> dont la configuration est gérée avec du code Java plutôt qu&#8217;avec des fichiers XML.<br
/> SpringSource a répondu avec <a
href="http://blog.springsource.com/main/2008/01/28/spring-25s-comprehensive-annotation-support/">l&#8217;utilisation élargie des annotations dans Spring 2.5</a> (<tt>@Autowired</tt>, etc) et le lancement de <a
href="http://springframework.org/javaconfig">Spring Java Configuration Project</a>. Ce deuxième chantier avance plus lentement, probablement parce que le concurrent Google Guice reste peu utilisé et parce que la tâche s&#8217;avère très délicate.<br
/> Chris Beams nous présente les dernières évolutions dans <a
href="http://blog.springsource.com/main/2008/03/26/spring-java-configuration-whats-new-in-m3/">Spring Java Configuration &#8211; What&#8217;s New in M3</a>.<br
/> Nous avons été sensibles à :</p><ul><li>L&#8217;externalisation des variables (<tt>@ExternalValue</tt>) équivalent au <tt>PropertyPlaceholderConfigurer</tt> des configurations XML. Ce mécanisme, incomplet dans Google guice, est particulièrement important pour gérer les paramètres de configuration dont la valeur change suivant les environnements (développement, intégration, production, etc).</li><li>L&#8217;étoffement de la documentation qui accorde notamment une place à l&#8217;intégration à Maven2.</li></ul><p>Si l&#8217;utilisation de Spring JavaConfig n&#8217;est pas encore d&#8217;actualité, voici une bonne occasion de se pencher sur le <a
href="http://static.springframework.org/spring/docs/2.5.x/reference/xsd-config.html">XML Schema-based configuration</a> introduite en version 2.5 qui allège avantageusement la gestion des configurations XML.</p><p>Ressource complémentaire : <a
href="http://blog.springsource.com/main/2008/03/18/spring-dependency-injection-java-5-including-slides-and-code/">Spring Dependency Injection &amp; Java 5</a> par Alef Arendsen ( <a
href="http://blog.springsource.com/main/wp-content/uploads/2008/03/di_with_spring.pdf">slides</a>, <a
href="http://blog.springsource.com/main/wp-content/uploads/2008/03/carplant.zip">exemple source</a>).</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/03/31/revue-de-presse-xebia-50/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/03/25/revue-de-presse-xebia-49/</link> <comments>http://blog.xebia.fr/2008/03/25/revue-de-presse-xebia-49/#comments</comments> <pubDate>Tue, 25 Mar 2008 17:32:08 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[Eclipse]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JPA]]></category> <category><![CDATA[Spring]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/03/25/revue-de-presse-xebia-49/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII EclipseLink devient l&#8217;implémentation de référence pour JPA 2.0 Eclipse Foundation lance Eclipse Runtime Project SpringSource Tool Suite BlackBerry rejoint la fondation Eclipse Bea renforce son intégration avec Eclipse Le coin de la technique La puissance des proxies Evènements de notre [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/03/25/revue-de-presse-xebia-49/#EclipseLinkJPA">EclipseLink devient l&#8217;implémentation de référence pour JPA 2.0</a></li><li><a
href="http://blog.xebia.fr/2008/03/25/revue-de-presse-xebia-49/#EclipseRuntimeProject">Eclipse Foundation lance Eclipse Runtime Project</a></li><li><a
href="http://blog.xebia.fr/2008/03/25/revue-de-presse-xebia-49/#SpringSourceToolSuite">SpringSource Tool Suite</a></li><li><a
href="http://blog.xebia.fr/2008/03/25/revue-de-presse-xebia-49/#BlackBerryEclipse">BlackBerry rejoint la fondation Eclipse</a></li><li><a
href="http://blog.xebia.fr/2008/03/25/revue-de-presse-xebia-49/#BeaEclipse">Bea renforce son intégration avec Eclipse</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/03/25/revue-de-presse-xebia-49/#proxies">La puissance des proxies</a></li></ul><p><strong>Evènements de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/03/25/revue-de-presse-xebia-49/#ToursJavaUserGroup">Tours Java User Group</a></li></ul><hr/><h3>Actualité éditeurs / SSII</h3><h4><a
name="EclipseLinkJPA"></a>EclipseLink devient l&#8217;implémentation de référence pour JPA 2.0</h4><p>Sun vient d&#8217;annoncer récemment que la RI (reference implemention) de la Java Persistence API 2.0, sera le plugin d&#8217;Oracle EclipseLink.<br
/> Le framework EclipseLink fournit à travers ses services OSGi l&#8217;outillage nécessaire pour interagir efficacement avec les bases de données relationnelles :</p><ul><li><strong>JPA</strong><br
/> Ce service permet de mapper des objets Java avec un schéma de base de données en utilisant une configuration XML et/ou avec les annotations. Les opérations de mapping, transactions, cache des objets, clustering, et des options de tuning et administration sont également disponibles nativement.</li><li><strong>Mapping Objects to XML (MOXy)</strong><br
/> Ce service gère le mapping objets Java avec un schéma XML (XSD) en utilisant une configuration XML et/ou avec les annotations. Ce service permet de générer par exemple, à partir d&#8217;un modèle de données annoté, les XSD et mappings correspondants. Les opérations de transformation Java-&gt;XML et XML-&gt;Java sont également supportées via les standards DOM et SAX.</li><li><strong>Service Data Object (SDO)</strong><br
/> Ce service permet de générer des modèles SDO dynamiques ou statiques à partir d&#8217;un schéma XSD. Les SDO permet de réduire le couplage entre application et les systèmes de gestion de données. ce service permettra également de wrapper un objet Java (JPA entity) dans un DataObject permettant d&#8217;utiliser des objets de modèle existants.</li><li><strong>Database Web Services (DBWS)</strong><br
/> Ce service permet d&#8217;exposer sous forme de webservices les opérations sur les base de données.</li><li><strong>Enterprise Information Systems (EIS)</strong><br
/> Le service de persistance EIS permet d&#8217;utiliser les magasins de données (data stores) via le connecteurs JCA (Java Connector Architecture). Ce service permet l&#8217;utilisation de base de données non-relationnelles qui n&#8217;utilisent pas l&#8217;accès JDBC ou SQL (Mainframes).</li></ul><p>Avec l&#8217;annonce en parallèle du projet Eclipse RT basé sur Equinox, OSGi a de beaux jours devant lui !</p><p><a
href="http://www.eclipse.org/eclipselink/">http://www.eclipse.org/eclipselink/</a><br
/> <a
href="http://www.theserverside.com/news/thread.tss?thread_id=48757">http://www.theserverside.com/news/thread.tss?thread_id=48757</a></p><h4><a
name="EclipseRuntimeProject"></a>Eclipse Foundation lance Eclipse Runtime Project</h4><p>Le projet Eclipse RT veut concurrencer Java et .Net !</p><p>Basé sur le projet Equinox qui implémente les spécifications OSGi, Eclipse Runtime Project veut devenir le nouveau runtime universel multi-plateforme pour carrément supplanter Java et .Net. Ce meta-projet a pour but d&#8217;unifier les différents projets existants tels que Eclipse Communications Framework, EclipseLink, Rich Ajax Platform (RAP), Riena and Swordfish et ainsi offrir une solution globale pour le développement d&#8217;applications sur divers supports et plateformes (client lourd, léger, riche, mobile, &#8230;) et ainsi combler les lacunes de Java et .Net. La solution apportée par Eclipse RT consiste en un modèle et framework orienté composant pour simplifier le travail de développement, déploiement et gestion d&#8217;applications sur diverses plateforme sans avoir à reconstruire la logique métier à chaque fois.</p><p><a
href="http://blogs.zdnet.com/open-source/?p=2136">http://blogs.zdnet.com/open-source/?p=2136</a><br
/> <a
href="http://www.infoworld.com/article/08/03/16/eclipse-show_1.html">http://www.infoworld.com/article/08/03/16/eclipse-show_1.html</a><br
/> <a
href="http://www.regdeveloper.co.uk/2008/03/17/eclipse_equinox_runtime/">http://www.regdeveloper.co.uk/2008/03/17/eclipse_equinox_runtime/</a></p><h4><a
name="SpringSourceToolSuite"></a>SpringSource Tool Suite</h4><p>SpringSource vient <a
href="http://eclipse.dzone.com/announcements/springsource-announce-tool-sui">d&#8217;annoncer</a> la sortie en version béta &laquo;&nbsp;SpringSource Tool Suite&nbsp;&raquo;. L&#8217;objectif de cet outil est de faciliter le développement d&#8217;applications avec Spring. Le détail des possibilités n&#8217;est pas encore pleinement clair (Plus de détails <a
href="http://blog.springsource.com/main/2008/03/20/springsource-tool-suite-released/">ici</a>). Vous pouvez vous inscrire au programme de béta-test pour tester ce nouvel outil <a
href="http://www.springsource.com/web/guest/products/sts">ici</a>.</p><h4><a
name="BlackBerryEclipse"></a>BlackBerry rejoint la fondation Eclipse</h4><p>La société Blackberry rejoint la fondation Eclipse et offre à cette occasion un plug-in Eclipse permettant de développer des applications pour la célèbre plateforme de téléphone mobile. Il est donc maintenant possible de développer pour les systèmes mobiles BlackBerry, Android, Symbian &amp; Palm avec un environnement Eclipse standard bien connu des développeurs. Deux plateformes manquent à l&#8217;appel : Windows Mobile et l&#8217;iPhone peu habituées à faciliter le travail des développeurs maisons <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><p>Plus d&#8217;informations sur cette annonce <a
href="http://blogs.zdnet.com/Burnette/?p=552">ici</a></p><h4><a
name="BeaEclipse"></a>Bea renforce son intégration avec Eclipse</h4><p>JRockit, la JVM de BEA, fournit déjà une console de suivi dénommé <a
href="http://edocs.bea.com/jrockit/tools/">JRockit Mission Control</a>. Depuis la version 2, cet outil est basé sur une plateforme Eclipse mais récemment Bea a fait un pas de plus. Depuis la version <a
href="http://edocs.bea.com/jrockit/tools/relnotestools/relnotestools2.html">3.0.2</a>, JRockit Mission Control est disponible sous forme de plugin Eclipse accessible depuis l&#8217; &laquo;&nbsp;<a
href="https://dev2devclub.bea.com/updates/eclipse-3.3/jrmc/">update site</a>&nbsp;&raquo; de Bea. Ceci va permettre une unification et une meilleure intégration de l&#8217;outillage (notamment Workshop) fourni par Bea.</p><p>Quelques détails sur le blog <a
href="http://dev2dev.bea.com/blog/hstahl/archive/2008/03/jrockit_eclipse.html">dev2dev</a> &#8230;</p><h3>Le coin de la technique</h3><h4><a
name="proxies"></a>La puissance des proxies</h4><p>Cet <a
href="http://blog.developpez.com/index.php?blog=174&amp;title=la_puissance_des_proxies&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">article</a> illustre l&#8217;utilisation des proxies Java. Même si l&#8217;utilisation qui en est faite ici, peut être un peu discutable en terme de lisibilité, cela n&#8217;en reste pas moins impressionnant quant aux possibilités offertes.</p><h3>Evènements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="ToursJavaUserGroup"></a>Tours Java User Group</h4><p>L&#8217;idée d&#8217;Antonio Goncalves et  David Dewalle semble faire des émules. Après la création récente du <a
href="http://www.parisjug.org">Paris User Group</a>, le deuxième <a
href="http://java.sun.com/community/usergroups/">Java User Group</a> français vient de se créer : le <a
href="http://www.toursjug.org">Tours JUG</a>. Son fonctionnement reste à peu près similaire, un sujet sera abordé chaque second mercredi du mois. Ce sera Christophe Jollivet, fondateur de ce dernier, et coresponsable de la <a
href="http://java.developpez.com/">rubrique java de developpez.com</a> qui ouvrira le bal le 9 avril avec &#8216;<a
href="http://www.toursjug.org/rencontre/20080409/presentation.php">Unitils et Selenium, les partenaires de vos tests</a>&#8216; (ça me rappelle <a
href="http://blog.xebia.fr/2008/03/10/revue-de-presse-xebia-47/#ParisJUG">quelque chose</a> &#8230;).  Concernant la suite du programme, peu d&#8217;éléments sont pour le moment communiqués. Pour en savoir davantage, le mieux reste encore de vous <a
href="http://www.jugevents.org/jugevents/event/registration.form?event.id=3190">inscrire</a> pour  la soirée d&#8217;inauguration qui aura lieu le mercredi 9 avril à Tours.</p><div
align="center"><a
href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=http:%2F%2Fsv-web-jug.dev.java.net%2Fkml%2Fjug-leaders.kml&amp;ie=UTF8&amp;om=1&amp;ll=49.496675,15.292969&amp;spn=27.94468,81.738281&amp;z=4"><img
src='http://blog.xebia.fr/wp-content/uploads/2008/03/jugeurope.jpg' alt='JUG Europe' /></a></div> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/03/25/revue-de-presse-xebia-49/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/</link> <comments>http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/#comments</comments> <pubDate>Mon, 03 Mar 2008 18:32:16 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Aqualogic]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[EJB]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JSF]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[Mokito]]></category> <category><![CDATA[SOA]]></category> <category><![CDATA[Spring]]></category> <category><![CDATA[Tomcat]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Aqualogic Service Bus 3.0 (BEA) Spring Source arrive en France Agilité Les bons programmeurs en ont (de bons tests unitaires) Progression des méthodes Agiles ? SOA 2008, annus horribilis de la SOA ? Le coin de la technique Java EE [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/#AqualogicServiceBus">Aqualogic Service Bus 3.0 (BEA)</a></li><li><a
href="http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/#SpringSource">Spring Source arrive en France</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/#TestsUnitaires">Les bons programmeurs en ont (de bons tests unitaires)</a></li><li><a
href="http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/#MethodesAgiles">Progression des méthodes Agiles ?</a></li></ul><p><strong>SOA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/#annusHorribilis">2008, annus horribilis de la SOA ?</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/#JavaEE6profiles">Java EE 6 : les profiles se dévoilent</a></li><li><a
href="http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/#LoadBalancingTomcatetApache">Load balancing avec Tomcat et Apache</a></li><li><a
href="http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/#Mockito">Tests unitaires : Mockito</a></li><li><a
href="http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/#JSF">JSF, répétition de la mésaventure des EJB 2 ?</a></li></ul><hr
/><h3>Actualité éditeurs / SSII</h3><h4><a
name="AqualogicServiceBus"></a>Aqualogic Service Bus 3.0 (BEA)</h4><p>Aqualogic Service Bus 3.0 (ALSB 3.0 pour les intimes) est maintenant disponible en <a
href="http://commerce.bea.com/showproduct.jsp?family=ALSB&amp;major=3.0&amp;minor=0">téléchargement</a>. La liste des fonctionnalités majeures de cette nouvelle version a déjà été abordée lors d’une <a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#ALSB">précédente revue de presse</a>. On peut y ajouter une meilleure intégration avec la gamme Aqualogic (ALRR, le <em>repository</em>,ALBMP, le <em>moteur de processus</em> et ALSM, le <em>moniteur SOA) et une fonctionnalité de _Throttling</em>, un service qui permet d’éviter d’entrainer une surcharge vers les services métiers accédés.</p><p>La distribution comprend WebLogic Server 10, la surcouche ESB et BEA Workshop 10.2 l’IDE basé sur Eclipse pour le développement (Eclipse 3.2.2, Eclipse WTP 1.5.4,…)</p><ul><li>La <a
href="http://edocs.bea.com/alsb/docs30/">documentation</a></li><li>La <a
href="http://edocs.bea.com/alsb/docs30/relnotes/relnotes.html#whatsnew">Release Note</a></li></ul><h4><a
name="SpringSource"></a>Spring Source arrive en France</h4><p>Nous apprenons via cet <a
href="http://blog.developpez.com/index.php?blog=177&amp;p=5198&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1#more5198">article</a> que SpringSource (anciennement Interface21) allait ouvrir une filiale en France. Un des premiers avantages est la prochaine disponibilité de formations Spring en français.</p><p>Il est déjà possible de s’inscrire sur le site de SpringSource, à cette <a
href="http://www.springsource.com/web/guest/contact/training-formMailer">adresse</a>.</p><h3>Agilité</h3><h4><a
name="TestsUnitaires"></a>Les bons programmeurs en ont (de bons tests unitaires)</h4><p>Dans <a
href="http://www.infoq.com/news/2008/03/cockburn-testing-guts">Real programmers avec GUTs</a>, Vikas Hazrati et Deborah Hartmann commentent le débat qui <a
href="http://www.infoq.com/interviews/coplien-martin-tdd">a eu lieu sur InfoQ mi-février entre Jim Coplien et Bob Martin</a> sur le sujet TDD (Test Driven Development), CDD (Contract Driven Development) et professionnalisme des développeurs.<br
/> Vikas et Deborah nous rappelle, qu’étrangement, l’idée d’avoir obligatoirement à utiliser la méthode TDD pour avoir de bons tests unitaires semble répandue. Or, l’important, c’est d’avoir de bons tests unitaires, et ce qu’ils soient développés avant ou après le code.</p><p>Pour rappel, TDD n’est pas une méthode de test, c’est bien une méthode de développement. L’effet produit est d’avoir de bons tests unitaires, mais ce n’est pas la seule méthode pour y parvenir !<br
/> La blogosphère agile <a
href="http://blog.troyd.net/Test+Supported+Development+TSD+Is+NOT+Test+Driven+Development+TDD.aspx">semble</a> <a
href="http://scruffylookingcatherder.com/archive/2008/01/31/tdd-or-pout.aspx">éprouver</a> le besoin irrépressible de trouver un acronyme pour “je code de <ins>bons</ins> tests unitaires <ins>après</ins> avoir développé mon code”. On n’y voit pas grand intérêt, mais si ceci a pour effet d’éviter la confusion ambiante sur TDD, pourquoi pas…<br
/> S’il n’utilise pas la méthode TDD, recommandons au lecteur de ne pas développer les tests unitaires “plus tard”, mais “le plus tôt possible”.</p><h4><a
name="MethodesAgiles"></a>Progression des méthodes Agiles ?</h4><p>Le site Methods And Tools a publié le résultat d’une étude qu’il a réalisé sur <a
href="http://www.methodsandtools.com/dynpoll/oldpoll.php?Agile2">l’adoption des méthodes agiles</a>. En voici les résultats (comparés à ceux d’une étude similaire réalisée en 2005) :</p><table
style="border: 1px solid black;" cellpadding="5" cellspacing="0"><tbody><tr><td
style="border: 1px solid black; color: rgb(255, 255, 255);" bgcolor="#663366"><strong>&nbsp;</strong></td><td
style="border: 1px solid black; color: rgb(255, 255, 255);" bgcolor="#663366"><strong>2008</strong></td><td
style="border: 1px solid black; color: rgb(255, 255, 255);" bgcolor="#663366"><strong>2005</strong></td></tr><tr><td
style="border: 1px solid black;">Not aware</td><td
style="border: 1px solid black;">13%</td><td
style="border: 1px solid black;">26%</td></tr><tr><td
style="border: 1px solid black;">Not using</td><td
style="border: 1px solid black;">13%</td><td
style="border: 1px solid black;">16%</td></tr><tr><td
style="border: 1px solid black;">Investigating</td><td
style="border: 1px solid black;">14%</td><td
style="border: 1px solid black;">14%</td></tr><tr><td
style="border: 1px solid black;">Analysed and rejected</td><td
style="border: 1px solid black;">4%</td><td
style="border: 1px solid black;">3%</td></tr><tr><td
style="border: 1px solid black;">Pilot projects</td><td
style="border: 1px solid black;">8%</td><td
style="border: 1px solid black;">4%</td></tr><tr><td
style="border: 1px solid black;">Partial implementation (adoption of some agile practices)</td><td
style="border: 1px solid black;">17%</td><td
style="border: 1px solid black;">17%</td></tr><tr><td
style="border: 1px solid black;">Partial deployment (some projects are using this approach)</td><td
style="border: 1px solid black;">14%</td><td
style="border: 1px solid black;">12%</td></tr><tr><td
style="border: 1px solid black;">Deployed (all new projects are using this approach)</td><td
style="border: 1px solid black;">17%</td><td
style="border: 1px solid black;">8%</td></tr></tbody></table><p>C’est encourageant : les méthodes agiles sont définitivement sorties de la confidentialité, et leur déploiement progresse assez rapidement. Reste à savoir ce qu’entendent précisément les sondés par méthodes agiles… On sait que dans le domaine, le wannabisme fait rage, et que l’adoption se résume souvent à quelques mesures cosmétiques, autrement appelées <a
href="http://en.wikipedia.org/wiki/Cowboy_coding">cowboy coding</a> (rappelez-vous le <a
href="http://agileconsortium.blogspot.com/2007/12/nokia-test.html">test Nokia</a>).<br
/> Scott Ambler apporte un commentaire (<a
href="http://www.ddj.com/architect/204200877">Scott Ambler’s 2007 Agile survey analyzed for Dr. Dobb’s : Is Agile really that successful?</a>) intéressant sur le sujet.</p><p>Et pour s’encourager, on peut toujours regarder la belle courbe de <a
href="http://www.indeed.com/jobtrends?q=agile%2C+scrum%2C+%22extreme+programming%22%2C+%22test+driven%22&amp;l=">Indeed.com</a></p><h3>SOA</h3><h4><a
name="annusHorribilis"></a>2008, annus horribilis de la SOA ?</h4><p>S’il ne faut pas tomber dans le sensationnalisme, on notera tout de même la crise de doute que traversent les SOAistes en ce début d’année.<br
/> Tout d’abord le chantre de la SOA, le Burton Group lui-même, qui se lance à la recherche de projets SOA qui ont vraiment marché (<a
href="http://www.infoq.com/news/2008/02/burton-soa">InfoQ : Burton On Real World SOA Experiences</a>) ; hélas, le “Rapport Burton” restera réservé aux clients payants.<br
/> Ensuite, la très officielle presse SOAiste <a
href="http://searchsoa.techtarget.com/">searchSOA.com</a> part à la recherche de bonnes utilisations de SOAP, si cela a existé, avec <a
href="http://www.theserverside.com/news/thread.tss?thread_id=48534">Looking for a few good WSDLs</a> . A quand “Looking for a few good WS-* uses” ?</p><p>Enfin, Steve Vinoski, héros de l’époque Corba, a profité de son changement d’employeur pour retourner sa veste et prôner l’approche RESTful dans <a
href="http://www.infoq.com/interviews/vinoski-qcon-interview">InfoQ : CORBA Guru Steve Vinoski on REST, Web Services, and Erlang</a>.<br
/> Rassurons-nous, rien de cela n’ébranlera les diseurs de bonne aventure SOA qui, après nous avoir gratifié des merveilleuses <a
href="http://tech.groups.yahoo.com/group/service-orientated-architecture/messages/9447?threaded=1&amp;m=e&amp;var=1&amp;tidx=1">prédictions du Yahoo SOA Group pour 2008</a>, débattent férocement de <a
href="http://tech.groups.yahoo.com/group/service-orientated-architecture/messages/9755?threaded=1&amp;m=e&amp;var=1&amp;tidx=1">UDDI v2, v3 and replication</a>.<br
/> Ne jetons tout de même pas bébé avec l’eau du bain. L’approche SOA apporte beaucoup de valeur lorsqu’elle est abordée avec pragmatisme à l’instar du site <a
href="http://www.enterpriseintegrationpatterns.com">Enterprise Integration Patterns</a> qui propose des documents de grande valeur comme <a
href="http://www.enterpriseintegrationpatterns.com/docs/hohpe_developing_in_soa_world.pdf">Developing in a Service-oriented World</a> de Gregor Hohpe (Google).</p><h3>Le coin de la technique</h3><h4><a
name="JavaEE6profiles"></a>Java EE 6 : les profiles se dévoilent</h4><p>Nous avions évoqué le <a
href="http://blog.xebia.fr/2008/01/21/revue-de-presse-xebia-40/#JEE6">Java EE Web Profile en Janvier</a>. Roberto Chinnici nous dévoile aujourd’hui dans <a
href="http://www.theserverside.com/news/thread.tss?thread_id=48522">Profiles in the Java EE 6 Platform</a> les différentes pistes pour le Web Profile si cher à Rod Jonhson.<br
/> C’est l’occasion pour chacun de donner son opinion éclairée sur le sujet. Les plus extrémistes demandent un Web Profile qui ne porterait que la Servlet API, d’autres demandent à corps et à cri leurs JSFs voire leurs Portlets pour les plus téméraires.<br
/> Nous seront moins péremptoires et nous nous limiterons pour le moment à quelques observations :</p><ul><li>Les équipes d’exploitation sont les grands oubliés, <a
href="http://jcp.org/en/jsr/detail?id=77">JSR-77 : J2EE Management</a> n’est pas au rendez-vous, la standardisation des API de monitoring et de supervision ne semblent intéresser personne. Nous ne sommes pas prêts d’avoir le monitoring des datasources inclu dans Tomcat <img
src="http://blog.xebia.fr/wp-includes/images/smilies/icon_sad.gif" alt=":-(" class="wp-smiley"></li><li>Pourquoi regrouper dans JSR 77 les statistiques de monitoring (JDBCStats, JMSStats, JCAStats, etc) plutôt que de les réintroduire dans chacune des JSR concernées ?</li><li>JMS n’a jamais été aussi aussi utilisé qu’aujourd’hui (merci à Spring-JMS et à ActiveMQ), quel dommage de le voir absent du Web Profile</li><li>L’utilisation de JMS sous tend le pooling des ressources (JCA) et les transactions distribuées (JTA). Cela tire beaucoup d’APIs pour les esprits minimalistes mais le scénario Message Driven Pojo + accès SGBD est chaque jour plus fréquent.</li><li>JTA embarqué dans le Web Profile demanderait un travail substantiel aux équipes de SpringSource qui veulent leur stack Tomcat+Spring certifiée Web Profile. Pour mémoire, JBoss n’a été vraiment satisfait de son Java Transaction Service qu’en version 4.</li><li>JAXB et JAXWS ne rentrent pas dans le débat car ils sont inclus dans le JDK 6.</li><li>On peut voir un <em>pruning</em> en douceur avec les Web Profiles (A) et (B) qui ne sont pas encombrés par les APIs désuètes.</li></ul><p><strong>Scénarios pour le Web Profile</strong></p><table
style="border: 1px solid black;" cellpadding="5" cellspacing="0"><tbody><tr><td
style="border: 1px solid black; color: rgb(255, 255, 255);" bgcolor="#663366"><strong>(A)</strong></td><td
style="border: 1px solid black; color: rgb(255, 255, 255);" bgcolor="#663366"><strong>(B)</strong></td><td
style="border: 1px solid black; color: rgb(255, 255, 255);" bgcolor="#663366"><strong>Java EE 6 Full platform</strong></td></tr><tr><td
style="border: 1px solid black;">Servlet 3.0<br
/> JSP 2.2<br
/> JSR-45</p><p> EL 1.2<br
/> JSTL 1.2<br
/> JSR-250</td><td
style="border: 1px solid black;">Servlet 3.0<br
/> JSP 2.2<br
/> JSR-45</p><p> EL 1.2<br
/> JSTL 1.2<br
/> JSR-250</td><td
style="border: 1px solid black;">Servlet 3.0<br
/> JSP 2.2<br
/> <a
href="http://jcp.org/en/jsr/detail?id=45">JSR-45: Debugging Support for Other Languages</a></p><p> EL 1.2<br
/> JSTL 1.2<br
/> <a
href="http://jcp.org/en/jsr/detail?id=250">JSR-250: Common Annotations for the JavaTM Platform</a></td></tr><tr><td
style="border: 1px solid black;"><br
clear="all"></td><td
style="border: 1px solid black;">EJB 3.1 (Lite)<br
/> JTA 1.1</p><p> JPA 2.0<br
/> JSF 2.0 *<br
/> Web Beans 1.0 *</td><td
style="border: 1px solid black;">EJB 3.1<br
/> JTA 1.1<br
/> JPA 2.0</p><p> JSF 2.0<br
/> Web Beans 1.0</td></tr><tr><td
style="border: 1px solid black;"><br
clear="all"></td><td
style="border: 1px solid black;"><br
clear="all"></td><td
style="border: 1px solid black;">JAX-RS 1.0<br
/> Connectors 1.6<br
/> JAX-WS 2.2</p><p> JAXB 2.2<br
/> <a
href="http://jcp.org/en/jsr/detail?id=109">JSR-109 1.2 :Implementing Enterprise Web Services</a><br
/> <a
href="http://jcp.org/en/jsr/detail?id=181">JSR-181 1.1 : Web Services Metadata for the JavaTM Platform</a><br
/> JMS 1.1<br
/> JAF 1.1<br
/> JavaMail 1.4</p><p> <a
href="http://jcp.org/en/jsr/detail?id=115">JSR-115 : Java Authorization Contract for Containers</a><br
/> <a
href="http://jcp.org/en/jsr/detail?id=196">JSR-196: Java Authentication Service Provider Interface for Containers</a><br
/> <a
href="http://jcp.org/en/jsr/detail?id=88">JSR-88 1.2: Java EE Application Deployment</a><br
/> <a
href="http://jcp.org/en/jsr/detail?id=77">JSR-77 1.1 : J2EE Management</a><br
/> JAX-RPC1.1<br
/> JAXR 1.0</td></tr></tbody></table><p><strong>Ressources complémentaires</strong></p><ul><li><a
href="http://www.infoq.com/news/2008/01/jee6">InfoQ : Java EE 6 Spec Lead Requests Community Feedback on Web Profile Options</a></li><li><a
href="http://blogs.webtide.com/janb/2008/02/28/1204179615319.html">Webtide (ie Jetty) blog: Java EE 6 Web Profile Should JSPs really be included? Do we even need a profile?</a></li><li><a
href="http://www.theserverside.com/news/thread.tss?thread_id=48522">TSS : Roberto Chinnici: Profiles in the Java EE 6 Platform</a></li></ul><h4><a
name="LoadBalancingTomcatetApache"></a>Load balancing avec Tomcat et Apache</h4><p>Avneet Mangat nous explique dans <a
href="http://www.theserverside.com/tt/knowledgecenter/knowledgecenter.tss?l=LoadBalancingTomcatApache">TSS : Load-balancing Tomcat with Apache</a> comment mettre en place un cluster Tomcat avec le serveur web Apache. Si la fiabilité de la solution n’a rien rien à envier aux serveurs d’applications sophistiqués pour les cas, très fréquents, qui ne nécessitent pas de réplication de session, on remarquera cependant que la mise en place du load-balancing avec Tomcat et Apache demande sensiblement plus de configuration par édition de fichier qu’avec un serveur commercial. De plus, on regrettera le manque de documentation sur le sujet.</p><p>Le load balancing Tomcat avec Apache, une solution prête pour la production ? Oui, mais surtout pour les équipes d’exploitation qui ont la culture du scripting et des technologies open source à la documentation parfois légère. Les équipes qui attendent des procédures packagées seront plus à l’aise avec un serveur d’applications plus complexe.</p><h4><a
name="Mockito"></a>Tests unitaires : Mockito</h4><p>Szczepan Faber nous présente dans <a
href="http://monkeyisland.pl/2008/02/01/deathwish/">expect-run-verify… Goodbye!</a> les raisons qui l’ont poussé à créer un nouveau framework de mocks &#8211; <a
href="http://code.google.com/p/mockito/">Mockito</a> &#8211; en partant d’un fork d’<a
href="http://www.easymock.org/">EasyMock</a>.<br
/> Il reproche aux autres frameworks de mocks d’utiliser le pattern expect-run-verify (description des attentes &#8211; exécution &#8211; vérification) :</p><ul><li>les attentes sont décrites avant l’exécution, ce qui n’est pas intuitif</li><li>les mocks nécessitent d’enregistrer des interactions pour fonctionner même si on n’a pas besoin de les tester</li><li>les tests sont fragiles, sont souvent cassés par l’ajout d’une fonctionnalité</li><li>les attentes (expect) et le bouchonnage (stub) sont mélangés, ce qui nuit à la lisibilité du code</li><li>si les attentes étaient remplacées par des assertions, il n’y aurait plus besoin de déchiffrer la pile d’exécution en cas d’erreur pour retrouver la ligne de code correspondante</li></ul><p>Mockito se veut plus souple et plus simple, comme le veut le principe <a
href="http://fr.wikipedia.org/wiki/KISS-principe">KISS</a> de la culture XP.<br
/> Cette <a
href="http://code.google.com/p/mockito/wiki/MockitoVSEasyMock">comparaison avec EasyMock</a> donne une idée du gain de lisibilité.</p><p>Côté limitations Mockito ne permet pas faire de mock sur :</p><ul><li>les classes ou méthodes final (Mockito s’appuie cglib)</li><li>les méthodes equals(), hashCode(), toString()</li></ul><p>On regrette toutefois que Mockito ne soit pas sur le repository maven (encore la <a
href="http://code.google.com/p/mockito/issues/detail?id=1">faute</a> de cglib) !</p><h4><a
name="JSF"></a>JSF, répétition de la mésaventure des EJB 2 ?</h4><p>Les EJB ont inauguré la série “Le pire du mal” avec <a
href="http://www.amazon.com/J2EE-AntiPatterns-Bill-Dudney/dp/0471146153">J2EE AntiPatterns</a> et autres <a
href="http://www.amazon.com/Bitter-EJB-Bruce-Tate/dp/1930110952/ref=pd_bxgy_b_img_a">Bitter EJB</a>. TheServerSide a trouvé un successeur avec <a
href="http://www.theserverside.com/news/thread.tss?thread_id=48457">JSF Anti-Patterns and Pitfalls</a>. On y découvre qu’on peut avoir mal au PhaseListener, qu’il y de nombreux faux-amis du thread-safe, que l’overdose de XML guette et qu’il ne faut pas oublier la “View State Encryption”.</p><p>Nous décernons le “JSF trick d’or” au “View State Encryption” pour <a
href="http://wiki.apache.org/myfaces/Secure_Your_Application">My Faces Wiki : Secure your application</a> qui nous recommande un merveilleux secret d’encryption qu’on choisit “au hasard”, puis que l’on passe à la moulinette base64, et que l’on stocke enfin en dur dans <tt>faces-config.xml</tt>. Mais attention ! la taille du secret doit être de huit caractères pour un chiffrement <a
href="http://fr.wikipedia.org/wiki/Data_Encryption_Standard">DES</a> ou de seize pour <a
href="http://fr.wikipedia.org/wiki/Blowfish">Blowfish</a>; pas un de moins, pas un de plus…<br
/> JSF condamné ? Il ne faut pas préjuger de l’avenir. Malgré les critiques innombrables, certains ténors voient toujours en JSF l’avenir des pages web en java. En revanche, si JSF venait à péricliter, personne ne pourra dire qu’il ne savait pas … et JSF 2 est prédit très incompatible avec JSF 1.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/03/03/revue-de-presse-xebia-46/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/01/21/revue-de-presse-xebia-40/</link> <comments>http://blog.xebia.fr/2008/01/21/revue-de-presse-xebia-40/#comments</comments> <pubDate>Mon, 21 Jan 2008 17:12:36 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[Flex]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[SOA]]></category> <category><![CDATA[Wicket]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/01/21/revue-de-presse-xebia-40/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Oracle rachète BEA Agilité Mike Cohn donne des pratiques d&#8217;adoption des méthodes agiles RIA Qu&#8217;est-ce que Flex ? SOA JEE 6 : Extensibility, Profiles and Pruning Le coin de la technique Une expérience positive sur Wicket Actualité éditeurs / SSII [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/01/21/revue-de-presse-xebia-40/#OracleBEA">Oracle rachète BEA</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/01/21/revue-de-presse-xebia-40/#adoptionAgile">Mike Cohn donne des pratiques d&#8217;adoption des méthodes agiles</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/01/21/revue-de-presse-xebia-40/#Flex">Qu&#8217;est-ce que Flex ?</a></li></ul><p><strong>SOA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/01/21/revue-de-presse-xebia-40/#JEE6">JEE 6 : Extensibility, Profiles and Pruning</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/01/21/revue-de-presse-xebia-40/#Wicket">Une expérience positive sur Wicket</a></li></ul><hr/><h3>Actualité éditeurs / SSII</h3><h4><a
name="OracleBEA"></a>Oracle rachète BEA</h4><p>Massimo Pezinni du Gartner Group expose son point de vue <a
href="http://www.lemondeinformatique.fr/actualites/lire-bea-oracle-gartner-conseille-aux-clients-de-differer-leurs-investissements-25094.html">dans un article paru sur LMI</a> : il voit dans ce rachat un danger de disparition de composants BEA hors WLS et Tuxedo.<br
/> Selon lui le projet Fusion est déjà bien engagé chez Oracle et l&#8217;arrivée de BEA ne devrait pas changer la donne. Il parle de certains produits qui passeraient en mode maintenance &#8230; De là à s&#8217;interroger sur l&#8217;avenir des produits nouveaux (ALSB, WLI) il n&#8217;y a qu&#8217;un pas.<br
/> Effectivement, en quelques années la gamme des produits BEA s&#8217;est considérablement élargie. On distingue 3 gammes :</p><ul><li>La gamme historique : Tuxedo.</li><li>La gamme infrastructure WebLogic-* : Weblogic Server, WebLogic Integration, Weblogic Portal et JVM JRockit</li><li>La gamme SOA : Aqualogic-* : <a
href="http://fr.bea.com/products/aqualogic/service_bus/">ALSB</a>, <a
href="http://fr.bea.com/products/aqualogic/data_services/">ALDSP</a>,<a
href="http://fr.bea.com/products/aqualogic/bpm/">ALBPM</a>, <a
href="http://fr.bea.com/products/aqualogic/repository/">ALRR</a>, <a
href="http://fr.bea.com/products/aqualogic/security/">ALES</a>, <a
href="http://fr.bea.com/products/aqualogic/user_interaction/">ALUI</a>, &#8230;</li></ul><p>Il faut regarder ce qui est à ce jour massivement vendu chez les client BEA : Weblogic Server, Tuxedo, WLI/WLP, ALSB.</p><ul><li>Oracle est certainement très intéressé par Weblogic Server qui est reconnu comme l&#8217;un des meilleurs serveurs d&#8217;applications.</li><li>WLI est sûrement le produit qui peut résister et continuer à exister s&#8217;il est vu comme un outil d&#8217;intégration et non comme un moteur de BPM.</li><li>Concernant ALUI, ex Plumbtree, il y a un gros parc installé. Il faut savoir que ALUI est globalement indépendant du serveur d&#8217;application. Pour une réflexion sur les portail BEA/Oracle, vous pouvez lire le billet de Chris Bucchere : <a
href="http://dev2dev.bea.com/blog/bucchere/archive/2008/01/one_portal_rules.html">One Portal to Rule Them All</a>.</li><li>De son côté, Tuxedo n&#8217;évolue pas énormément. Il est déjà en mode maintenance depuis des années mais avec un parc client énorme.</li><li>JRockit sous Linux devrait également être conservé. C&#8217;est une excellente JVM, plus performante que celle de Sun qui concentre plutôt ses optimisations sur la version Solaris (rien d&#8217;étonnant à celà). Ce produit est également un vitrine pour BEA où il démontrait son savoir faire technologique. Si l&#8217;investissement annuel est raisonable, Oracle pourrait bien conserver cette vitrine.</li><li>ALSB (AquaLogic Service Bus), l&#8217;ESB de BEA pourrait quant à lui résister car déjà bien vendu et reconnu.</li></ul><p>Pour tout le reste, l&#8217;avenir semble plus sombre : peu de clients et en doublon avec une offre déjà existante chez Oracle (c&#8217;est quand même Oracle qui rachète BEA, et pas BEA qui rachète le département middleware d&#8217;oracle).</p><h3>Agilité</h3><h4><a
name="adoptionAgile"></a>Mike Cohn donne des pratiques d&#8217;adoption des méthodes agiles</h4><p><a
href="http://www.mountaingoatsoftware.com">Mike Cohn</a>, membre fondateur de l&#8217;Agile Alliance, <a
href="http://www.infoq.com/news/2008/01/agile-adoption-patterns">donne quelques pistes</a> sur la façon d&#8217;injecter des pratiques agiles dans une entreprise à travers des patterns de base.</p><ul><li>Faut-il démarrer l&#8217;agilité sur un petit projet, ou transformer toute l&#8217;organisation d&#8217;un coup?</li><li>Faut-il d&#8217;abord mettre en place les pratiques techniques XP ou d&#8217;abord s&#8217;efforcer de développer par itérations, sans mettre en place TDD (Test Driven Development), pair programming ou intégration continue?</li><li>Faut-il mettre en place l&#8217;agilité en &laquo;&nbsp;mode furtif&nbsp;&raquo;, ou faut-il en faire la publicité à travers toute l&#8217;entreprise et même en dehors?</li></ul><p>Comme toujours, il faut être pragmatique! Et choisir suivant le contexte les pratiques qui s&#8217;adaptent le mieux à l&#8217;entreprise.</p><h3>RIA</h3><h4><a
name="Flex"></a>Qu&#8217;est-ce que Flex ?</h4><p>Ted Patrick, de chez Adobe, répond à la question basique: <a
href="http://www.onflex.org/ted/2008/01/what-is-flex.php">what is Flex?</a>.<br
/> Extrait:</p><ul><li>Flex est un moyen de produire des fichiers SWF (Flash)</li><li>Flex est fait pour les développeurs, pas pour les graphistes</li><li>Flex permet de développer des applications&#8230;</li><li>Qui vont être exécutées sur le web (player Adobe Flash)&#8230;</li><li>Ou sur le bureau (Adobe AIR)</li><li>Ou sur des mobiles (ce n&#8217;est pas encore le cas, et c&#8217;est un des gros défauts de Flex !)</li></ul><h3>SOA</h3><h4><a
name="JEE6"></a>JEE 6 : Extensibility, Profiles and Pruning</h4><p>InfoQ nous <a
href="http://www.infoq.com/news/2008/01/jee6">présente les grandes lignes de Java EE 6</a> dont la version finale est attendue pour Q4 2008. Ce sera la première version modulaire de Java EE grâce à l&#8217;introduction des profiles. Le débat discutable &laquo;&nbsp;Tomcat est il un serveur Java EE ?&nbsp;&raquo; deviendra officiellement caduque, Tomcat implémentera le &laquo;&nbsp;Java EE Web Profile&nbsp;&raquo;.</p><p><strong>Les nouveautés majeures</strong><br
/> Fini les serveurs Java EE monolythiques ! Java EE 6 devient modulaires avec l&#8217;introduction de profiles.<br
/> Ce mécanisme de profile est déjà utilisé dans Java Mobile [1] avec quelques difficultés d&#8217;interopérabilité et les promoteurs d&#8217;OSGI défendent leur modèle d&#8217;assemblage ; on se souviendra quand même du satisfecit que Rod Jonhson, le fondateur de Spring Framework, a adressé aux profiles JavaEE 6 en juillet 2007 (<a
href="http://blog.interface21.com/main/2007/07/03/java-ee-6-gets-it-right/">Spring source 2007/07 : Java EE 6 gets it right</a>). On remarquera aussi que le débat sur OSGI est aussi présent sur la spécification JBI 2.0.</p><p><strong>Pruning</strong><br
/> Le processus de &#8216;pruning&#8217; (ie. fin de vie) existe depuis longtemps pour les standards Java mais a rarement été utilisé. En rupture avec les versions précédentes, Java EE 6 ouvre le chantier de nettoyage des API désuètes (Java SE 7 suit la même approche). Les premiers candidats à la retraite sont :</p><ul><li>EJB-CMP : désolé pour les entreprises qui ont investi sur les EJB 1.x et 2.x. La suppression commence par le mécanisme de persistance EJB-CMP et il faudra s&#8217;attendra à voir rapidement suivre le reste de ces APIs.</li><li>JAX-RPC et JAX-Registry [2] : les APIs Web Services pour Java ne vivent pas plus longtemps que les standards WS-*. Ces disparitions auront probablement peu d&#8217;impacts, XFire et Axis 1 ont souvent été préférés à JAX-RPC. Quant à JAX-Registry, son utilisation est restée confidentielle.</li></ul><p><strong>Les absents</strong></p><p>On notera deux absents notables à JavaEE 6:</p><ul><li>Les portails java et leur gestion de contenu [3] : la vague de marketing intense des éditeurs de portails java est passée ; les promesses de réutilisabilité et de ROI on rarement été au rendez-vous. Les APIs portlet vont-elles se faire &#8216;pruner&#8217; avant même de rejoindre Java EE ? Nous pressentons plutôt la création d&#8217;un profile &laquo;&nbsp;java portals&nbsp;&raquo; dont la communauté sera très restreinte. Seule une rupture majeure dans la gestion de contenu en Java permettrait de menacer la prédominance de PHP sur ce sujet.</li><li>Les standards d&#8217;intégration JBI et SCA/SDO [4] : ces sujets semblent trop polémiques et trop politiques pour permettre d&#8217;entériner des standards Java. JBI 1.0 a déçu ceux qui s&#8217;y sont aventurés (ServiceMix, Mule, etc) et l&#8217;ébauche de la version 2.0 rencontre toujours l&#8217;hostilité d&#8217;IBM et de BEA. Ces deux éditeurs lui préfèrent les standards SCA et SDO qui rencontrent un accueil pour le moins circonspect de la part de Sun, peut-être parce que la gouvernance des ces standards est partagée.</li></ul><p>[1] <a
href="http://jcp.org/en/jsr/detail?id=37">JSR 37 Mobile Information Device Profile</a>, <a
href="http://jcp.org/en/jsr/detail?id=134">JSR 137 Java Game Profile</a>, etc<br
/> [2] <a
href="http://jcp.org/en/jsr/detail?id=101">JSR-101 Java APIs for XML based RPC</a> et <a
href="http://jcp.org/en/jsr/detail?id=93">JSR 93 Java API for XML Registries</a><br
/> [3] <a
href="http://www.jcp.org/en/jsr/detail?id=168">JSR-168 Portlet specification</a>, <a
href="http://www.jcp.org/en/jsr/detail?id=286">JSR-286 Portlet Specification 2.0</a>, <a
href="http://www.jcp.org/en/jsr/detail?id=170">JSR-301 Portlet Bridge Specification for JavaServer Faces</a> et <a
href="http://www.jcp.org/en/jsr/detail?id=170">JSR-170 Content Repository for Java technology API</a><br
/> [4] <a
href="http://www.jcp.org/en/jsr/detail?id=208">JSR-208 Java Business Integration</a> et <a
href="http://www.jcp.org/en/jsr/detail?id=235">JSR-235 Service Data Objects</a></p><h3>Le coin de la technique</h3><h4><a
name="Wicket"></a>Une expérience positive sur Wicket</h4><p>Après une année passée à développer une application avec <a
href="http://wicket.apache.org">Wicket</a>, Julian Sinai, nous <a
href="http://javathoughts.capesugarbird.com/2008/01/year-of-wicket.html">donne son retour d&#8217;expérience</a> très positif. Venant du monde du &laquo;&nbsp;client lourd&nbsp;&raquo; (Swing), il a dans un premier temps évalué différents frameworks web:</p><ul><li>GWT: trop éloigné des autres frameworks web, pas de HTML, pas de WAR</li><li>Tapestry: gros coût d&#8217;entrée, difficile de développer de nouveaux composants</li><li>JSF: trop complexe</li></ul><p>Parmi les points positifs qu&#8217;il retire de l&#8217;expérience, il insiste en particulier sur la claire séparation entre le code de présentation et le code métier, et sur la facilité avec laquelle on peut développer des composants réutilisables. Matt Raible a commenté rapidement l&#8217;article sur <a
href="http://raibledesigns.com/rd/entry/a_positive_wicket_experience">son blog</a>.</li> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/01/21/revue-de-presse-xebia-40/feed/</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>********** Dernière minute ***********</title><link>http://blog.xebia.fr/2008/01/16/derniere-minute/</link> <comments>http://blog.xebia.fr/2008/01/16/derniere-minute/#comments</comments> <pubDate>Wed, 16 Jan 2008 17:43:14 +0000</pubDate> <dc:creator>Luc Legardeur</dc:creator> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Mot du président]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Oracle]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/01/16/derniere-minute/</guid> <description><![CDATA[Nous interrompons nos programmes pour annoncer deux nouvelles fracassantes pour notre communauté: Oracle a finalement réussi à mettre la main sur BEA pour quelques 8,5 Milliards de dollars. Nous nous étions exprimés à ce sujet lors d&#8217;une interview d&#8217;Olivier RAFAL dans LMI, il y a quelques temps. Nous étions hier encore à Convergence Day à [...]]]></description> <content:encoded><![CDATA[<p>Nous interrompons nos programmes pour annoncer deux nouvelles fracassantes pour notre communauté:</p><p>Oracle a finalement réussi à mettre la main sur BEA pour quelques 8,5 Milliards de dollars. Nous nous étions exprimés à ce sujet lors d&#8217;une <a
href="http://www.lemondeinformatique.fr/dossiers/lire-bea-oracle-le-feuilleton-52-page-4.html">interview d&#8217;Olivier RAFAL dans LMI</a>, il y a quelques temps.<br
/> Nous étions hier encore à <a
href="http://www.beaconvergenceday2008.com/">Convergence Day</a> à l&#8217;écoute d&#8217;Alfred Chuang à Paris &#8230; Celui-ci n&#8217;avait rien laissé paraître. La question nous brûlait les lèvres, nous l&#8217;avons à maintes reprises posée à des personnes de BEA mais aucun d&#8217;entre nous ne se doutait à quelle point elle serait d&#8217;actualité 24 heures plus tard.</p><p>Autre nouvelle: Sun rachète MySQL pour un milliard de dollars. Celle là nous l&#8217;avions moins vu venir &#8230;</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/01/16/derniere-minute/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/</link> <comments>http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/#comments</comments> <pubDate>Mon, 14 Jan 2008 17:11:37 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[Flash]]></category> <category><![CDATA[Flex]]></category> <category><![CDATA[Geronimo]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JPA]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[Sun]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Agilité 3 bonnes résolutions pour cette nouvelle année Top 5 developer benefits of agile development RIA BEA Workshop et Flex Builder en bundle Google sait indexer le contenu Flash Le coin de la technique Rapide présentation de Hermes JMS Console Slice your database, OpenJPA [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/#resolutions">3 bonnes résolutions pour cette nouvelle année</a></li><li><a
href="http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/#benefitsOfAgile">Top 5 developer benefits of agile development</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/#FlexBuilder">BEA Workshop et Flex Builder en bundle</a></li><li><a
href="http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/#GoogleFlash">Google sait indexer le contenu Flash</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/#HermesJMSConsole">Rapide présentation de Hermes JMS Console</a></li><li><a
href="http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/#OpenJPA">Slice your database, OpenJPA</a></li><li><a
href="http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/#Geronimo">Polémique sur l&#8217;avenir de Geronimo. IBM abandonne-t-il le projet ?</a></li><li><a
href="http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/#GarbageCollection">Présentation de certains algorithmes de garbage collection de la JVM de Sun</a></li></ul><hr/><h3>Agilité</h3><h4><a
name="resolutions"></a><a
href="http://kw-agiledevelopment.blogspot.com/2008/01/3-new-years-resolutions-for-agile-team.html">3 bonnes résolutions pour cette nouvelle année</a></h4><p>Un agiliste propose des bonnes résolutions pour les équipes agiles. Peut-être que vos bonnes résolutions de cette année devraient déjà être de passer aux méthodes agiles &#8230;</p><h4><a
name="benefitsOfAgile"></a><a
href="http://rorblog.techcfl.com/2008/01/03/top-5-developer-benefits-of-agile-development/">Top 5 developer benefits of agile development</a></h4><p>Cet article présente les 5 principaux bénéfices des développements agiles sur les équipes de développements :</p><ul><li>Un lien plus étroit avec les clients : l&#8217;équipe est en contact direct avec les clients et de ce fait, la qualité du produit mis en place est plus en accord avec les attentes des clients.</li><li>Une équipe plus autonome : c&#8217;est à l&#8217;équipe de décider comment réaliser le sprint. Le but est de faire confiance aux équipes de développement et de leur donner plus de responsabilités.</li><li>Laisser l&#8217;équipe prendre des décisions : lorsque des problèmes trop complexes se présentent, il est préférable de laisser les personnes plus à même de comprendre les impacts d&#8217;une évolution ou d&#8217;un changement prendre les décisions.</li><li>Améliorer la participation de l&#8217;équipe : favoriser la constitution de petites équipes (7 personnes environ) permet aux différents membres de participer.</li><li>Des développeurs plus productifs : la mise en place des méthodes agiles permet d&#8217;avoir des développeurs plus épanouis dans leur travail, car ceux-ci sont plus valorisés.</li></ul><p>Pour finir, les méthodes agiles entraînent certains changements et entre autre, dans le cas de cet article, la confiance envers les équipes de développements doit être plus grande. En conclusion de ces méthodes agiles, il en résulte que les clients sont mieux satisfaits, et avec un produit de qualité.</p><h3>RIA</h3><h4><a
name="FlexBuilder"></a>BEA Workshop et Flex Builder en bundle</h4><p>Nous apprenons dans <a
href="http://dev2dev.bea.com/blog/phumphrey/archive/2008/01/workshop_and_fl_1.html">cet article</a>que BEA propose sur <a
href="http://www.bea.com/flex/">son site</a> un bundle spécial comprenant son IDE Workshop et l&#8217;IDE Flex Builder d&#8217;Adobe. Aucune information en revanche le support apporter par BEA sur l&#8217;IDE ou sur la technologie Flex.<br
/> <a
href="http://www.adobe.com/fr/products/flex/">Flex</a> semble être adopté par certains éditeurs du monde Java/J2EE, Oracle en Novembre dernier lors de son &laquo;&nbsp;Oracle OpenWorld&nbsp;&raquo; avait déjà <a
href="http://www.jamesward.org/wordpress/2007/11/12/oracle-chooses-flex-part-1/">présenté plusieurs utilisations maison de Flex</a>.</p><h4><a
name="GoogleFlash"></a>Google sait indexer le contenu Flash</h4><p>Ce n&#8217;est pas un fait très connu, mais oui Google sait indexer les fichiers Flash! Une recherche sur Google sur le type de fichier &laquo;&nbsp;swf&nbsp;&raquo; permet de s&#8217;en assurer: <a
href="http://www.google.fr/search?q=filetype%3Aswf">près de 23 millions de fichiers indexés</a>. En revanche, Google n&#8217;indexe que le contenu statique, en &laquo;&nbsp;dur&nbsp;&raquo; dans le code. Donc pas d&#8217;indexation pour les boutiques en ligne développées en Flex&#8230; Mais de nouvelles possibilités se profilent à l&#8217;horizon, d&#8217;après <a
href="http://blogs.cnet.com/8301-13530_1-9844989-28.html">cet article sur le blog CNET</a>, Google utilise désormais le <a
href="http://www.adobe.com/licensing/developer/search/faq/">Search Engine SDK d&#8217;Adobe</a> pour parser les fichiers Flash. Ce qui signifie deux choses:</p><ul><li>les développeurs vont pouvoir utiliser le Search Engine SDK pour optimiser le référencement de leurs fichiers Flash</li><li>pour peu qu&#8217;Adobe mette à jour son outil, on peut espérer dans un futur proche avoir la possibilité de référencer des applications Flex sans avoir à recourir à des techniques un peu barbares (copie statique HTML du contenu de l&#8217;application Flex par exemple&#8230;)</li></ul><h3>Le coin de la technique</h3><h4><a
name="HermesJMSConsole"></a>Rapide présentation de Hermes JMS Console</h4><p>Sur le blog Dev2Dev de BEA, on peut actuellement trouver une <a
href="http://dev2dev.bea.com/blog/jbayer/archive/2008/01/hermes_jms_open.html">rapide présentation</a> de Hermes JMS Console. Cette petite console est bien pratique pour explorer des files JMS et devrait faire partie de la trousse de base des développeurs. Pour la tester, c&#8217;est <a
href="http://hermesjms.com/confluence/display/HJMS/Home">ici</a> que ça se passe.</p><h4><a
name="OpenJPA"></a>Slice your database, OpenJPA</h4><p>Pinaki Poddar, employé BEA et committer sur le projet <a
href="http://openjpa.apache.org/">Apache OpenJPA</a> <a
href="http://www.theserverside.com/news/thread.tss?thread_id=48000">présente Slice</a> [1] , une extension d&#8217;OpenJPA qui permet un partitionnement horizontal multi-instances des bases de données (aka <a
href="http://www.highscalability.com/unorthodox-approach-database-design-coming-shard">database sharding</a>).</p><p>Si Slice est fonctionnellement un concurrent direct d&#8217;<a
href="http://shards.hibernate.org/">Hibernate Shards</a>, ce n&#8217;est encore qu&#8217;un &#8216;proof-of-concept&#8217; développé par une seule personne dans un sous projet de l&#8217;<a
href="http://people.apache.org/%7Eppoddar/fluid/site/welcome.html">Apache Lab Fluid</a> (&laquo;&nbsp;JPA for Service Data Object&nbsp;&raquo;).<br
/> Nous sommes très loin d&#8217;une version release (les <a
href="http://labs.apache.org/bylaws.html">règles des Apache Labs</a> stipulent qu&#8217;un lab ne peut pas faire de release) et on regrettera que Slice n&#8217;ait pas été développé en tant que sous-projet d&#8217;OpenJPA pour lui assurer un avenir plus certain.</p><p>Pour ceux qui espèrent voir OpenJPA s&#8217;étoffer pour concurrencer Hibernate, il faudra hélas patienter.</p><p>Nous en profitons pour émettre un voeu pour 2008 : l&#8217;intégration d&#8217;OpenJPA au moteur de recherche <a
href="http://lucene.apache.org/">Lucene</a> pour rivaliser avec <a
href="http://search.hibernate.org/">Hibernate Search</a> ; ce besoin est sûrement moins &#8216;hype&#8217; que la &#8216;database sharding&#8217; mais beaucoup proche des réalités de nos projets d&#8217;informatique de gestion.</p><p>[1] Ressources complémentaire sur BEA Dev2dev Blog : Slice : <a
href="http://dev2dev.bea.com/blog/pinaki.poddar/archive/2007/12/slice_openjpa_f.html">OpenJPA for Distributed databases part I </a>and <a
href="http://dev2dev.bea.com/blog/pinaki.poddar/archive/2008/01/slice_openjpa_f_1.html">Part II</a>.</p><h4><a
name="Geronimo"></a>Polémique sur l&#8217;avenir de Geronimo. IBM abandonne-t-il le projet ?</h4><p>The Server Side (TSS) commence l&#8217;année 2008 avec la très belle polémique <a
href="http://www.theserverside.com/news/thread.tss?thread_id=48035">Geronimo: Are its days numbered ?</a>. Le résultat est là. Plus de 50 commentaires souvent acerbes, un grande séance de &#8216;websphere bashing&#8217; toujours aussi peu argumentée ; de la vraie polémique The Server Side <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>Après s&#8217;être bien amusé avec le sensationnalisme de TSS, revenons sur les faits.</p><p>Le serveur J2EE Open Source Apache Geronimo a été lancé en 2003, époque à laquelle le serveur open source JBoss faisait frémir les éditeurs commerciaux qui voyaient en lui un concurrent très menaçant et d&#8217;un type nouveau auquel il n&#8217;avaient pas l&#8217;habitude d&#8217;être confronté.</p><p>A l&#8217;époque, les branches système d&#8217;exploitation et environnement de développement d&#8217;IBM avaient déjà adressé des concurrents open source (Linux et Sun NetBeans) en promouvant des alternatives elles aussi open source (Linux et Eclipse). Cette approche de type &laquo;&nbsp;quitte à ce que quelqu&#8217;un scie la branche sur laquelle je suis assis, autant que ce soit moi pour que j&#8217;anticipe mieux&nbsp;&raquo; a permis à IBM de très bien se placer sur Linux et de devenir l&#8217;acteur clef de la gouvernance du socle de développement aujourd&#8217;hui quasi-universel qu&#8217;est Eclipse.</p><p>IBM a <a
href="http://www.theserverside.com/news/thread.tss?thread_id=33830">racheté en 2005 GlueCode</a>, la société fondatrice de Geronimo, et on peut voir dans cette stratégie des similarités avec la gestion par Big Blue des enjeux Linux et Eclipse.</p><p>La suite des événements est elle, en revanche, légèrement différente mais pas moins à l&#8217;avantage d&#8217;IBM :</p><ul><li>JBoss n&#8217;a pas balayé les serveurs d&#8217;applications commerciaux comme le prédisait Marc Fleury, son virulent fondateur.</li><li>JBoss, <a
href="http://www.theserverside.com/news/thread.tss?thread_id=39866">racheté par RedHat en 2006</a>, est progressivement devenu un concurrent &#8216;classique&#8217; pour les éditeurs commerciaux.</li><li>BEA, le principal concurrent d&#8217;IBM sur le marché des serveurs d&#8217;applications, connaît des rumeurs récurrentes de rachat (cf. <a
href="http://www.theserverside.com/news/thread.tss?thread_id=47211">Oracle announces bid to buy BEA</a>).</li><li>Le serveur commercial d&#8217;IBM, Websphere Application Server, connaît une croissance forte et des parts de marché très solides chez ses clients.</li><li>Les serveurs J2EE commerciaux comme open source rencontrent aujourd&#8217;hui un nouveau type de concurrence : les simples moteurs de servlet comme Tomcat (cf <a
href="http://blog.springsource.com/main/2007/12/24/is-it-a-tomcat-or-the-elephant-in-the-room/">Is it a Tomcat, or the Elephant in the Room?</a> par  Rod Johnson, fondateur de Spring Framework).</li></ul><p>JBoss et les serveurs J2EE open source ne sont plus aujourd&#8217;hui des concurrents aussi menaçant qu&#8217;ils ne l&#8217;étaient lors du rachat de Glue Code ; il n&#8217;est donc pas étonnant que l&#8217;engagement d&#8217;IBM sur Geronimo semble aujourd&#8217;hui moins intense. Il ne s&#8217;agit pas d&#8217;un abandon mais juste d&#8217;un focus moins important.</p><p>Parallèlement, fort de ses succès auprès de ses clients, IBM poursuit ses investissements massifs sur sa stack commerciale Websphere Application Server qui sert de socle à Websphere ESB et Websphere Process Server.</p><p>Qu&#8217;y a-t-il d&#8217;anormal à voir une entreprise ne pas &laquo;&nbsp;mettre tous ses oeufs dans le même panier&nbsp;&raquo; et réajuster sa stratégie en fonction du marché ?</p><h4><a
name="GarbageCollection"></a><a
href="http://chaoticjava.com/posts/parallel-and-concurrent-garbage-collectors/">Présentation de certains algorithmes de garbage collection de la JVM de Sun</a></h4><p>Il est toujours intéressant de se pencher sur le fonctionnement du garbage collector de la machine virtuelle. Il faut cependant garder en tête que l&#8217;optimisation par changement d&#8217;algorithme de garbage collection ne fait pas de miracle : l&#8217;optimisation d&#8217;une application métier passe bien généralement d&#8217;abord par l&#8217;optimisation du code en lui-même.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/01/14/revue-de-presse-xebia-39/feed/</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2007/12/31/revue-de-presse-xebia-37/</link> <comments>http://blog.xebia.fr/2007/12/31/revue-de-presse-xebia-37/#comments</comments> <pubDate>Mon, 31 Dec 2007 14:24:04 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[Spring]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2007/12/31/revue-de-presse-xebia-37/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Concordiagile Le coin de la technique Java 7 Spring Integration samples Evènements de notre communauté en France et à l&#8217;étranger BEA convergence Day 2008 Actualité éditeurs / SSII Concordiagile Les trois sociétés qui se sont réunies autour des Rencontres Agiles [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/12/31/revue-de-presse-xebia-37/#Concordiagile">Concordiagile</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/12/31/revue-de-presse-xebia-37/#Java7">Java 7</a></li><li><a
href="http://blog.xebia.fr/2007/12/31/revue-de-presse-xebia-37/#SpringIntegration">Spring Integration samples</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/2007/12/31/revue-de-presse-xebia-37/#BEAconvergenceDay2008">BEA convergence Day 2008</a></li></ul><hr/><h3>Actualité éditeurs / SSII</h3><h4><a
name="Concordiagile"></a>Concordiagile</h4><p>Les trois sociétés qui se sont réunies autour des <a
href="http://www.rencontresagiles2007.com/">Rencontres Agiles 2007</a> ont décidés de poursuivre leurs efforts de promotion de l&#8217;Agilité en France en créant Concordiagile :</p><p>OCTO Technogy, Sfeir et Xebia décident de s&#8217;unir pour <strong>promouvoir les méthodes agiles en France</strong>. Cette alliance est baptisée « Concordiagile ».</p><p>L&#8217;informatique est un outil extraordinaire. Aucune autre invention humaine n&#8217;a autant progressé en si peu de temps, au service de notre imagination. L&#8217;informatique est aussi synonyme de lenteurs bureaucratiques, de dépassements budgétaires ou d&#8217;incompréhensions. Pourtant, nous y distinguons un <strong>potentiel sous-employé</strong> que nous souhaitons transformer au service de la confiance entre producteurs et consommateurs d&#8217;informatique.</p><p>L&#8217;objet de l&#8217;alliance est d&#8217;installer les pratiques de l&#8217;<strong>amélioration continue dans le secteur informatique</strong>, en commençant par la promotion des méthodes agiles.</p><p>L&#8217;alliance est ouverte à toutes les entreprises utilisatrices, sociétés de services et éditeurs qui embrassent cette vision.</p><p>Son activité se traduira par des <strong>rencontres d&#8217;échanges régulières</strong> entre ses membres, des séminaires et conférences telles que les Rencontres Agiles et d&#8217;un <strong>portail communautaire</strong> prochainement disponible.</p><h3>Le coin de la technique</h3><h4><a
name="Java7"></a>Java 7</h4><p>Suite à <a
href="http://www.javapolis.com/confluence/display/JP07/Home">JavaPolis&#8217;07,</a> Developpez.com a listé les propositions de Neal Gafter et Joshua Bloch pour Java 7. A travers l&#8217;article <a
href="http://blog.developpez.com/index.php?blog=12&amp;title=contribuez_pour_java_se_7_donnez_votre_a&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">Contribuez pour Java SE 7</a> un sondage est proposé pour chacune de ses propositions, lesquelles sont discutées dans le forum.</p><p>Une autre proposition qui continue de faire débat sont les closures, dont nous avions parlé dans ce précédent <a
href="http://blog.xebia.fr/2007/05/10/des-closures-en-java/">billet</a>. Dans cet article <a
href="http://www.infoq.com/news/2007/12/closures-preserving-feel-of-java">Closures and Preserving the Feel of Java</a>, InfoQ revient sur l&#8217;intervention de Joshua Bloch pour les CICE (Concise Instance Creation Expression), lesquels prennent un léger avantage au vote de JavaPolis devant les BGGA/FCM+JCA. Java 7 comportera propablement des closures (3/4 des votes pour), mais sous quelle forme ?</p><h4><a
name="SpringIntegration"></a>Spring Integration samples</h4><p>Mark Fisher nous présente une première série d&#8217;<a
href="http://blog.interface21.com/main/2007/12/21/spring-integration-samples/">exemples de Spring Intégration</a> et nous donne à l&#8217;occasion l&#8217;<a
href="https://anonsvn.springframework.org/svn/spring-integration/base/trunk">URL du repository Subversion</a> de ce projet actuellement en version 0.5-SNAPSHOT .</p><p>Comme nous le commentions en Décembre, l&#8217;arrivée de Spring Integration et la version 5 d&#8217;Apache ActiveMQ annoncent sans doute l&#8217;<a
href="http://blog.xebia.fr/2007/12/17/spring-integration-lavenement-des-lightweight-esb/">avènement des &laquo;&nbsp;lightweight ESB&nbsp;&raquo; pour l&#8217;année 2008</a>.</p><h3>Evènements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="BEAconvergenceDay2008"></a>BEA convergence Day 2008</h4><p>BEA débutera l&#8217;année avec l&#8217;édition 2008 de <a
href="http://www.beaconvergenceday2008.com/">BEA Convergence Day</a>.<br
/> La conférence et les ateliers sont ouverts à tous :</p><ul><li>Retours d&#8217;expériences par secteur d&#8217;activité : secteur public, télécommunications, énergie, industrie, distribution, finance, &#8230;</li><li>Ateliers technologiques pour un public technique, à la recherche d&#8217;informations pointues sur les dernières évolutions des solutions logicielles de BEA Systems.</li></ul> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2007/12/31/revue-de-presse-xebia-37/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2007/12/17/revue-de-presse-xebia-36/</link> <comments>http://blog.xebia.fr/2007/12/17/revue-de-presse-xebia-36/#comments</comments> <pubDate>Mon, 17 Dec 2007 17:28:44 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[SCA]]></category> <category><![CDATA[Spring]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2007/12/17/revue-de-presse-xebia-36/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII BEA et SCA Tour d&#8217;horizon des nouveautés de Oracle Database 11g Spring Integration Agilité Interviews agiles : Claude Aubry Le coin de la technique Quelles nouveautés dans Spring Security 2 ? Comparatif de trois serveurs d&#8217;application Java open source Introduction [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/12/17/revue-de-presse-xebia-36/#BEAetSCA">BEA et SCA</a></li><li><a
href="http://blog.xebia.fr/2007/12/17/revue-de-presse-xebia-36/#OracleDatabase11g">Tour d&#8217;horizon des nouveautés de Oracle Database 11g</a></li><li><a
href="http://blog.xebia.fr/2007/12/17/revue-de-presse-xebia-36/#SpringIntegration">Spring Integration</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/12/17/revue-de-presse-xebia-36/#ClaudeAubry">Interviews agiles : Claude Aubry</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/12/17/revue-de-presse-xebia-36/#SpringSecurity2">Quelles nouveautés dans Spring Security 2 ?</a></li><li><a
href="http://blog.xebia.fr/2007/12/17/revue-de-presse-xebia-36/#Comparatif">Comparatif de trois serveurs d&#8217;application Java open source</a></li><li><a
href="http://blog.xebia.fr/2007/12/17/revue-de-presse-xebia-36/#SpringAOP">Introduction à Spring AOP</a></li></ul><hr/><h3>Actualité éditeurs / SSII</h3><h4><a
name="BEAetSCA"></a>BEA et SCA</h4><p>BEA vient de mettre à disposition SCA for WebLogic Server 10.3  en &#8216;Tech Preview&#8217;. D&#8217;après cet <a
href="http://dev2dev.bea.com/blog/editors/archive/2007/12/sca_for_weblogi.html">article</a>, BEA s&#8217;appuie sur le project Open Source <a
href="http://docs.codehaus.org/display/FABRICTHREE/Home">Fabric3</a>. Pour mémoire, le concept de SCA a été détaillé sur notre <a
href="http://blog.xebia.fr/2007/04/11/introduction-a-sca-service-component-architecture/">blog</a> par l&#8217;un de nos consultants : Christophe Heubes.<br
/> Après la simple exposition de services, nous arrivons dans la composition de services &#8230;</p><h4><a
name="OracleDatabase11g"></a>Tour d&#8217;horizon des nouveautés de Oracle Database 11g</h4><p>Nos confrères de Ippon Technologies détaillent <a
href="http://blog.ippon.fr/2007/12/14/oracle-database-11g/">les nouveautés dans la version 11g</a> de la célèbre base de données Oracle. On y lit des nouveautés qui concernent le développement (compatibilité de la JVM Oracle avec le JDK 5), la disponibilité (amélioration de la synchronisation d&#8217;une instance en &laquo;&nbsp;standby&nbsp;&raquo; par Oracle DataGuard), l&#8217;outillage (outil d&#8217;analyse d&#8217;impact des changements dans la structure ou les données sur les performances) ou encore la sécurité (support de l&#8217;encryption SSL par le driver thin).</p><h4><a
name="SpringIntegration"></a>Spring Integration</h4><p>A l&#8217;occasion du salon <a
href="http://www.thespringexperience.com/">Spring Experience</a>, SpringSource (ex Interface 21) a <a
href="http://www.thespringexperience.com/show_session_view.jsp?presentationId=292&amp;showId=46">annoncé</a> la sortie de Spring Integration. Un framework implémentant &#8216;<a
href="http://www.eaipatterns.com/">Enterprise Integration Patterns</a>&#8216; en réutilisant les composants déjà exposés dans Spring Framework (JPA, JDBC, JMS, Http, JMX, email, etc). L&#8217;<a
href="http://blog.interface21.com/main/2007/12/14/spring-integration-a-new-addition-to-the-spring-portfolio/">article</a> de Mark Fisher nous détaille les grands principes basés sur des interfaces simples :</p><ul><li><tt>Message</tt> un container qui encapsule n&#8217;importe quel type de donnée</li><li><tt>MessageChannel</tt> fourni les méthodes d&#8217;envoi et de réception et</li><li><tt>MessageEndpoint</tt> connecte un <tt>MessageHandler</tt> vers un <tt>MessageChannel</tt> d&#8217;entrée ou de sortie.</li><li><tt>MessageHandler</tt> est une interface générique qui permet d&#8217;insérer des traitements de type &#8216;Transformation&#8217;, &#8216;Logging&#8217;, &#8216;Routage&#8217;, etc.</li></ul><p>Spring Integration, aujourd&#8217;hui disponible en version 0.5, devrait être releasé en version définitive 1.0 en Q2 2008.</p><p>Cette annonce pose la question de <a
href="http://blog.xebia.fr/2007/12/17/spring-integration-lavenement-des-lightweight-esb/">l&#8217;avènement des &#8216;lightweight ESB&#8217;</a>.</p><h3>Agilité</h3><h4><a
name="ClaudeAubry"></a>Interviews agiles : Claude Aubry</h4><p><a
href="http://blog1.lemondeinformatique.fr/ingenierie_logicielle/2007/12/interviews-ag-1.html">Interview sur le blog de &laquo;&nbsp;Le monde informatique&nbsp;&raquo; de Claude Aubry </a>, consultant indépendant expert en méthodes agiles, qui donne ici quelques retours d&#8217;expérience sur la mise en place des méthodes agiles, souvent le duo Scrum + XP.<br
/> Claude Aubry sera présent Mardi 18 Décembre aux <a
href="http://www.rencontresagiles2007.com/">Rencontres Agiles 2007</a>, et donnera <a
href="http://www.rencontresagiles2007.com/post/2007/12/10/Retours-dexpeacuterience-sur-lintroduction-de-Scrum">une présentation sur ce sujet</a>.</p><p>A suivre également lors de la conférence la session <a
href="http://www.rencontresagiles2007.com/post/2007/12/11/ADDM-%3A-Des-eacutequipes-agiles-distribueacutees">ADDM, des équipes agiles distribuées</a>, lors de laquelle Guillaume Bodet, directeur technique de Xebia France, présentera à l&#8217;auditoire notre retour d&#8217;expérience sur la mise en place des méthodes agiles en mode offshore.</p><h3>Le coin de la technique</h3><h4><a
name="SpringSecurity2"></a>Quelles nouveautés dans Spring Security 2 ?</h4><p>&laquo;&nbsp;Spring Security 2&#8243; est le nom de la nouvelle version d&#8217;<a
href="http://www.acegisecurity.org/">Acegi Security</a>, solution de sécurité performante et puissante pour les applications d&#8217;entreprise Java/J2E. Acegi est particulièrement adapté aux applications qui utilisent déjà Spring.<br
/> L&#8217;outil est effectivement performant, et répond à la majorité des besoins de sécurité, mais il y a un coût d&#8217;entrée, les fichiers de configuration Spring sont vraiment indigestes (le XML n&#8217;est déjà pas fait pour être lu par un humain, mais alors là&#8230;)! Certes c&#8217;est toujours mieux que de coder la mise en place d&#8217;un cookie &laquo;&nbsp;remember me&nbsp;&raquo; à la main par exemple, mais tout de même&#8230;</p><p>Acegi a été repensé, et <a
href="http://blog.interface21.com/main/2007/12/06/whats-new-in-spring-security-2/">Spring Security 2.0.0 M1 montre de grands progrès sur la partie configuration.</a>. Quelques nouvelles fonctionnalités du framework sont également listées dans l&#8217;article.</p><h4><a
name="Comparatif"></a>Comparatif de trois serveurs d&#8217;application Java open source</h4><p>Jonathan Campbell a publié sur JavaWorld un <a
href="http://www.javaworld.com/javaworld/jw-12-2007/jw-12-appservers.html">article comparant trois serveurs d&#8217;application Open Source</a> (JBoss 4.2, Geronimo 2, Tomcat 6).<br
/> Cette étude compare les trois serveurs sur des critères discutables. Nous sommes rassurés de voir que que JSP, JSF et Hibernate sont supportés. En revanche, nous regretterons  le peu d&#8217;intérêt porté aux aspects exploitation des middlewares comme le scripting ou le monitoring.</p><p>Il ressort de ce comparatif que Geronimo est le plus complet, que JBoss ne supporte pas complètement le standard Java EE 5, que les trois serveurs sont simples à installer et enfin que Tomcat est la solution la plus légère en fonctionnalités et en consommation de ressources.</p><p>Pour les performances, sujet sympathique car source de polémiques, on peut discuter de l&#8217;intérêt de créer plus grand nombre de sessions Http. Ces serveurs en supportent plus d&#8217;un million simultanées, cela intéressera peu d&#8217;utilisateurs. De toute façon, JBoss comme Geronimo utilisent Tomcat comme conteneur de servlets donc il ne devrait pas y avoir de grandes différences.</p><p>Outre l&#8217;absence remarquée de Glassfish, on regrettera que l&#8217;auteur n&#8217;ait pas cherché à comprendre pourquoi Geronimo est le serveurs le moins utilisé parmi les trois étudiés alors qu&#8217;il arrive en tête du classement. Manquait-il des critères à ce comparatif ?</p><h4><a
name="SpringAOP"></a>Introduction à Spring AOP</h4><p>Un <a
href="http://ewawszczyk.developpez.com/tutoriel/java/spring/aop/">tutoriel</a> qui a le mérite d&#8217;être très clair et très bien détaillé. Une bonne introduction &#8230;</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2007/12/17/revue-de-presse-xebia-36/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/</link> <comments>http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#comments</comments> <pubDate>Mon, 10 Dec 2007 17:59:22 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Aqualogic]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[Groovy]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JBoss]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[Seam]]></category> <category><![CDATA[Tomcat]]></category> <category><![CDATA[Websphere]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Aqualogic Service Bus 3.0 IBM et l&#8217;intégration continue Websphere Process Server 6.1 : renforcement des workflows humains Websphere Application Server 6.1 supporte les EJB 3 Agilité Le monde devient agile Le coin de la technique Apache Tomcat, la star des [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#ALSB">Aqualogic Service Bus 3.0</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#IBM">IBM et l&#8217;intégration continue</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#WPS">Websphere Process Server 6.1 : renforcement des workflows humains</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#WAS">Websphere Application Server 6.1 supporte les EJB 3</a></li></ul><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#Lemonde">Le monde devient agile</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#ApacheTomcat">Apache Tomcat, la star des serveurs d&#8217;applications ?</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#hashmap">La collision dans les hashmap</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#JBossSeam">Introducing JBoss Seam</a></li><li><a
href="http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/#Groovy">Groovy 1.5</a></li></ul><hr/><h3>Actualité éditeurs / SSII</h3><h4><a
name="ALSB"></a>Aqualogic Service Bus 3.0</h4><p>La nouvelle version de l&#8217;ESB de BEA est pour bientôt. Parmis les fonctionnalités majeures attendues on retrouve :</p><ul><li>non seulement  la performance (Gestion des messages de grandes tailles, routine XSLT/Xquery et une meilleure gestion de caches lié à la sécurité)</li><li>mais également l&#8217;intégration avec les différents élements de la suite Aqualogic, en particulier avec Aqualogic Registry Repository et sa vision SCA (Service Component Architecture).<br
/> L&#8217;intégration consiste également à généraliser le developpement lié au bus. Dans les versions précédentes, l&#8217;approche consistait principalement à du paramétrage: le developpeur se connecte au bus, importe ses resources (XSchéma, WSDL), défini ses Business Services et Proxy Services. Unitairement cette approche est séduisante mais au niveau d&#8217;une réelle mise en oeuvre sur un projet d&#8217;entreprise cette méthode montre rapidement ces limites:</p><ul><li>gestion des environnements et des versions : le passage d&#8217;un environement de dev à un environnement de recette se fait par un unique mécanisme d&#8217;import / export</li><li>mauvaise vision d&#8217;ensemble : refactoring et mutualisation de resources impossible</li></ul></li></ul><p>L&#8217;approche proposée par ALSB 3.0 est de pouvoir effectuer toutes ces opérations depuis un environement de travail unifié sous Workshop Studio (Eclipse) et d&#8217;ensuite pouvoir déployer (au sens J2EE) l&#8217;applications &#8216;bus&#8217; dans un environement adéquat, de gérer ses resources dans un gestionnaire de source type CVS/SVN, de se connecter facilement à un repository de services pour les assembler et les composer (SCA).<br
/> Reférence : <a
href="http://dev2dev.bea.com/blog/npatil/archive/2007/12/aqualogic_service_bus_30_sneak.html">AQUALOGIC SERVICE BUS 3.0 sneak preview</a> sur Dev2Dev.</p><h4><a
name="IBM"></a>IBM et l&#8217;intégration continue</h4><p>IBM possède maintenant lui aussi sa propre solution d&#8217;intégration continue : IBM Rational Build Forge.<br
/> Il commence aussi à pondre des articles sur le sujet, comme celui-ci : <a
href="http://www.ibm.com/developerworks/java/library/j-ap11297/index.html?ca=drs-">Automation for the people: Continuous Integration anti-patterns</a>.</p><p>Reste à suivre cette série d&#8217;articles pour voir ce que cette solution apporte face aux actuels leaders du marché.<br
/> Le tutoriel : <a
href="http://www.ibm.com/developerworks/edu/r-dw-r-buildforge1.html?ca=drs-tp4907">Improve your build process with IBM Rational Build Forge, Part 1</a>.</p><h4><a
name="WPS"></a>Websphere Process Server 6.1 : renforcement des workflows humains</h4><p>Les éditeurs de serveurs de processus <a
href="http://en.wikipedia.org/wiki/BPEL">BPEL</a> avaient encore rappelé en juin 2007 leur intention de couvrir le domaine des workflows humains avec la publication du standard <a
href="http://en.wikipedia.org/wiki/WS-BPEL_Extension_for_People">WS-BPEL Extension for People</a> (Active Endpoints, Adobe, BEA, IBM, Oracle et SAP).</p><p>IBM franchit aujourd&#8217;hui une nouvelle étape avec l&#8217;enrichissement des fonctionnalités de workflows humains dans la version 6.1 de Websphere Process Server et de Websphere Integration Developer. Si l&#8217;infocenter 6.1 n&#8217;a pas encore été publié, des introductions sont déjà disponibles sur Developerworks : <a
href="http://www.ibm.com/developerworks/websphere/library/techarticles/0712_fasbinder_wps/0712_fasbinder.html?ca=drs-">What&#8217;s new in WebSphere Process Server V6.1</a> <a
href="http://www.ibm.com/developerworks/websphere/library/techarticles/0712_fasbinder_wid/0712_fasbinder.html?ca=drs-">What&#8217;s new in WebSphere Integration Developer V6.1</a>.</p><p>Est-ce le moment de remplacer les moteurs de workflow par des serveurs de processus BPEL ? Ce choix est à évaluer au cas par cas étant données les limitations de WS-BPEL Extension for People [1].</p><p>[1] voir <a
href="http://is.tm.tue.nl/staff/wvdaalst/BPMcenter/reports/2007/BPM-07-10.pdf">Evaluation of the BPEL4People and WS-HumanTask Extensions to WS-BPEL 2.0 using the Workflow Resource Pattern</a> par Nick Russell and Wil M.P. van der Aalst, Université d&#8217;Eindhoven.</p><h4><a
name="WAS"></a>Websphere Application Server 6.1 supporte les EJB 3</h4><p>Websphere 6.1 supporte désormais les EJB 3.0 avec le <a
href="http://www-1.ibm.com/support/docview.wss?rs=180&amp;context=SSEQTP&amp;context=SSCMGN&amp;dc=D600&amp;uid=swg21287579&amp;loc=en_US&amp;cs=UTF-8&amp;lang=en">Feature Pack for EJB 3.0</a>. Un complément au <a
href="http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/covr_featurepack_wbs.html">Feature Pack for Web Services</a> pour entrer dans le monde Java EE 5 et préparer Websphere 7.</p><p>Rappelons que l&#8217;implémentation JPA repose sur <a
href="http://openjpa.apache.org/">Apache OpenJPA</a> et que celle de JAX-WS est une adaptation d&#8217;<a
href="http://ws.apache.org/axis2/">Axis 2</a>.</p><p>Des tutoriels du Feature pack for EJB 3.0 sont disponibles sur <a
href="http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/topic/com.ibm.iea.wasfpejb/wasfpejb/wasfpejb_Task.html">IBM Education Assistant for WebSphere Application Server V6.1 Feature Pack EJB 3.0</a>.</p><h3>Agilité</h3><h4><a
name="Lemonde"></a>Le monde devient agile</h4><p>Les temps changent et Le Monde Informatique aussi <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br
/> Avec un titre qui pourrait facilement créer des polémiques auprès de ses lecteurs habituels, Le monde informatique nous décrit très brièvement les méthodes agiles les plus populaires (XP et Scrum). Il nous invite à assister aux rencontres agiles auxquelles il s&#8217;associe et qui auront lieu le 18 décembre prochain, à Paris La Défense.</p><p>L&#8217;article : <a
href="http://www.lemondeinformatique.fr/actualites/lire-des-rencontres-agiles-pour-ameliorer-le-taux-de-reussite-des-projets-24790.html">Des rencontres agiles pour améliorer le taux de réussite des projets</a></p><h3>Le coin de la technique</h3><h4><a
name="ApacheTomcat"></a>Apache Tomcat, la star des serveurs d&#8217;applications ?</h4><p>Le cabinet <a
href="http://www.bzresearch.com/">BZ Research</a> estime qu&#8217;Apache Tomcat est <a
href="http://www.infoq.com/news/2007/12/tomcat-favorite-container">utilisé par 64% des développeurs Java</a>, suivi par IBM Websphere et JBoss Application Server. Si l&#8217;on peut débattre de la précision des chiffres, la tendance est indiscutable. L&#8217;utilisation de Tomcat sur les postes de développement est en train de se banaliser et des grand comptes montrent la pertinence de Tomcat en production (Morgan Stanley pour la finance, <a
href="http://www.eos1.dk/qcon/sf2007/slides/public/JeanLucVaillant_LinkedIn.pdf">LinkedIn</a> et <a
href="http://www.eos1.dk/qcon/sf2007/slides/public/IanFlint_YahooCommunitiesArchitecture.pdf">Yahoo</a> pour l&#8217;Internet, etc).</p><p>A quand du support commercial en France pour Tomcat ?</p><h4><a
name="hashmap"></a>La collision dans les hashmap</h4><p>Il est bon de rappeler parfois qu&#8217;une Map (HashMap,Hashtable,&#8230;) n&#8217;est efficace que si la fonction de hash() est performante. Mais la performance d&#8217;une telle fonction engendre nécessairement des collisions. Ce <a
href="http://www.codinghorror.com/blog/archives/001014.html">billet</a> de chez &#8216;Coding Horror&#8217; illustre parfaitement cette dualité (Cases à Pigeon vs Le paradoxe des anniversaires)</p><h4><a
name="JBossSeam"></a>Introducing JBoss Seam</h4><p>JBoss Seam nous vante de simplifier J2EE et de rendre utilisable JSF. Reste à savoir quel est l&#8217;intérêt d&#8217;utiliser un standard qui nous oblige à le compléter avec d&#8217;autres frameworks du marché et de fait, nous écarter du standard &#8230;</p><p><a
href="http://www.developer.com/java/ejb/article.php/10931_3715171_1">L&#8217;introduction</a> &#8230;</p><h4><a
name="Groovy"></a>Groovy 1.5</h4><p>Guillaume Laforge nous présente les principales caractéristiques de la version <a
href="http://www.infoq.com/articles/groovy-1.5-new">Groovy 1.5</a> dans cet article sur InfoQ :</p><ul><li>Intégration Java5 : ajout des annotations, generic types, enums, varargs, static imports, covariant return type</li><li>Syntaxe :<br
/> - Elvis operator &#8216;?:&#8217; (smiley avec la banane) :</p><pre class="brush: java; title: ; notranslate">x ?: &quot;defaut&quot;</pre><p> equivaut en java à</p><pre class="brush: java; title: ; notranslate">x != null ? x : &quot;defaut&quot;</pre><p> - Java &#8216;for&#8217; : les for syntaxe java sont désormais possibles<br
/> - named parameters sans parentèses</li><li>Outils :<br
/> &#8211; Joint compiler : permet de compiler des sources java et groovy ensemble sans se soucier des dépendances entre classes<br
/> &#8211; <a
href="http://mojo.codehaus.org/groovy/index.html">MOJO Maven plugin</a><br
/> &#8211; GroovyDoc : équivalent de JavaDoc pour Groovy<br
/> &#8211; Nouveau <a
href="http://groovy.codehaus.org/Groovy+Shell">Groovy shell</a> : pour les fans de VI<br
/> &#8211; <a
href="http://groovy.codehaus.org/IntelliJ+IDEA+Plugin+%28JetBrains+Edition%29">IntelliJ IDEA JetGroovy plugin</a></li><li>Amélioration des performances</li><li>MetaClass : permet entre autre de rajouter des méthodes au runtime</li><li>Swing on Steroids : pour construire des interfaces Swing plus facilement</li></ul><p>Ce langage dynamique fort de son succès avec la version 1.0, améliore ici sa compatibilité avec Java et l&#8217;outillage commence à s&#8217;étoffer. Ce langage vaut vraiment le détour.<br
/> Pour aller plus loin, InfoQ a récemment interviewé Guillaume Laforge sur <a
href="http://www.infoq.com/interviews/guillaume-laforge-groovy">Groovy et les Domain-Specific Languages</a>.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2007/12/10/revue-de-presse-xebia-35/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/</link> <comments>http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/#comments</comments> <pubDate>Mon, 12 Nov 2007 15:22:31 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[BEA]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Seam]]></category> <category><![CDATA[Weblogic]]></category> <category><![CDATA[Websphere]]></category> <category><![CDATA[Wicket]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/</guid> <description><![CDATA[La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Weblogic Server 10.3 Le coin de la technique Release de Seam 2.0 Un vent de Websphere 7 chez IBM Apache Wicket 1.3.0-rc1 is released! Actualité éditeurs / SSII Weblogic Server 10.3 Cette nouvelle mouture du serveur d&#8217;application de BEA reste [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l&#8217;actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/#WeblogicServer10">Weblogic Server 10.3</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/#Seam">Release de Seam 2.0</a></li><li><a
href="http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/#Websphere">Un vent de Websphere 7 chez IBM</a></li><li><a
href="http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/#ApacheWicket">Apache Wicket 1.3.0-rc1 is released!</a></li></ul><hr
/><h3>Actualité éditeurs / SSII</h3><h4><a
name="WeblogicServer10"></a>Weblogic Server 10.3</h4><p>Cette nouvelle mouture du serveur d&#8217;application de BEA reste conforme aux spécifications J2EE 5 tout en ajoutant le support de Java SE 6. Donc peu de nouveautés technico-fonctionnelles, l&#8217;accent a été mis sur les performances. Cette version vient de sortir en mode &#8216;<a
href="http://commerce.bea.com/showproduct.jsp?family=WLS&amp;major=10.3Tech&amp;minor=-1">Tech Preview</a>&#8216;. La version 10.3 deviendrat-elle une version aussi performante et stable qu&#8217;est (ou fût) la version 8.1SP5+ ?</p><h3>Le coin de la technique</h3><h4><a
name="Seam"></a>Release de <a
href="http://sourceforge.net/project/showfiles.php?group_id=22866&amp;package_id=163777&amp;release_id=551158">Seam 2.0</a></h4><p>Pour rappel, Seam permet de mettre en des applications par le biais des technologies JSF, EJB 3, AJAX, BPM&#8230; Sa nouvelle version arrive avec ses lots <a
href="http://in.relation.to/Bloggers/WhatsNewInSeam2">de corrections et d&#8217;améliorations</a> parmi lesquelles :</p><ul><li>possibilité d&#8217;écrire des composants Seam en Groovy</li><li>intégration de GWT pour le rendering de page ou bien encore inclure des composants GWT dans une page JSF</li><li>les composants Seam peuvent faire l&#8217;office de Web Service</li><li>intégration de Hibernate Search</li><li>syntaxe des EL améliorée</li></ul><h4><a
name="Websphere"></a>Un vent de Websphere 7 chez IBM</h4><p>IBM nous prépare à Websphere 7, ses EJB3, sa persistance JPA et ses web services JAX-WS 2.0  en publiant le redbook <a
href="http://www.redbooks.ibm.com/abstracts/sg247497.html">Designing and Coding Applications for Performance and Scalability in WebSphere Application Server</a> et en annonçant <a
href="https://www14.software.ibm.com/iwm/web/cc/earlyprograms/rational/RAD75OpenBeta/index.shtml">Rational Application Developer 7.5 Open Beta</a>.</p><p>RAD 7.5, dont la beta sera disponible mi-décembre, apporte le support de support de Java EE 5 (EJB 3, JPA, JAX-WS, etc). La sortie de cette version, en avance sur Websphere 7, rassurera les clients RAD qui avaient été déçus par le décalage de plusieurs mois entre la sortie de WAS 6.1 et celle de RAD 7 (la v7 de RAD apportait le support de Java 5 et le WAS 6.1 runtime environment).</p><p><em>Designing and Coding Applications for Performance and Scalability in WebSphere Application Server</em> est un RedBook de transition de l&#8217;ère des EJB 2.1 vers les nouveaux EJB 3.0 qui seront supportés par le futur Websphere 7 :</p><p>On y retrouve hélas quelques exemples légèrement <em>défraîchis</em> qui font penser à des copier/coller des redbooks précédents :</p><ul><li>Le chapitre sur l&#8217;utilisation des mécanismes de synchronisation (p99) mériteraient d&#8217;être réécrit en s&#8217;inspirant du très intéressant Google Tech Talk <a
href="http://video.google.com/videoplay?docid=8394326369005388010&amp;hl=en">Advanced Topics in Programming Languages: The Java Memory Model</a> de Jeremy Manson qui nous expliquent comment les blocs <tt>synchronized</tt> devraient être remplacé par les verrous introduis avec la librairie <tt>java.util.concurrent.locks</tt></li><li>Les exemples qui utilisent <tt>Vector</tt> et <tt>Hashtable</tt> pourraient avantageusement être mis à jour pour parler de <tt>List</tt>/<tt>ArrayList</tt> et de <tt>Map</tt>/<tt>HashMap</tt></li><li>Le paragraphe sur Struts et ses <tt>ActionForm</tt> pourrait être remplacé par son équivalent avec Struts2 ou être supprimé si IBM ne souhaite pas mettre en avant Struts2.</li></ul><p>A côté de ces anachronismes mineurs, IBM nous livre les grands axes de la stratégie Websphere :</p><ul><li>SCA/SDO sont toujours des technologies clefs. Ce redbook nous explique avec clarté et raison leur rôle et leur position par rapport à EJB3/JPA : <em>If you are developing a traditional (non SOA) application and only have relational data and are only developing in Java, then EJB 3.0 is a good choice. (p 449)</em>.</li><li>Java Connector Architecture (JCA) est désormais la technologie standard et unifiée pour accéder aux Enterprise Information Systems (EIS) comme CICS et IMS dont les connecteurs Java propriétaires ont été remplacés par des Resources Adapter JCA [1]. Le support de l&#8217;API JCA permet une intégration élégante à SpringFramework [2].</li><li>EJB3, JPA et JAX-WS sont les successeurs respectifs d&#8217;EJB 2.1, d&#8217;EJB CMP et de JAX-RPC ; ils sont disponibles avec WAS 6.1 sous forme de <em>feature pack</em> additionnels [3] ; Websphere 7 les embarquera en standard. Ce redbook sera une bonne introduction pour ceux qui n&#8217;ont pas encore eu le temps de découvrir ces nouvelles technologies.</li></ul><p>Pour conclure, RAD 7.5 et ce redbook sont principalement des <em>previews</em> des technologies JavaEE 5 (EJB3, JPA, JAX-WS, etc) que nous attendons avec impatience et qui seront disponible avec Websphere 7.</p><p>D&#8217;ici à y voir les prémices d&#8217;une grande opération de <em>teasing</em> pour préparer l&#8217;imminente arrivée de Websphere 7 &#8230; <img
class="emoticon" src="/confluence/images/icons/emoticons/wink.gif" alt="" align="absmiddle" border="0" height="20" width="20"></p><p>[1] Voir <a
href="http://www-306.ibm.com/software/data/ims/ims/components/tm-resource-adapter.html">IMS TM Resource Adapter</a> et <a
href="http://www-306.ibm.com/software/htp/cics/ctg/">CICS Transaction Gateway</a>.<br
/> [2] Voir <a
href="http://www.javaworld.com/javaworld/jw-08-2005/jw-0822-cics.html">Access CICS applications with Spring</a> par Thierry Templier pour JavaWorld.<br
/> [3] Voir <a
href="https://www14.software.ibm.com/iwm/web/cc/earlyprograms/websphere/was61ejb3/">WebSphere® Application Server Version 6.1 Feature Pack for EJB 3.0</a> et <a
href="http://www-1.ibm.com/support/docview.wss?rs=180&amp;uid=swg21264563">Feature Pack for Web Services for WebSphere Application Server V6.1</a></p><h4><a
name="ApacheWicket"></a><a
href="http://wicket.apache.org/wicket-130-rc1.html">Apache Wicket 1.3.0-rc1</a> is released!</h4><p> Le projet Wicket avance et entre en release candidates. Cela signifie que seulement des corrections de bugs seront faites jusque la sortie finale de la version 1.3.<br
/> Au programme de cette release :</p><ul><li>un <a
href="http://cwiki.apache.org/WICKET/migrate-13.html">guide de migration</a> à partir de la version 1.2 : l&#8217;API a évolué/changé et donc pas mal de changements sont à prévoir.</li><li>beaucoup de bugs ont été corrigés, et les évolutions sont nombreuses. <a
href="http://wicket.apache.org/wicket-130-rc1.html#wicket-1.3.0-rc1-Reportingbugs">Voici la liste</a>.</li></ul> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2007/11/12/revue-de-presse-xebia-31/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
