<?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; Adobe</title> <atom:link href="http://blog.xebia.fr/tag/adobe/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</title><link>http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/</link> <comments>http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/#comments</comments> <pubDate>Tue, 15 Nov 2011 06:12:59 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[citcon]]></category> <category><![CDATA[Flash Player]]></category> <category><![CDATA[Flex]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[RIA]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=9144</guid> <description><![CDATA[La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia. RIA Inquiétude de la communauté Flex suite aux annonces d&#8217;Adobe Le coin de la technique Sortie de JQuery 1.7 Evénements de notre communauté en France et à l&#8217;étranger CITCON London 2011 RIA Inquiétude de la communauté Flex suite aux annonces d&#8217;Adobe La semaine dernière, [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.</em></p><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/#InquitudedelacommunautFlexsuit">Inquiétude de la communauté Flex suite aux annonces d&#8217;Adobe</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/#SortiedeJQuery">Sortie de JQuery 1.7</a></li></ul><p><strong>Evénements de notre communauté en France et à l&#8217;étranger</strong></p><ul><li><a
href="http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/#CITCONLondon">CITCON London 2011</a></li></ul><h3><a
name="RIA"></a>RIA</h3><h4><a
name="InquitudedelacommunautFlexsuit"></a>Inquiétude de la communauté Flex suite aux annonces d&#8217;Adobe</h4><p>La semaine dernière, il y a eu beaucoup de confusions, et de rumeurs suite aux diverses annonces d&#8217;Adobe concernant Flash, Flex et HTML5. Tout a commencé lorsqu&#8217;Adobe a annoncé la semaine dernière l&#8217;<a
href="http://blogs.adobe.com/flashplatform/2011/11/flash-to-focus-on-pc-browsing-and-mobile-apps-adobe-to-more-aggressively-contribute-to-html5.html" title="abandon de Flash Player pour mobile" >abandon de Flash Player pour mobile</a>. Une vague de rumeurs et de confusions s&#8217;est alors abattue un peu partout, certaines personnes confondant le Flash Player avec la solution AIR pour mobile qu&#8217;Adobe ne compte pas abandonner. Tout aurait pu s&#8217;arrêter là mais c&#8217;était sans compter sur les autres communiqués plutôt maladroits d&#8217;Adobe pour annoncer leur intention de miser sur <a
href="http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html" title="HTML5 dans le futur" >HTML5 dans le futur</a> et de leur intention de fournir <a
href="http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html" title="Flex à la communauté" >Flex à la communauté</a>. Ce qui a provoqué de vives réactions au sein de la communauté Flex, le plus parlant est bien entendu le <a
href="http://www.flex-tutorial.fr/2011/11/14/point-important-sur-les-decisions-dadobe-sur-le-futur-de-la-flash-platform-et-de-flex/" title="billet de Fabien Nicollet" >billet de Fabien Nicollet</a> auteur du blog Flex Tutorial qui montre bien l&#8217;inquiétude et l&#8217;incompréhension face à ces annonces. Finalement, suite à la panique engendrée, <a
href="http://www.riagora.com/" title="Michael Chaize" >Michael Chaize</a>, évangéliste de la plateforme Flash chez Adobe France a pris l&#8217;initiative de réaliser un communiqué non officiel à la communauté francophone pour la rassurer. Dans ce qui peut être dit :</p><ul><li>Adobe n&#8217;abandonnera pas Flex, une équipe Adobe &#8211; diminuée certes &#8211; travaillera en collaboration avec la communauté et d&#8217;autres sociétés utilisatrices de Flex,</li><li>La totalité du projet Flex sera donnée à la communauté mais on ne sait pas encore à quelle fondation open source elle appartiendra,</li><li>Adobe devrait donner plus d&#8217;informations sur Flex au moment de la sortie de la release de la version 4.6 qui est prévue pour le 29 Novembre 2011.</li></ul><p>Au delà de la communauté francophone, on peut voir aussi beaucoup de réactions au travers des commentaires et réactions sur Twitter. Ce qui commence à faire réagir Adobe qui s&#8217;active pour réaliser une communication plus claire. Cette maladresse semble avoir ébranlé la communauté Flex. Espérons que les annonces à venir permettront de rassurer tout le monde et que l&#8217;ouverture de Flex à la communauté soit le début de belles initiatives.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="SortiedeJQuery"></a>Sortie de JQuery 1.7</h4><p>La nouvelle version de la très populaire librairie Javascript est <a
href="http://blog.jquery.com/2011/11/03/jquery-1-7-released/" title="sortie" >sortie</a> en début de mois avec son lot de nouveautés.</p><p>Au rang des changements, on notera l&#8217;apparition d&#8217;une nouvelle API de gestion des évènements. Celle-ci remplace et unifie les méthodes existantes de <em>binding</em> d&#8217;évènements (<code>bind()</code>, <code>click()</code>, <code>delegate()</code> et <code>live()</code>) par la méthode <code>on()</code>, et d&#8217;<em>unbinding</em> (<code>unbind()</code>, <code>undelegate()</code> et <code>die()</code>) par la méthode <code>off()</code>.<br
/> Cette nouvelle méthode <code>on</code> est définie par la signature suivante : <code>on(events [,selector] [,data], handler)</code> (les éléments entre crochets sont optionnels). Elle permet donc d&#8217;associer une fonction de <em>callback</em> (<code>handler</code>) à un ou plusieurs évènement(s) déclenché(s) dans l&#8217;objet sur lequel la méthode <code>on</code> est appelé. Il est aussi possible de filtrer les éléments sur lesquels cette méthode s&#8217;applique à l&#8217;aide d&#8217;un <em>css selector</em> et de passer des données à la fonction de <em>callback</em>.<br
/> La fonction <code>off</code> de son côté possède la signature <code>off([events], [,selector] [,handler])</code> permettant de supprimer des <em>bindings</em>. Les méthodes de <em>binding</em> habituelles sont encore présentes pour des raisons de rétro-compatibilité mais sont désormais dépréciées.</p><p>Cette nouvelle API vient avec une nouveau moteur de gestion des évènements qui amène une amélioration sensible des performances dans la majorité des cas.</p><p>Pour ce qui est des autres nouveautés :</p><ul><li>amélioration du support de HTML5,</li><li>un fonctionnement plus intuitif des méthodes <code>slideToggle()</code> et <code>fadeToggle()</code>,</li><li>le support de l&#8217;API <a
href="https://github.com/amdjs/amdjs-api/wiki/AMD" title="Asynchronous Module Definition" >Asynchronous Module Definition</a> permettant la définition de modules qui pourront être chargées de manière asynchrone,</li><li>de nombreuses autres améliorations et corrections de bug à voir dans le <a
href="http://blog.jquery.com/2011/11/03/jquery-1-7-released/" title="billet dannonce" >billet d&#8217;annonce</a>.</li></ul><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evénements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="CITCONLondon"></a>CITCON London 2011</h4><p>La <a
href="http://www.citconf.com/" title="CITCON" >CITCON</a> (Continuous Integration and Testing Conference) s&#8217;est déroulé du 11 au 12 novembre à Londres dans les locaux de <a
href="http://skillsmatter.com/" title="Skills Matter" >Skills Matter</a>. Comme son nom l&#8217;indique, cette conférence est dédiée à tout ce qui touche à l&#8217;intégration continue et aux tests mais c&#8217;est avant tout un événement de type &laquo;&nbsp;Open Space&nbsp;&raquo;.</p><p><strong> Le principe de la CITCON</strong></p><p>Le premier jour de la conférence débute à 18h. Tous les participants (environ une centaine) sont invités à proposer un sujet (débats, présentation technique, démonstration d&#8217;un outil, &#8230;). Un court résumé est rédigé sur un post-it qui sera ensuite collé sur un immense tableau représentant le planning de la conférence :</p><div
align="center"> <a
href="http://blog.xebia.fr/wp-content/uploads/2011/11/planning.jpeg"><img
src="http://blog.xebia.fr/wp-content/uploads/2011/11/planning-225x300.jpg" alt="" title="planning" width="225" height="300" class="aligncenter size-medium wp-image-9152" /></a></div><p>Le planning s&#8217;est très vite rempli, il y avait 5 salles à notre disposition pour les 5 slots horaires prévus (1 heure par slot). Vous l&#8217;aurez compris, le contenu de la conférence est entièrement créé par la communauté. Elle est libre de proposer les sujets mais également l&#8217;heure à laquelle ils seront abordés (on parle de planning refactoring, tout le monde avait la possibilité de changer les post-it de place). Comme 5 sujets sont animés en parallèle, les participants avaient la possibilité de quitter une salle pour se rendre dans une autre si finalement la discussion ne les satisfaisait pas, c&#8217;est ce qu&#8217;on appelle la <em>règle des deux pieds</em>.</p><p><strong>Les sujets abordés</strong><br
/> Voici une liste non exhaustive des discussions animées par les participants.</p><ul><li><a
href="http://citconf.com/wiki/index.php?title=Root_Cause_Analysis" title="Root Cause Analysis" >Root Cause Analysis</a> by Squirrel</li><li><a
href="http://citconf.com/wiki/index.php?title=Aramis:_Why_do_projects_fail" title="Aramis Why do projects fail" >Aramis: Why do projects fail</a> by Eric Lefevre-Ardent.</li><li><a
href="http://citconf.com/wiki/index.php?title=Dev_and_Ops_and_System_Ops_oh_my" title="Dev and Ops and System Ops oh my" >Dev and Ops and System Ops oh my</a> by Squirrel</li><li><a
href="http://citconf.com/wiki/index.php?title=Configuration_Changes" title="Configuration Changes" >Configuration Changes</a></li><li><a
href="http://citconf.com/wiki/index.php?title=What_can_we_learn_from_CI" title="What can we learn from CI" >What can we learn from CI</a> by Benjamin Mitchel</li><li><a
href="http://citconf.com/wiki/index.php?title=Do_you_use_your_tests_in_prod" title="Do you use your tests in prod" >Do you use your tests in prod</a></li><li><a
href="http://citconf.com/wiki/index.php?title=Radiators" title="Radiators" >Radiators</a> by <a
href="http://citconf.com/wiki/index.php?title=Tom_Denley" title="Tom Denley" >Tom Denley</a></li><li>How to move an agile team from Continuous Integration to Continuous Deployment</li><li>To feature branch or not to feature branch</li><li>Are you satisfied of your build tools</li><li>TDD : Hands On</li><li>&#8230;</li></ul><p>N&#8217;ayant pu assister à toutes les présentations, je vous livre quelques informations (il est difficile de retranscrire l&#8217;intégralité des discussions).</p><p><strong>TDD : Hands On</strong><br
/> La session TDD animée par <strong>Steve Freeman</strong> (l&#8217;auteur du livre <em>Growing Object-Oriented Software, Guided by Tests</em>) était très intéressante. Un des participants voulait comprendre comment mettre en place le Test Driven Development dans son projet. Pour ce faire, il a projeté sur le video-projecteur une méthode écrite en Java non testée. Steve Freeman a guidé l&#8217;assistance de bout en bout. De la création de la classe de tests jusqu&#8217;à l&#8217;injection de dépendances en passant par l&#8217;écriture de tests unitaires mettant en exergue les règles de gestion de la classe à refactorer.</p><p><strong>Are you satisfied of your build tools ?</strong><br
/> Un premier tour de table était destiné à lister tous les outils de builds utilisés au quotidien par les participants. Les noms de Ant, Gradle, Maven sont évidemment sortis assez vite, mais il existe toujours des projets qui utilisent Make. Nous avons abordés les outils connexes que sont Jenkins, Teamcity et des plugins comme m2eclipse.</p><p><strong>La conférence s&#8217;achève</strong><br
/> En fin d&#8217;après midi, nous voilà tous réunis pour exprimer en quelques mots les moments forts et les souvenirs que nous garderons de CITCON 2011. Un tirage au sort a permis à quelques chanceux de gagner des livres tels que Agile Testing et Domain Specific Language.</p><p>C&#8217;était un réel plaisir d&#8217;assister à la CITCON, énormément de passionnés venant parfois de très loin. Il y a forcément une certaine déception de ne pouvoir assister à toutes les présentations, par exemple à celle où un participant a construit un robot pour tester Angry Birds automatiquement !</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2011/11/15/revue-de-presse-xebia-237/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Adobe Air, le futur du développement Mobile ?</title><link>http://blog.xebia.fr/2010/12/06/adobe-air-le-futur-du-developpement-mobile/</link> <comments>http://blog.xebia.fr/2010/12/06/adobe-air-le-futur-du-developpement-mobile/#comments</comments> <pubDate>Mon, 06 Dec 2010 21:13:50 +0000</pubDate> <dc:creator>Erwan Alliaume</dc:creator> <category><![CDATA[Mobilité]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[AIR]]></category> <category><![CDATA[Android]]></category> <category><![CDATA[blackberry]]></category> <category><![CDATA[iPhone]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=6082</guid> <description><![CDATA[On dit souvent que le développement mobile ressemble au développement web d&#8217;il y a 10 ans. Jusqu&#8217;à présent, il fallait choisir entre développer une application native ou une application Web Mobile. Les applications natives sont souvent préférées pour le moment, car elles offrent souvent une meilleure expérience utilisateur. Quant aux applications Web Mobile, elles ont [...]]]></description> <content:encoded><![CDATA[<p>On dit souvent que le développement mobile ressemble au développement web d&#8217;il y a 10 ans. Jusqu&#8217;à présent, il fallait choisir entre développer une application native ou une application Web Mobile. Les applications natives sont souvent préférées pour le moment, car elles offrent souvent une <a
href="http://blog.xebia.fr/2010/10/15/le-contexte-la-pepite-dinformation-pour-une-application-mobile-reussie/" title="meilleure exprience utilisateur" >meilleure expérience utilisateur</a>.<br
/> Quant aux applications Web Mobile, elles ont l&#8217;avantage de faciliter la mise à jour et le déploiement d’application, et ont le mérite d’être accessibles quelle que soit votre plateforme, pour peu que vous disposiez d’une connexion internet. Et bien, il se pourrait bien qu&#8217;Adobe soit en train de changer la <em>donne</em> en introduisant sa solution <a
href="http://www.adobe.com/products/air/" title="Air" >Air</a> qui vous promet le meilleur des 2 mondes !</p><p>Lors du dernier <a
href="http://blog.xebia.fr/2010/12/03/tous-reunis-chez-xebia-pour-le-xke/" title="XKE" >XKE</a>, nous avons eu la visite de <a
href="http://www.riagora.com/" title="Michal Chaize" >Michaël Chaize</a> qui est venu nous présenter les nouvelles solutions Adobe. Fort d&#8217;une matinée plutôt réussie, j&#8217;arrive à ce slot un peu blasé et fatigué en me demandant un peu l’intérêt d’une telle présentation. <em>Allez c&#8217;est reparti, je vais encore avoir le droit au discours technico-commercial que j&#8217;ai eu chez mon cher client quelques semaines auparavant.</em><br
/> Et bien que nenni ! Bien au contraire ! Je suis sorti de celui-ci avec une <strong>folle envie</strong> d&#8217;essayer de suite les technologies qu&#8217;il nous a présenté, en particulier celles qui touchaient à la <strong>mobilité</strong>.<br
/> Avant ce slot, j&#8217;avais bien entendu parler <a
href="http://blogs.adobe.com/air/2010/05/air_android_prerelease.html" title="ici" >ici</a> et <a
href="http://blog.xebia.fr/2010/11/22/devoxx-deployer-vos-applications-air-sur-android/" title="l" >là</a> de l&#8217;émergence d&#8217;une telle solution, mais rien ne m&#8217;avait donné l&#8217;envie de m&#8217;y essayer. C&#8217;est maintenant chose faite !</p><p>La plateforme Air propose donc :</p><ul><li><a
href="http://blog.xebia.fr/2010/12/06/adobe-air-le-futur-du-developpement-mobile/#Writeonceruneverywhere">une machine virtuelle multi-plateforme</a></li><li><a
href="http://blog.xebia.fr/2010/12/06/adobe-air-le-futur-du-developpement-mobile/#Flexunframeworkadaptlamobilit">un langage adapté à la mobilité</a></li><li><a
href="http://blog.xebia.fr/2010/12/06/adobe-air-le-futur-du-developpement-mobile/#Pasencoreproductionready">une solution pas tout à fait sèche</a></li><li><a
href="http://blog.xebia.fr/2010/12/06/adobe-air-le-futur-du-developpement-mobile/#Nesoyezpastimidelancezvous">un ticket d&#8217;entrée relativement faible</a></li></ul><h4><a
name="Writeonceruneverywhere"></a>Write once, run everywhere ?</h4><p>Les applications Air s&#8217;exécutant sur une machine virtuelle, toute plateforme disposant de celle-ci est à même d&#8217;exécuter vos applications. Adobe vous propose ici, d&#8217;adopter un framework &#8211; Flex &#8211; et une base de code unique pour toutes les plateformes que vous ciblez. L&#8217;API Air vous permet d&#8217;interagir avec le hardware de votre téléphone. Vous pouvez contrôler programmatiquement la présence de tel ou tel composant.</p><p>Sur Android, seuls quelques téléphones disposent de la machine virtuelle pré-installée. Pour les autres elle est disponible sur l&#8217;Android Market pour peu que vous disposiez d&#8217;un firmware récent (>= 2.2). Lorsque vous installez une application Air, si vous ne disposez pas du moteur d&#8217;exécution, un message vous propose son téléchargement et vous renvoie sur le market, contrairement à la version iPhone où le moteur est embarqué dans les applications (il est donc forcément téléchargé).</p><p>Si Air peut s&#8217;exécuter sur toutes ces plateformes, l&#8217;outil <a
href="http://blog.xebia.fr/2010/11/22/devoxx-deployer-vos-applications-air-sur-android/" title="Flash Builder 4.5 preview" >Flash Builder 4.5 preview</a>, connu aussi sous le nom de Burrito, ne permet pour le moment que le développement Android. Bien que <a
href="http://coenraets.org/blog/2010/12/deploying-a-flex-application-to-the-blackberry-playbook-and-android-devices/" title="certaines vidos" >certaines vidéos</a> montrent une compatibilité Blackberry, l&#8217;option n&#8217;est pas encore disponible dans la version de Flash Builder que j&#8217;ai téléchargé.</p><p>La taille du runtime n&#8217;est pas négligeable, sur mon Nexus One il prend 16 Mo après installation. L&#8217;option d&#8217;installation sur la carte SD n&#8217;est pas activée, inutile de bidouiller votre téléphone pour déplacer le runtime, les performances de celui-ci n&#8217;en seraient que dégradées.</p><p>Sur le papier, cette technologie permet de ne plus avoir à faire le choix d&#8217;un développement iPhone, Android ou Blackberry. En pratique, du nous sommes en pleine guerre de chapelle pour savoir où et comment seront installés les runtimes. Par exemple, à ce jour, il manque un d&#8217;incontournable dans la liste des partenaires de l&#8217;<a
href="https://projects.xebia.com/confluence/pages/editpage.action?pageId=6979602" title="Open Screen Alliance" >Open Screen Alliance</a>. Air sans Apple, c&#8217;est un peu comme une forêt sans écureuil comme disait Asterix dans l&#8217;un de ses albums.</p><p>Quoi qu&#8217;il en soit, la perspective du <em>write once, run everywhere</em> est alléchante <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> Wait &#038; See&#8230;</p><h4><a
name="Flexunframeworkadaptlamobilit"></a>Flex, un framework adapté à la mobilité !</h4><p>Flex a été conçu dans l&#8217;optique de créer des composants riches. Il mêle description XML des composants graphiques (boutons, checkbox, listes &#8230;) &#8211; le MXML &#8211; à un langage de scripting &#8211; l&#8217;Actionscript 3 &#8211; permettant de donner vie à vos composants. Faisant moi même du Flex depuis 6 mois, je suis persuadé que ce langage est parfaitement adapté au développement d&#8217;applications mobiles.</p><p>À titre de comparaison, dans une application Android développée en Java l&#8217;écriture des écrans est relativement pénible :</p><ul><li>en full java, la syntaxe est lourde à manier (setters complexes, listener volumineux &#8230;),</li><li>en XML, vous devez récupérer vos éléments graphiques par leur <em>ID</em> à partir du Java pour leur rajouter du comportement.</li></ul><p>En résumé, le développent Android c&#8217;est faire du client lourd avec un langage peu flexible.</p><p>Flex est un langage pensé et conçu pour effectuer des actions asynchrones. Le langage permet l&#8217;ajout de comportements à des composants très simplement grâce à différents mécanismes dont :</p><ul><li>le passage de fonctions en paramètre, pratique pour passer des handlers sur des événements.</li><li>le databinding, qui permet de notifier la mise à jour d&#8217;un <em>model</em> aux composants qui le désirent.</li></ul><p>De plus, dernière bonne surprise, les composants graphiques utilisables dans une application mobile sont exactement les mêmes que ceux que vous utilisez dans une application Flex classique. L&#8217;apparence et le comportement ont simplement été adaptés pour les applications mobiles grâce à un nouveau Skin pour mobile dans la librairie Spark.</p><h4><a
name="Pasencoreproductionready"></a>Pas encore production ready&#8230;</h4><p>C&#8217;est bien joli tout cela, mais la peinture n&#8217;est pas complètement sèche.</p><p>Les outils ne sont disponibles qu&#8217;en version preview. Pourtant, l&#8217;intégration du développement mobile à Flash Builder est vraiment bien avancée :</p><ul><li>une vue design permet l&#8217;élaboration rapide d&#8217;écrans,</li><li>un éditeur de composants bien pratique,</li><li>un gestionnaire d&#8217;appareils vous permet de lancer des simulateurs, il contient d&#8217;ailleurs bon nombre de périphériques pré-configurés,</li><li>l&#8217;installation sur un téléphone physique fonctionne tout aussi bien.</li></ul><p>Mais il reste des progrès à faire au niveau des performances. Si l&#8217;exécution d&#8217;applications mobiles Air est bluffante sur l&#8217;émulateur, j&#8217;avoue rester un peu sur ma faim lors de l&#8217;exécution d&#8217;une même application sur mon Nexus One. (il en était de même lors de la démonstration sur tablette Android lors du XKE). Le scrolling des listes, par exemple, n&#8217;est pas aussi performant que sur une application native, la solution Flex rame encore un peu. Et plus généralement, une application Air Mobile consomme plus de CPU et de mémoire qu&#8217;une application native classique.</p><p>Mais surtout, les accords de distribution des moteurs d&#8217;exécution Air n&#8217;étant pas encore terminés, rien ne vous garantit que vous puissiez réellement profiter de votre application mobile Air sur toutes les grandes plateformes mobiles du moment.</p><h4><a
name="Nesoyezpastimidelancezvous"></a>Ne soyez pas timide, lancez-vous !</h4><p>Que vous soyez développeur mobile ou non, que vous soyez flexeur ou non, n&#8217;hésitez pas à vous lancer pour vous faire un avis. Pour cela rien de plus simple, tout est disponible gratuitement sur les <a
href="http://labs.adobe.com/" title="Labs Adobe" >Labs Adobe</a> : Adobe Flash Builder en version 4.5 preview (Burrito) (pendant 60 jours) et Adobe AIR Launchpad.</p><p>Si vous désirez essayer votre projet sur votre mobile Android (disposant d&#8217;Android 2.2 a minima), installez sur celui-ci le Runtime Air. Une fois cela fait, vous devriez mettre moins de 15 minutes pour exécuter votre première application Air sur votre mobile.</p><p>En guise de conclusion, je vous ai préparé une petite vidéo qui présente :</p><ul><li>la génération d&#8217;un projet Air mobile avec AIR Launchpad.</li><li>l&#8217;utilisation de Flash Builder pour lancer votre application Air sur une plateforme Android.</li></ul><p><a
href="http://blog.xebia.fr/2010/12/06/adobe-air-le-futur-du-developpement-mobile/"><em>Cliquer ici pour voir la vidéo.</em></a></p><div
align="center"> <a
href="http://twitter.com/ealliaume" ><br
/> <img
src="http://blog.xebia.fr/wp-content/uploads/2009/04/twitter4.png"  alt="twitter erwan alliaume" title="twitter erwan alliaume" border="0" /><br
/> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2010/12/06/adobe-air-le-futur-du-developpement-mobile/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Devoxx &#8211; Les nouveautés de la plateforme Flash</title><link>http://blog.xebia.fr/2010/11/23/devoxx-les-nouveautes-de-la-plateforme-flash/</link> <comments>http://blog.xebia.fr/2010/11/23/devoxx-les-nouveautes-de-la-plateforme-flash/#comments</comments> <pubDate>Tue, 23 Nov 2010 11:40:45 +0000</pubDate> <dc:creator>Ellène Dijoux</dc:creator> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[AIR]]></category> <category><![CDATA[Devoxx]]></category> <category><![CDATA[Flash]]></category> <category><![CDATA[Flash Catalyst]]></category> <category><![CDATA[Flex Hero]]></category> <category><![CDATA[LiveCycle]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5997</guid> <description><![CDATA[A l&#8217;origine Michaël Chaize évangéliste de la plateforme Flash devait présenter cette session seul. Mais finalement il a obtenu le renfort de James Ward évangéliste Flex qui y a ajouté son expérience sur Flex et la plateforme Flash. &#160; &#160; &#160; L&#8217;avantage du Flash L&#8217;avantage du Flash est la possibilité de développer des applications plus [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2010/11/adobe.jpg" border="0" alt="" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> A l&#8217;origine <a
href="http://www.riagora.com/" title="Michaël Chaize" >Michaël Chaize</a> évangéliste de la plateforme Flash devait présenter cette session seul. Mais finalement il a obtenu le renfort de <a
href="http://www.jamesward.com/" title="James Ward" >James Ward</a> évangéliste Flex qui y a ajouté son expérience sur Flex et la plateforme Flash.</p><p>&nbsp;<br
/> &nbsp;<br
/> &nbsp;</p><h3><a
name="LavantageduFlash"></a>L&#8217;avantage du Flash</h3><p>L&#8217;avantage du Flash est la possibilité de développer des applications plus intuitives, efficaces et faciles à utiliser. Michael nous présente une application pour la finance réalisée pour une grande banque française. Le backend est resté le même, seul le client a été modifié pour être remplacé par du Flex. Une amélioration de la productivité des utilisateurs a pu être constatée. En effet, les données étaient plus facilement lisibles et exploitables par les utilisateurs qui prenaient donc des décisions plus rapidement.<br
/> Michael met en avant la productivité par le design. L&#8217;avantage de Flex est la facilité avec laquelle on peut réaliser des applications. Elle est productive pour le développeur et pour l&#8217;utilisateur.</p><h3><a
name="LesnouveautsdelaplateformeFlas"></a>Les nouveautés de la plateforme Flash</h3><div
align="center"> <img
src="http://blog.xebia.fr/wp-content/uploads/2010/11/platform_overview.png" border="0" alt="" /></div><p>Tout d&#8217;abord Adobe a intégré dans sa plateforme le support d&#8217;HTML5 pour que ses outils, tels que Dreamweaver et Illustrator par exemple, le supportent .<br
/> La <a
href="http://www.adobe.com/fr/flashplatform/" title="plateforme Flash" >plateforme Flash</a> est un panel complet de solutions permettant de réaliser des applications riches sur tous les supports qui vont du mobile à l&#8217;ordinateur, en passant par la télé. Cette plateforme fournit tous les outils indispensables au développement d&#8217;applications, vidéos et autres. Les applications sont natives pour tous les supports. Adobe et d&#8217;autres partenaires ont d&#8217;ailleurs créé le projet open-screen qui a pour but de travailler ensemble à l&#8217;élaboration d&#8217;un environnement consistant pour la navigation web et le lancement d&#8217;application sur n&#8217;importe quel écran. Ce projet exploite les avantages de Flash Player et d&#8217;Adobe Air.</p><h3><a
name="FlashPlayer"></a>Flash Player 10.1</h3><p>Le taux de pénétration de Flash Player 10.1 est actuellement supérieur à 70%.<br
/> Les nouvelles fonctionnalités permettent maintenant d&#8217;exploiter les avantages des mobiles :</p><ul><li>le multi-touch et les gestures,</li><li>l&#8217;acceléromètre,</li><li>la gestion de l&#8217;orientation de l&#8217;écran,</li><li>les champs textes pour mobile &#8230;</li></ul><p>La performance a également été améliorée sur l&#8217;audio, la vidéo, la gestion des ressources en général pour économiser de la batterie (surtout pour les mobiles). Une nouvelle API vidéo a été développée pour réduire la charge sur le processeur comme certains ont pu le constater sur Mac OS. Elle utilise plutôt les ressources de la carte graphique pour fonctionner. L&#8217;utilisation de la mémoire a été optimisée. Pour tester ces nouvelles fonctionnalités, vous pouvez télécharger <a
href="http://www.adobeursurvey.com/devnet/flex/tourdeflex.html" title="l'application de démonstration TourDeFlex" >l&#8217;application de démonstration TourDeFlex</a> et tester la partie <a
href="http://www.adobe.com/products/flashplayer/features/" title="Flash Player APIs" >Flash Player APIs</a>. Le multi-touch est assez bluffant si vous avez un trackpad adapté <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p><h3><a
name="ApplicationspourMobile"></a>Applications pour Mobile</h3><p>Pour développer des applications pour mobile, vous pouvez utiliser <a
href="http://www.adobe.com/fr/products/creativesuite/devicecentral/" title="Device Central CS5" >Device Central CS5</a>. Il fait partie de la Creative Suite et fournit toutes les configurations des smartphones, telles que la mémoire, le processeur &#8230; Ces dernières sont mises à jour dynamiquement. Vous trouverez une démonstration de ce que l&#8217;on peut réaliser en terme d&#8217;application mobile <a
href="http://www.riagora.com/2010/04/air-and-the-accelerometer/" title="sur le blog de Michael Chaize" >sur le blog de Michael Chaize</a> où il présente un Doodle Jump développé avec Air et qu&#8217;il a pu déployer sur son Android en version 2.2 (Froyo).</p><h3><a
name="AIR"></a>AIR 2</h3><p>Air est une application desktop, ce qui signifie qu&#8217;il exploite les ressources de l&#8217;ordinateur. Maintenant le déploiement est possible sur Android, et pour plus d&#8217;informations je vous renvoie vers <a
href="http://blog.xebia.fr/2010/11/22/devoxx-deployer-vos-applications-air-sur-android/" title="cet article" >cet article</a>.  Autre nouvelles fonctionnalités avec AIR :</p><ul><li>ouverture des fichiers avec l&#8217;application par défaut définie par l&#8217;OS,</li><li>détection de l&#8217;OS avec l&#8217;objet Capabilities.os,</li><li>exécution possible de commandes grâce à NativeProcess.</li></ul><h3><a
name="QuoideneufsurFlexHero"></a>Quoi de neuf sur Flex Hero ?</h3><p>Flex Hero est le petit nom de la release majeure 4.1 de Flex. Dans cette nouvelle version, de nouveaux composants spark sont disponibles :</p><ul><li>une datagrid spark avec :<ul><li>gestion des déplacements avec les touches,</li><li>une skin class (apparence) plus simple à personnaliser que celui de Halo</li><li>et un chargement des données dynamique au moment du scroll. Ce qui rend le chargement plus rapide grâce à la pagination.</li></ul></li><li>un formulaire spark,</li><li>des formatters spark avec gestion de l&#8217;internationalisation,</li><li>un MobileApplication pour gérer les applications mobiles,</li><li>une API pour la navigation dans les vues,</li><li>ActionBar,</li><li>MobileItemRenderer pour les rendus de liste spécifique aux applications mobiles,</li><li>gestion de la géolocalisation,</li><li>gestion de l&#8217;orientation,</li><li>génération de l&#8217;application sous forme de package Android (APK).</li></ul><h3><a
name="FlashCatalyst"></a>Flash Catalyst</h3><p>La sortie en release preview de Flash Builder &laquo;&nbsp;Burrito&nbsp;&raquo; s&#8217;accompagne aussi de celle de Flash Catalyst &laquo;&nbsp;Panini&nbsp;&raquo;. Celui-ci a été revu pour faciliter la collaboration entre le développeur et le designer. Précédemment, le problème était que le designer ne pouvait pas retravailler sur ce qu&#8217;avait réalisé le développeur. Avec cette nouvelle version de Flash Catalyst, c&#8217;est maintenant possible.</p><h3><a
name="LiveCycleCollaborationService"></a>LiveCycle Collaboration Service</h3><p>Le LiveCycle Collaboration est une solution hébergée par Adobe pour proposer aux développeurs de réaliser des applications Flex collaboratives. Ils ont à leur disposition des composants : tableau blanc pour les dessins, gestion de la webcam &#8230; pour réaliser des applications où il est possible aux utilisateurs d&#8217;échanger des informations. Michaël nous a d&#8217;ailleurs invité à accéder à une des applications qu&#8217;il a réalisé. C&#8217;était très intéressant de voir sur le grand écran de la salle une dizaine de webcams afficher le visage de quelques participants curieux.</p><p><em>Crédit photo : les images proviennent du site d&#8217;Adobe et de</em> <em><a
href="http://picasaweb.google.com/JavaPolis.com/Devoxx2010#" title="lalbum Picasa de Stephan Jaansen" ><em>l&#8217;album Picasa de Stephan Jaansen</em></a></em> <em>pour Devoxx 2010</em></p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2010/11/23/devoxx-les-nouveautes-de-la-plateforme-flash/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Devoxx &#8211; Déployer vos applications Air sur Android</title><link>http://blog.xebia.fr/2010/11/22/devoxx-deployer-vos-applications-air-sur-android/</link> <comments>http://blog.xebia.fr/2010/11/22/devoxx-deployer-vos-applications-air-sur-android/#comments</comments> <pubDate>Mon, 22 Nov 2010 16:33:35 +0000</pubDate> <dc:creator>Ellène Dijoux</dc:creator> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Mobilité]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[AIR]]></category> <category><![CDATA[Android]]></category> <category><![CDATA[Devoxx]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5958</guid> <description><![CDATA[Pour ceux qui n&#8217;ont pas entendu parler d&#8217;Adobe Air, il s&#8217;agit d&#8217;une machine virtuelle permettant d&#8217;exécuter des applications Flash en dehors du navigateur. Multi-plateformes et surtout multi-écrans, le but d&#8217;Adobe est de rendre Air exécutable sur tout type de support, des terminaux mobiles aux téléviseurs. Actuellement, il est utilisable sur les mobiles équipés d&#8217;un Android [...]]]></description> <content:encoded><![CDATA[<p>Pour ceux qui n&#8217;ont pas entendu parler d&#8217;Adobe Air, il s&#8217;agit d&#8217;une machine virtuelle permettant d&#8217;exécuter des applications Flash en dehors du navigateur. Multi-plateformes et surtout multi-écrans, le but d&#8217;Adobe est de rendre Air exécutable sur tout type de support, des terminaux mobiles aux téléviseurs. Actuellement, il est utilisable sur les mobiles équipés d&#8217;un Android 2.2 ainsi que sur les BlackBerry Tablet OS et iOS. Michael Chaize et James Ward nous ont présenté dans une session d&#8217;1h les nouveautés d&#8217;Adobe Air 2.5.</p><h3><a
name="AdobeAirpouriOS"></a>Adobe Air pour iOS</h3><p>Pour le développement d&#8217;applications iPhone, Apple avait émis une restriction pour interdire l&#8217;utilisation d&#8217;outil de développement en dehors de ceux autorisés par Apple. Suite à <a
href="http://www.wired.com/gadgetlab/2010/09/apple-lifts-app-store-flash-ban-publishes-app-review-rules/" title="la levée de cette restriction" >la levée de cette restriction</a>, Adobe peut donc enfin réaliser des applications pour iPhone à partir de ses outils. Parmi les fonctionnalités d&#8217;Adobe Air, vous trouverez un <a
href="http://labs.adobe.com/technologies/packagerforiphone/" title="packager pour iOS" >packager pour iOS</a> qui permet de transformer une application Air en IPK (format des package pour l&#8217;iPhone). Ce packager est aussi disponible dans la Creative Suite 5. Le packager permet de générer une application native pouvant être exécutée pour iOS. Attention, certaines APIs n&#8217;ont pas été implémentées dans le packager.</p><h3><a
name="LesnouveautsdansAir"></a>Les nouveautés dans Air 2.5</h3><p>La grande nouveauté de Air 2.5 est la possibilité de développer des applications mobiles. Pour ce faire, deux nouvelles classes héritant d&#8217;<code>Application</code> sont disponibles : <code><a
href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/MobileApplication.html" title="MobileApplication" >MobileApplication</a></code> et <code><a
href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/TabbedMobileApplication.html" title="TabbedMobileApplication" >TabbedMobileApplication</a></code>. Un nouveau skin a été créé pour les applications mobiles et certains composants en bénéficient comme <code>Button</code>, <code>CheckBox</code>, <code>DataGroup</code>, <code>Label</code>, <code>List</code>, <code>Scroller</code> &#8230; Parmi les nouveaux composants dédiés, vous trouverez le <code>MobileItemRenderer</code> et le <code>MobileIconItemRenderer</code> pour les rendus de listes .</p><h3><a
name="FlashBuilderBurrito"></a>Flash Builder &laquo;&nbsp;Burrito&nbsp;&raquo;</h3><p>Burrito est le petit nom du dernier Flash Builder. Il prend en charge toutes les nouveautés disponibles dans Flex 4. La fonctionnalité mise en avant est la possibilité de développer des applications mobiles à partir de votre Flash Builder !</p><p>Flash Builder &laquo;&nbsp;Burrito&nbsp;&raquo; est disponible en version d&#8217;évaluation (pour une durée de 60 jours) ; vous pouvez le récupérer <a
href="http://labs.adobe.com/technologies/flashbuilder_burrito/" title="ici" >ici</a>. Pour ma part, très curieuse de voir ces nouvelles fonctionnalités je l&#8217;ai téléchargé et effectivement, on peut créer des applications flex mobiles.</p><div
align="center"> <img
src="http://blog.xebia.fr/wp-content/uploads/2010/11/new-flex-mobile-project.png" border="0" alt="" /></div><p>Une fois votre projet créé, vous pouvez visualiser dans la partie Design de nouvelles options associées à votre vue.</p><div
align="center"> <a
href="http://blog.xebia.fr/wp-content/uploads/2010/11/vue-global-mobile-application-flex.png"><img
src="http://blog.xebia.fr/wp-content/uploads/2010/11/vue-global-mobile-application-flex-300x202.png" alt="vue-global-mobile-application-flex" title="vue-global-mobile-application-flex" width="300" height="202" class="alignnone size-medium wp-image-5965" /></a></div><p>Vous pourrez sélectionner une configuration de téléphone, vous aurez le choix entre plusieurs téléphones android. <img
src="http://blog.xebia.fr/wp-content/uploads/2010/11/choix-device.png" border="0" alt="" /></p><p>Vous pourrez également modifier l&#8217;orientation du téléphone pour vérifier le bon positionnement de vos composants. <img
src="http://blog.xebia.fr/wp-content/uploads/2010/11/orientation-mobile.png" border="0" alt="" /></p><div
align="center"> <a
href="http://blog.xebia.fr/wp-content/uploads/2010/11/application-mobile-flex.png"><img
src="http://blog.xebia.fr/wp-content/uploads/2010/11/application-mobile-flex-184x300.png" alt="application-mobile-flex" title="application-mobile-flex" width="184" height="300" class="alignnone size-medium wp-image-5968" /></a>&nbsp;&nbsp;&nbsp;<a
href="http://blog.xebia.fr/wp-content/uploads/2010/11/configuration-execution-mobile.png"><img
src="http://blog.xebia.fr/wp-content/uploads/2010/11/configuration-execution-mobile-300x239.png" alt="configuration-execution-mobile" title="configuration-execution-mobile" width="300" height="239" class="alignnone size-medium wp-image-5961" /></a></div><p></p><div
align="center"> <a
href="http://blog.xebia.fr/wp-content/uploads/2010/11/release-build.png"><img
src="http://blog.xebia.fr/wp-content/uploads/2010/11/release-build-300x193.png" alt="release-build" title="release-build" width="300" height="193" class="alignnone size-medium wp-image-5964" /></a></div><p>Une fois votre application réalisée, vous pouvez l&#8217;exécuter. Celle-ci sera affichée dans une fenêtre au format du téléphone que vous avez sélectionné. Elle propose aussi un menu contenant les actions disponibles pour le téléphone que vous avez sélectionné (changement de l&#8217;orientation, menu, retour arrière &#8230;).<br
/> Il est également possible d&#8217;exécuter votre application directement sur votre Android si bien évidemment vous en avez un <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Une simple connexion USB suffit pour cela. Malheureusement, je n&#8217;ai pas pu tester cette partie mais espérons que le père Noël m&#8217;apporte un Android 2.2 le mois prochain.</p><p>Ce n&#8217;est pas tout. Vous avez développé votre application et l&#8217;avez testée. Vous voulez maintenant la partager ? Il suffit simplement de préparer le package pour le déposer sur Android Market. Et avec Flash Builder &laquo;&nbsp;Burrito&nbsp;&raquo; rien de plus simple, exportez votre projet et sélectionnez <strong>Release Build</strong>. La seule plateforme disponible pour le moment est Google Android. Après avoir donné votre certificat et mot de passe, Flash Builder vous génère un APK contenant une application native Android que vous pouvez déposer sur Android Market.</p><p>Le déploiement semble simple et pourrait motiver de nouveaux développeurs à réaliser des applications pour mobile.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2010/11/22/devoxx-deployer-vos-applications-air-sur-android/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2010/02/15/revue-de-presse-xebia-147/</link> <comments>http://blog.xebia.fr/2010/02/15/revue-de-presse-xebia-147/#comments</comments> <pubDate>Mon, 15 Feb 2010 21:34:15 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[Apple]]></category> <category><![CDATA[EasyAnt]]></category> <category><![CDATA[Google App Engine]]></category> <category><![CDATA[Vaadin]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=3994</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Apple et Adobe : petits coups bas entre amis Le coin de la technique Google App Engine SDK 1.3.1: Améliorations au niveau du Datastore Refcardz Vaadin Sortie de EasyAnt 0.7. Actualité éditeurs / SSII Apple et Adobe : petits coups [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" style="margin: 1em 1em 1em 1em; float: right;" /><br
/> <em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>Actualité éditeurs / SSII</strong></p><ul><li><a
href="http://blog.xebia.fr/2010/02/15/revue-de-presse-xebia-147/#AppleetAdobepetitscoupsbasentr">Apple et Adobe : petits coups bas entre amis</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2010/02/15/revue-de-presse-xebia-147/#GoogleAppEngineSDKAmliorations">Google App Engine SDK 1.3.1: Améliorations au niveau du Datastore</a></li><li><a
href="http://blog.xebia.fr/2010/02/15/revue-de-presse-xebia-147/#RefcardzVaadin">Refcardz Vaadin</a></li><li><a
href="http://blog.xebia.fr/2010/02/15/revue-de-presse-xebia-147/#SortiedeEasyAnt">Sortie de EasyAnt 0.7.</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="AppleetAdobepetitscoupsbasentr"></a>Apple et Adobe : petits coups bas entre amis</h4><p>L&#8217;échange de coups a commencé à l&#8217;initiative d&#8217;Apple lors de la présentation de l&#8217;iPad, avec une subtile allusion au fait que le nouveau <em>magic device</em> ne supporterait pas Flash (voir <a
href="http://www.engadget.com/2010/01/27/apples-ipad-keeping-adobe-flash-away-from-your-couch/" title="la photo ici" >la photo ici</a>).<br
/> Il a continué avec les rumeurs (non démenties à ce jour) de propos issus de la bouche de Steeve Jobs, traitant les ingénieurs d&#8217;Adobe de faignants (si on remet ces mots de le contexte, ils seraient tire-au-flanc car disposant d&#8217;un outil fabuleux (Flash) mais ne l&#8217;exploitant pas).<br
/> Ce remue-ménage doit aussi être associé aux rumeurs grandissantes de la mort annoncée de Flash remplacé par HTML 5 dès l&#8217;année prochaine <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br
/> Il n&#8217;en fallait pas plus (quoi que ce soit déjà beaucoup) pour qu&#8217;Adobe contre attaque. Et après <a
href="http://theflashblog.com/?p=1703" title="quelques employés qui se sont exprimés (pas toujours élégamment)" >quelques employés qui se sont exprimés (pas toujours élégamment)</a>, c&#8217;est <a
href="http://blogs.adobe.com/conversations/2010/02/open_access_to_content_and_app.html" title="Kevin Lynch le CTO en personne qui monte au crneau" >Kevin Lynch, le CTO en personne, qui monte au créneau</a>. En répondant pied à pied aux critiques émises par Apple :</p><ul><li>Flash est né à l&#8217;origine pour les tablet-pc. Mais il a su évoluer, et c&#8217;est pour cela qu&#8217;il est aujourd&#8217;hui la ressource de référence de diffusion de contenu sur HTML.</li><li>Le flash player 10.1 devrait être présent sur les <em>devices</em> de nouvelle génération et leur permettre d&#8217;accéder à la totalité du contenu du web. Ce flash player est prêt pour l&#8217;iPhone dès qu&#8217;Apple laissera le choix à ses utilisateurs de l&#8217;installer (on peut toujours rêver).</li><li>HTML 5 ne remplacera pas dans un avenir proche l&#8217;ensemble des fonctionnalités de Flash : on voit déjà que le choix d&#8217;un support vidéo nous renvoie quelques années en arrière avec des codecs qui divergent dans les principaux navigateurs. De plus, la richesse et la productivité de Flash, les innovations qu&#8217;Adobe ne manquera pas d&#8217;y apporter, et la rapidité de diffusion de la technologie face à un HTML difficile à standardiser promettent des beaux jours au plugin <em>préféré</em> des utilisateurs du web.</li><li>Le mixage de Flash et HTML procure une expérience utilisateur irremplaçable.</li></ul><p>Cette déclaration n&#8217;a pas manqué de susciter de nombreux commentaires <a
href="http://blogs.adobe.com/conversations/2010/02/open_access_to_content_and_app.html#comment-2137153" title="auxquels Kevin Lynch a pris la peine de rpondre" >auxquels Kevin Lynch a pris la peine de répondre</a> (des pro aussi bien que des anti).<br
/> Et il y a fort à parier que cette polémique risque de perdurer toute l&#8217;année. C&#8217;est pourquoi nous vous proposerons bientôt un article sur HTML 5, pour que vous aussi vous puissiez vous faire une idée sur ce <em>Flash Killer</em> (mais nous nous abstiendrons bien sûr de rentrer dans les polémiques marketing et nous contenterons d&#8217;être sereinement techniques et terre à terre <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="GoogleAppEngineSDKAmliorations"></a>Google App Engine SDK 1.3.1: Améliorations au niveau du Datastore</h4><p><a
href="http://googleappengine.blogspot.com/2010/02/app-engine-sdk-131-including-major.html" title="La version 131" >La version 1.3.1</a> du SDK de Google App Engine vient de sortir. Pour rappel, GAE est une solution de cloud computing orientée PaaS (Platform as a Service). Cette release est axée principalement sur le DataStore. Elle apporte également un nouveau framework de tests unitaires.</p><p>Au niveau du DataStore, on peut noter les améliorations suivantes:</p><ul><li>La limitation à 1000 du nombre de résultats d&#8217;une requête a été enlevée : grâce à l&#8217;apparition des <em>Query Cursors</em>, et d&#8217;améliorations internes à BigTable, les développeurs de Google sont assez confiants au niveau des performances pour enlever cette limite.</li><li>Apparition des <a
href="http://code.google.com/intl/fr/appengine/docs/java/datastore/queriesandindexes.html#Query_Cursors" title="Query Cursors" >Query Cursors</a>: GAE offre la possibilité de sauvegarder dans un objet <em>Cursor</em> la progression du résultat d&#8217;une requête, dont on a limité le nombre de résultats. Par exemple, en fixant à 20 le nombre de résultats de votre requête, si vous lancez une première fois la requête et sauvegardez le curseur. En relançant la même requête, vous obtiendrez directement les 20 résultats suivants.</li></ul><p>Le curseur peut être persisté ou encodé en String pour l&#8217;inclure dans des pages web. Vous pourrez ainsi relancer une requête avec le curseur à tout moment. Outre le fait d&#8217;avoir permis de supprimer la limite du nombre de résultats d&#8217;une requête, une des applications possibles des curseurs est la récupération des dernières entités mises à jour.</p><ul><li>Automatic retry des appels vers le <em>DataStore</em> : lors d&#8217;erreurs d&#8217;accès au datastore, les exceptions devaient être gérées par l&#8217;application. Cela entrainait de nombreuses erreurs d&#8217;application. Maintenant, App Engine retente automatiquement les appels au DataStore.</li></ul><p>Le framework de tests unitaires a été revu pour être plus flexible et s&#8217;intégrer facilement avec les API de tests comme <em>Junit</em>, <em>Unitils</em>, etc. Avant, il fallait utiliser un objet <em>ApiProxyLocal</em> pour simuler un environnement GAE. Maintenant, GAE fournit un objet <em>LocalServiceTestHelper</em>, qui permet d&#8217;effectuer des tests utilisant le <em>DataStore</em>, le <em>MemCache</em>, ou encore les <em>TaskQueues</em>.</p><p>Un certain nombre de bugs, principalement liés au <em>DataStore</em> ont aussi été corrigés. Au final, cette nouvelle version apporte de réelles nouveautés et donne le sentiment que le projet GAE avance bien.</p><h4><a
name="RefcardzVaadin"></a>Refcardz Vaadin</h4><p>Le framework <a
href="http://vaadin.com/home" title="Vaadin" >Vaadin</a>, que nous avons couvert dans de précédentes revues de presse <em>(<a
href="http://blog.xebia.fr/2009/06/22/revue-de-presse-xebia-114/#Vaadin" title="ici" >ici</a> et <a
href="http://blog.xebia.fr/2009/09/14/revue-de-presse-126/#Vaadin" title="là" >là</a>)</em> arrive sur <a
href="http://www.dzone.com/links/" title="DZone" >DZone</a> avec une <a
href="http://www.dzone.com/links/index.html" title="Refcardz qui lui est dédié" >Refcardz qui lui est dédié</a> <em>(information relayée sur <a
href="http://markogronroos.blogspot.com/2010/02/vaadin-refcard-is-out.html" title="ce blog" >ce blog</a>)</em>.<br
/> Au menu, plusieurs sections avec tout d&#8217;abord un petit <em>overview</em> du framework, suivi par un paragraphe de création d&#8217;application. Viennent ensuite les sections liées aux composants et aux layouts de composants ainsi qu&#8217;une partie sur les thèmes et une partie sur le <em>data binding</em>. Une dernière partie nous montre comment créer nos propres composants. Une refcardz très complète donc, qui nous donne en quelques pages un très bon aperçu du framework.<br
/> Et pour approfondir le sujet, vous pouvez vous rendre sur <a
href="http://vaadin.com/book" title="cette page" >cette page</a> et récupérer le <em>book of Vaadin</em>.</p><h4><a
name="SortiedeEasyAnt"></a>Sortie de EasyAnt 0.7.</h4><p><a
href="http://www.easyant.org/" title="EasyAnt" >EasyAnt</a>, un système de build alternatif au très populaire Maven vient de sortir en version 0.7.</p><p>EasyAnt apporte un certain nombre de fonctionnalités au non moins populaire projet Ant sur lequel il repose. Il propose entre autre des conventions pour la structuration des projets, un système de gestion de dépendances (utilisant Ivy) ainsi qu&#8217;un cycle de vie du build (à l&#8217;aide de la notion de phases sur lesquelles viennent se brancher des targets).</p><p>Ce projet ressemble donc dans l&#8217;esprit fortement à Maven sur lequel EasyAnt à repris un certain nombre de bonnes idées. Néanmoins, là où Maven est particulièrement restrictif, EasyAnt est suffisamment souple pour permettre une migration relativement aisée de vos anciens projets même s&#8217;ils ne respectent pas les conventions préconisées. Il permet aussi de conserver les tâches Ant qui ont été précédemment développées et de les attacher aux différentes phases du build.<br
/> EasyAnt est encore relativement jeune par rapport aux mastodontes du build que sont Ant et Maven mais il apporte un réel intérêt pour des projets historiques construits avec Ant et pour lesquels on souhaite profiter de fonctionnalités proposées par Maven.</p><p>Les principales évolutions de la version 0.7 sont la possibilité de surcharger les targets et phases définies par défaut (pour une plus grande souplesse) et un meilleur support des projets multi-modules.</p><p>Le développement de ce projet est relativement actif. Nous suivrons avec intérêt l&#8217;évolution des prochaines versions.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2010/02/15/revue-de-presse-xebia-147/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Devoxx &#8211; Jour 3 &#8211; La keynote</title><link>http://blog.xebia.fr/2009/11/24/devoxx-jour-3-la-keynote/</link> <comments>http://blog.xebia.fr/2009/11/24/devoxx-jour-3-la-keynote/#comments</comments> <pubDate>Tue, 24 Nov 2009 17:09:31 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Divers]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[Devoxx]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JEE]]></category> <category><![CDATA[parleys]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=3327</guid> <description><![CDATA[Cette première keynote qui a eu lieu Mercredi marque le début officiel des conférences de Devoxx. Stephan Janssen nous a souhaité la bienvenue en nous précisant quelques chiffres pour Devoxx 2009 : 2500 participants, 737 compagnies représentées comme Xebia par exemple , 132 sessions, 120 speakers, 56 JUGs (dont 10 en France), 36 pays, et [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://www.devoxx.com/"><img
src="http://blog.xebia.fr/wp-content/uploads/2009/11/logo.jpeg" alt="Devoxx" style="margin: 1em 1em 1em 1em; float: right;" /></a><br
/> Cette première keynote qui a eu lieu Mercredi marque le début officiel des conférences de Devoxx. <a
href="http://www.devoxx.com/display/DV09/Stephan+Janssen" title="Stephan Janssen" >Stephan Janssen</a> nous a souhaité la bienvenue en nous précisant quelques chiffres pour Devoxx 2009 :</p><ul><li>2500 participants,</li><li>737 compagnies représentées comme Xebia par exemple <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ,</li><li>132 sessions,</li><li>120 speakers,</li><li>56 JUGs (dont 10 en France),</li><li>36 pays,</li><li>et 19 partenaires ce qui est moins que d&#8217;habitude.</li></ul><h3><a
name="LanouvelleversiondeParleyscom"></a>La nouvelle version de Parleys.com</h3><p>Stephen Janseen débute en nous expliquant ce que fournira la nouvelle version de Parleys.com. Gratuites et disponibles, le nombre de vidéos augmente sur les serveurs, ce qui est très coûteux. Pour pallier ce problème, il a décidé de publier le plus tôt possible les conférences de Devoxx (ce week end même d&#8217;ailleurs <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ). Et avec un abonnement de 49€ pour 6 mois, un utilisateur pourra soit  télécharger toutes les vidéos qu&#8217;il souhaite sur le site soit les regarder directement en streaming. Pour les plus patients, la video sera rendue publique en streaming pour tous au bout d&#8217;un an.<br
/> Dans cette nouvelle version, il sera possible :</p><ul><li>De définir des channels privés ou publiques selon les besoins du publieur,</li><li>De choisir son look&#8217;n'feel,</li><li>D&#8217;ajouter des commentaires sur la piste video.</li></ul><p>Ces nouveautés sont actuellement disponibles sur <a
href="http://beta.parleys.com" title="httpbetaparleyscom" >http://beta.parleys.com</a>.</p><h3><a
name="LakeynotedeJavaEE"></a>La keynote de Java EE 6</h3><p>Cette année à Devoxx, la <em>star</em> est clairement JEE6 avec pas moins de 7 sessions autour de ce sujet :</p><ul><li>Une keynote.</li><li>Une université et un BOF JEE6.</li><li>Une université et un BOF JSF 2.0.</li><li>Une conférence JEE6.</li><li>Une conférence JEE6 et Glassfish V3.</li></ul><p>La keynote met en avant les spécifications les plus <em>hypes</em> de JEE6 avec entre autres :</p><ul><li>EJB 3.1,</li><li>DI 1.0 (@Inject),</li><li>CDI 1.0 (Context and Dependency Injection),</li><li>JSF 2.0 (<a
href="http://blog.xebia.fr/2009/11/18/devoxx-jour-1-jsf-2/" title="vnement que nous avons couvert" >événement que nous avons couvert</a>),</li><li>Bean Validation 1.0,</li><li>Servlet 3.0,</li><li>et JAX-RS 1.1.</li></ul><p>Un article plus complet décrivant JEE6 arrivera très prochainement, l&#8217;information principale de cette keynote étant la date de sortie de JEE6 qui est prévue pour le 10 décembre 2009 <em>(Cf. notre <a
href="http://blog.xebia.fr/2009/11/23/revue-de-presse-xebia-135/#JDKJEEetMavenlesannoncesdeDevo" title="prcdente revue de presse" >précédente revue de presse</a>)</em>.</p><div
align="center"> <img
src="http://blog.xebia.fr/wp-content/uploads/2009/11/keynote_jee6.jpg" border="0" alt="" /></div><h3><a
name="LakeynotedAdobeavecengueststar"></a>La keynote d&#8217;Adobe avec en guest-star Flash Catalyst</h3><p>Adobe fut à l&#8217;honneur cette année <strike>à l&#8217;instar de JavaFX</strike>. La keynote fut l&#8217;occasion pour l&#8217;éditeur de tenter une opération séduction de la communauté Java avec des annonces autour de Flex, Air, Flash Player Lite et Flash Catalyst.</p><p>Pour commencer, Flash Player 10.1 fut présenté. Cette version a surtout été travaillée pour fonctionner sur téléphone mobile :</p><ul><li>Réduction de la mémoire utilisée.</li><li>Limitation de la consommation de batterie.</li><li>Gestion du multi-touch et de l&#8217;accéléromètre.</li></ul><p><a
href="http://www.webkitchen.be/" title="Serge Jespers" >Serge Jespers</a> a présenté un Flash Player déployé sur mobile : oui, il est enfin possible d&#8217;accéder à Parleys depuis son mobile !</p><div
align="center"> <img
src="http://blog.xebia.fr/wp-content/uploads/2009/11/keynote_flash.jpg" border="0" alt="" /></div><p>La liste des partenariats entre Adobe et les fabricants de smartphone et d&#8217;OS a considérablement augmenté depuis l&#8217;année dernière. Avec, entre autres, le petit dernier : RIM, l&#8217;OS de BlackBerry. Actuellement, Apple ne fait toujours pas partie de cette liste. Aucun accord n&#8217;a été trouvé pour le moment. Il n&#8217;est donc pas possible de lire une application Flex par exemple depuis le navigateur de son iPhone. En revanche, il est possible de déployer une application Flex sur l&#8217;AppStore et de l&#8217;utiliser. En effet, Adobe a mis en place un <a
href="http://www.insideria.com/2009/10/flash-and-iphone.html" title="moyen" >moyen</a> permettant de convertir un swf en code natif pour l&#8217;iPhone. Des jeux Flash sont d&#8217;ailleurs déjà disponibles sur l&#8217;AppStore.</p><p>Autre annonce, la sortie depuis quelques jours de la béta de Adobe Air 2.0. Cette version fournit les nouveautés suivantes :</p><ul><li>Le support de l&#8217;usb.</li><li>Le support du multi-touch.</li><li>De nouvelles APIs permettant de récupérer la sortie du microphone.</li><li>Une sécurité améliorée pour mieux répondre aux standards des entreprises et gouvernements.</li></ul><p>Nos deux speakers ont ensuite impressionné la salle en réalisant rapidement à partir d&#8217;un dessin issu d&#8217;Illustrator une application Flex comportant des effets, gérant un évènement <em>click</em> sur un bouton, et le plus impressionnant de tous, la gestion d&#8217;une scrollbar provenant d&#8217;un dessin. Cette génération fut ensuite exportée dans Flash Builder 4 en tant que projet Flex. La salle semblait séduite par la démo. Attendons maintenant 2010, pour voir si cette plateforme tiendra ses promesses et si la communauté continuera à suivre.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2009/11/24/devoxx-jour-3-la-keynote/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2009/10/12/revue-de-presse-xebia-129/</link> <comments>http://blog.xebia.fr/2009/10/12/revue-de-presse-xebia-129/#comments</comments> <pubDate>Mon, 12 Oct 2009 16:41:35 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[AIR]]></category> <category><![CDATA[DHTMLX]]></category> <category><![CDATA[Eclipse]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[jdk-6]]></category> <category><![CDATA[jdk-7]]></category> <category><![CDATA[Jetty]]></category> <category><![CDATA[Maven]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[Servlet 3.0]]></category> <category><![CDATA[Sonar]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=2984</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII La fondation Eclipse se prépare à Servlet 3.0 avec Jetty 7.0 Sonar 1.11 RIA Air &#8216;Athena&#8217; DHTMLX 2.5 Tips and Tricks Maven 2 Le coin de la technique Sécurité : 5 choses de plus que les agresseurs d&#8217;applications web ne [...]]]></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/2009/10/12/revue-de-presse-xebia-129/#LafondationEclipseseprpareServ">La fondation Eclipse se prépare à Servlet 3.0 avec Jetty 7.0</a></li><li><a
href="http://blog.xebia.fr/2009/10/12/revue-de-presse-xebia-129/#Sonar">Sonar 1.11</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2009/10/12/revue-de-presse-xebia-129/#AirAthena">Air &#8216;Athena&#8217;</a></li><li><a
href="http://blog.xebia.fr/2009/10/12/revue-de-presse-xebia-129/#DHTMLX">DHTMLX 2.5</a></li><li><a
href="http://blog.xebia.fr/2009/10/12/revue-de-presse-xebia-129/#TipsandTricksMaven">Tips and Tricks Maven 2</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2009/10/12/revue-de-presse-xebia-129/#Scuritchosesdeplusquelesagress">Sécurité : 5 choses de plus que les agresseurs d&#8217;applications web ne vous diront pas</a></li><li><a
href="http://blog.xebia.fr/2009/10/12/revue-de-presse-xebia-129/#LesoptimisationsduJDKuactivesp">Les optimisations du JDK 6u14 activées par défaut sur le JDK 7</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="LafondationEclipseseprpareServ"></a>La fondation Eclipse se prépare à Servlet 3.0 avec Jetty 7.0</h4><p>La fondation Eclipse nous livre une nouvelle version de Jetty estampillée 7.0. Côté nouveauté, pas grand chose à vrai dire. Il y a évidemment l&#8217;habituelle série de corrections de bugs et d&#8217;améliorations de performance. Cette nouvelle version marque surtout le début de la route vers l&#8217;implémentation des servlets 3.0 prévue pour Jetty 8.0. C&#8217;est aussi l&#8217;occasion pour Eclipse d&#8217;assimiler un peu plus le projet en changeant principalement le <em>package</em> ancêtre de <code>org.mortbay</code> vers <code>org.eclipse</code>, gare au <em>refactoring</em> donc. A noter tout de même, Jetty est maintenant livré sous une forme modulaire pleinement compatible OSGI. Webtide en profite pour livrer la même version de Jetty, en y intégrant des modules additionnels:</p><ul><li>JSP de glassfish</li><li>JTA d&#8217;atomikos</li><li>plugin maven</li><li>integration d&#8217;ant</li><li>configuration Spring</li></ul><p>Jetty 6 sera encore maintenu pendant quelques temps (aucune précision de la part d&#8217;Eclipse), tous les nouveaux développements seront faits sur Jetty 7, et la branche 8 sera en pré-release dans les prochains mois et supportera l&#8217;API Servlet 3.0.</p><ul><li><a
href="http://dev.eclipse.org/mhonarc/lists/jetty-dev/msg00294.html" title="Lannonce sur la ML" >L&#8217;annonce sur la ML</a></li><li><a
href="http://www.infoq.com/news/2009/10/jetty-7-0-released" title="La news dInfoQ" >La news d&#8217;InfoQ</a></li><li><a
href="http://www.eclipse.org/jetty/" title="La page Jetty chez Eclipse" >La page Jetty chez Eclipse</a></li><li><a
href="http://jetty.mortbay.org/jetty/index.html" title="La page Jetty chez Codehaus" >La page Jetty chez Codehaus</a></li></ul><h4><a
name="Sonar"></a>Sonar 1.11</h4><p>SonarSource nous gratifie d&#8217;une version 1.11 du désormais célèbre outil de suivi de qualité Sonar. Comme souvent, de nombreux de <em>bugs</em> ont été corrigés. Parmi les améliorations, on peut noter les passages à Hibernate 3.3 et GWT 1.7. Au chapitre des nouvelles fonctionnalités, la possibilité de réutiliser les fichiers de configuration PMD et CheckStyle définis dans le <em>pom</em> permettra de plus aisément éviter les doublons.</p><p>SonarSource tente de faciliter la vie des développeurs de <em>plugins</em> avec l&#8217;apparition d&#8217;un archétype Maven pour créer des <em>plugins</em> Sonar. D&#8217;autres nouveautés d&#8217;API, comme le filtrage de widgets suivant différents critères (comme le rôle utilisateur ou la langue choisie), ajoutent de la flexibilité.</p><ul><li><a
href="http://sonar.codehaus.org/sonar-111-in-screenshots/" title="Lannonce sur le blog Sonar" >L&#8217;annonce sur le blog Sonar</a> avec plein de jolies images.</li><li><a
href="http://sonar.codehaus.org/downloads/" title="La release note" >La release note</a>.</li></ul><h3><a
name="RIA"></a>RIA</h3><h4><a
name="AirAthena"></a>Air &#8216;Athena&#8217;</h4><p>Non, ce n&#8217;est pas une nouvelle marque de baskets, mais, comme les flexeurs le savent depuis le Flash Camp de mai, le nom de code de la future version de Adobe Air, la version 2.0. Comme on s&#8217;y attendait, celle-ci fonctionnera avec Flash 10 et Flex 4. Même si aucune date officielle n&#8217;a été avancée, Adobe dévoile peu à peu les principales évolutions de sa plate-forme, <a
href="http://www.insideria.com/2009/10/air-2-enhancements-complete-ov.html" title="nouveauts rpertories par Elad Elrom sur InsideRIA" >nouveautés répertoriées par Elad Elrom sur InsideRIA</a>.<br
/> Commençons par celle qui nous semble vitale dans l&#8217;adoption de AIR / Flex à grande échelle, à savoir une amélioration drastique des performances. Les équipes d&#8217;Adobe ont mis l&#8217;accent sur la réduction des ressources (CPU et mémoire) consommées par le runtime AIR. Les tests effectués sur une mini application montrent en effet une diminution des ressources utilisées (en regard de la version 1.5). Reste à tester ces optimisations sur une application gourmande&#8230; Toujours au chapitre performance, Adobe promet une optimisation de Webkit (le browser open source embarqué par AIR) et une installation Linux native.<br
/> Au menu des nouveautés, nous avons :</p><ul><li>Une meilleure connaissance de la plate-forme matérielle, avec la gestion des devices multi-touch et la gestion des périphériques de stockage USB ou réseau &#8216;à chaud&#8217;.</li><li>Un enrichissement des fonctionnalités des APIs existantes : points de sauvegarde dans les transactions, support IPv6, augmentation de la taille maximale de la fenêtre AIR, manipulation des données de l&#8217;API Microphone, time-out d&#8217;inactivité&#8230;</li><li>De nouvelles fonctionnalités via de nouvelles API, dont la plus étonnante est l&#8217;API File promises. Celle-ci permet de télécharger en local, depuis une application AIR, un ensemble de fichiers par simple Drag &#038; Drop. D&#8217;autres API font également leur apparition, en particulier au niveau du support réseau et de l&#8217;adhérence de AIR à l&#8217;OS (les fichiers peuvent maintenant être ouverts par des processus natifs de l&#8217;OS, par exemple Notepad pour un .txt sous Windows).</li></ul><p>Une évolution assez naturelle donc (correction des gros points de blocage des versions précédentes), mais quelques promesses de fonctionnalités intéressantes, en particulier via <em>l&#8217;adhérence</em> à l&#8217;OS.</p><h4><a
name="DHTMLX"></a>DHTMLX 2.5</h4><p>Des nouvelles de <a
href=" http://dhtmlx.com/" title="DTHMLX" >DTHMLX</a> (la 11ème librairie de notre <a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#belleslibrairiesWebUI" title="revue de presse de fin janvier dernier" >revue de presse de fin janvier dernier</a>) qui est sorti il y a quelques semaines en <a
href="http://dhtmlx.com/docs/news/index.shtml?show=44" title="version 25" >version 2.5</a>.</p><p>Cette release apporte plusieurs corrections et améliorations sur tous les composants de la suite. On retiendra plus particulièrement :</p><ul><li>Une API orientée objet (l&#8217;API fonctionnelle est toujours disponible) ,</li><li>Nouvelle skin par défaut avec d&#8217;ici peu (mais non présent dans cette release) un <em>Skin Customizer</em> qui permettra de modifier facilement les couleurs principales du thème standard,</li><li>Nouveau moteur de rendu qui améliore la performance d&#8217;affichage des composants <code>Layout</code>, <code>Windows</code>, <code>Accordion</code> et <code>Tabbar</code>,</li><li>Une API de conteneurs unifiée (toujours pour les <code>Layout</code>, <code>Windows</code>, <code>Accordion</code> et <code>Tabbar</code>),</li><li>Améliorations générales pour les composants <code>Grid</code>, <code>Tree</code> et <code>TreeGrid</code>,</li><li>Révision complète du <a
href="http://www.dhtmlx.com/docs/products/docsExplorer/" title="DocsExplorer" >DocsExplorer</a>.</li></ul><p>Puisque nous sommes sur DHTMLX, notons aussi le composant <a
href="http://www.dhtmlx.com/docs//products/dhtmlxScheduler/index.shtml" title="Scheduler v20" >Scheduler v.2.0</a>, sorti en juillet dernier, qui n&#8217;est pas inclus dans la suite mais qui vaut tout de même le détour si vous avez besoin d&#8217;un composant calendrier haut niveau.</p><p>Les téléchargements se passent par <a
href="http://www.dhtmlx.com/docs/download.shtml" title="ici" >ici</a> et comme d&#8217;habitude vous aurez le choix entre le téléchargement composant par composant ou le téléchargement de la suite complète.<br
/> Chaque composant existe en édition standard ou professionnelle. Pour résumer la version standard contient moins de fonctionnalités et est sous licence GPL alors que la professionnelle contient toutes les fonctionnalités, un support prioritaire en cas de bugs/questions sur le forum et plusieurs centaines d&#8217;exemples de fonctionnalités avancées.<br
/> Pour le détail des licences et des différents prix proposés pour les composants et pour la suite complète, cela se passe sur cette <a
href="http://www.dhtmlx.com/docs/products/licenses.shtml" title="page" >page</a>.</p><h4><a
name="TipsandTricksMaven"></a>Tips and Tricks Maven 2</h4><p>Sonatype nous présente <a
href="http://www.sonatype.com/people/2009/10/maven-tips-and-tricks-advanced-reactor-options/" title="ici" >ici</a> quelques nouveautés intéressantes de maven disponibles depuis la version 2.1 concernant les projets multi-modules. Cela se traduit par de nouvelles commandes disponibles telles que:</p><ul><li><code>-rf</code>, <code>-resume-from</code>: permet de spécifier au maven reactor le projet à partir duquel on veut reprendre le build</li><li><code>-pl</code>, <code>-projects</code>: permet de sélectionner une liste de modules d&#8217;un projet multi-modules</li><li><code>-am</code>, <code>-also-make</code>: combinée avec l&#8217;option <code>-pl</code>, elle permet de construire tous les modules dépendants du module passé à l&#8217;option <code>pl</code></li><li><code>-amd</code>, <code>-also-make-dependents</code>: combinée avec l&#8217;option <code>-pl</code>, elle permet de construire tous les modules qui ont une dépendance vers le module passé à l&#8217;option <code>pl</code></li></ul><p>Très bonne nouvelle donc pour les développeurs dont le build prenait beaucoup de temps à cause de la reconstruction de modules non modifiés (et non impactés) par leurs nouveaux développements.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="Scuritchosesdeplusquelesagress"></a>Sécurité : 5 choses de plus que les agresseurs d&#8217;applications web ne vous diront pas</h4><p>Le Denim Group continue sa série <a
href="http://denimgroup.typepad.com/denim_group/2009/09/13-things-a-web-application-attacker-wont-tell-you.html" title="13 Things a Web Applications Attacker Won't Tell You" >13 Things a Web Applications Attacker Won&#8217;t Tell You</a> que nous avions <a
href="http://blog.xebia.fr/2009/10/05/revue-de-presse-xebia-128/#Scuritchosesquelesagresseursda" title="traitée la semaine dernière" >traitée la semaine dernière</a> avec <a
href="http://denimgroup.typepad.com/denim_group/2009/10/5-more-things-a-web-application-attacker-wont-tell-you.html" title="5 nouvelles failles de scurit" >5 nouvelles failles de sécurité</a> de nos applications web :</p><ul><li>Ce n&#8217;est pas parce que vous utilisez un framework de sécurité que votre application est sécurisée.</li><li>Je n&#8217;utilise pas un browser pour attaquer votre application web.</li><li>J&#8217;adore quand votre site me permet d&#8217;<em>uploader</em> des fichiers dans l&#8217;arborescence des répertoires servis par l&#8217;application web.</li><li>Je peux intercepter et voler toutes les informations qui passent sur HTTP si elles ne sont pas protégées par SSL ou un mécanisme équivalent.</li><li>Une sécurité obscurantiste n&#8217;en est pas une (ne pas savoir faire ou se dire que ca n&#8217;arrivera pas ne protège pas).</li></ul><p>Si le dernier point est un débat éternel chez les experts de la sécurité les premiers sont en revanche communément admis.</p><h4><a
name="LesoptimisationsduJDKuactivesp"></a>Les optimisations du JDK 6u14 activées par défaut sur le JDK 7</h4><p>Rémi Forax, un contributeur sur <a
href="http://openjdk.java.net/" title="OpenJDK" >OpenJDK</a> et sur la <a
href="http://jcp.org/en/jsr/detail?id=292" title="JSR-292" >JSR-292</a>, <a
href="http://weblogs.java.net/blog/forax/archive/2009/10/06/jdk7-do-escape-analysis-default" title="a fait part de son étonnement" >a fait part de son étonnement</a> en constatant un gain significatif de performance entre deux <em>builds</em> successifs de l&#8217;OpenJDK 7 actuellement en cours de développement. C&#8217;est ainsi qu&#8217;il a pu se rendre compte que deux optimisations majeures du compilateur JIT de la JVM étaient activées par défaut <a
href="http://download.java.net/jdk7/changes/jdk7-b72.html" title="depuis le build 72" >depuis le <em>build</em> 72</a> du projet : l&#8217;<em>escape analysis</em> et la compression de pointeurs. Celles-ci étaient apparues dans le JDK 6u14 mais n&#8217;y étaient pas activées par défaut.</p><p>Pour rappel l&#8217;<em>escape analysis</em> consiste en l&#8217;analyse du bytecode d&#8217;une méthode pour découvrir les références vers les objets qui ne &laquo;&nbsp;s&#8217;échappent&nbsp;&raquo; pas du contexte de la méthode. Grâce à cette analyse, la JVM peut alors décider d&#8217;allouer ces objets directement sur la <em>stack</em> plutôt qu&#8217;en <em>heap</em> comme c&#8217;est normalement le cas. Il en résulte un gain de performance évident puisque le coût d&#8217;allocation et de libération de mémoire est alors supprimé pour ces objets.</p><p>La <a
href="http://wikis.sun.com/display/HotSpotInternals/CompressedOops" title="compression de pointeurs" >compression de pointeurs</a>, quant à elle, concerne uniquement les JVM 64 bits. En effet le passage d&#8217;un adressage de 32 à 64 bits entraîne une consommation plus élevée de la mémoire du fait de l&#8217;augmentation de la taille des pointeurs, induisant elle-même des temps de chargement plus longs et une surconsommation du cache du processeur. Pour palier ce problème, la compression de pointeurs se base sur le fait que la JVM aligne l&#8217;adresse des objets sur 64 bits (ceci afin de simplifier et donc d&#8217;accélérer leur accès en mémoire), pour procéder à un <em>scaling</em> des pointeurs. Ainsi, en limitant l&#8217;espace mémoire adressable à 32 Go, il est possible de contenir un pointeur dans 32 bits et donc de revenir à une consommation mémoire proche de celle d&#8217;une JVM 32 bits.</p><p>L&#8217;activation par défaut de ces deux optimisations sur le JDK 7 montre que l&#8217;équipe du projet estime désormais qu&#8217;elles ne sont plus expérimentales et qu&#8217;elles conviennent dans la majorité des cas. Ismael Juma <a
href="http://weblogs.java.net/blog/forax/archive/2009/10/06/jdk7-do-escape-analysis-default#comment-10698" title="prcise" >précise</a> par ailleurs qu&#8217;il est possible que ces activations par défaut soient reportées également au JDK 6 courant 2010.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2009/10/12/revue-de-presse-xebia-129/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2009/06/22/revue-de-presse-xebia-114/</link> <comments>http://blog.xebia.fr/2009/06/22/revue-de-presse-xebia-114/#comments</comments> <pubDate>Mon, 22 Jun 2009 16:19:03 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[GAE]]></category> <category><![CDATA[Gilead]]></category> <category><![CDATA[Hibernate]]></category> <category><![CDATA[Hibernate Shards]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[jazoon]]></category> <category><![CDATA[Jigsaw]]></category> <category><![CDATA[OSGi]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[Vaadin]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=2304</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. RIA Vaadin 6 Adaptateur Gilead pour GAE Une série d&#8217;annonces chez Adobe Le coin de la technique Scalabilité avec Hibernate et Shards Jigsaw vs OSGi Pourquoi utiliser un portail ? Embarquer le Web dans Java avec JWebPane Evènements de notre communauté en France et [...]]]></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>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2009/06/22/revue-de-presse-xebia-114/#Vaadin">Vaadin 6</a></li><li><a
href="http://blog.xebia.fr/2009/06/22/revue-de-presse-xebia-114/#AdaptateurGileadpourGAE">Adaptateur Gilead pour GAE</a></li><li><a
href="http://blog.xebia.fr/2009/06/22/revue-de-presse-xebia-114/#UnesriedannonceschezAdobe">Une série d&#8217;annonces chez Adobe</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2009/06/22/revue-de-presse-xebia-114/#ScalabilitavecHibernateetShard">Scalabilité avec Hibernate et Shards</a></li><li><a
href="http://blog.xebia.fr/2009/06/22/revue-de-presse-xebia-114/#JigsawvsOSGi">Jigsaw vs OSGi</a></li><li><a
href="http://blog.xebia.fr/2009/06/22/revue-de-presse-xebia-114/#Pourquoiutiliserunportail">Pourquoi utiliser un portail ?</a></li><li><a
href="http://blog.xebia.fr/2009/06/22/revue-de-presse-xebia-114/#EmbarquerleWebdansJavaavecJWeb">Embarquer le Web dans Java avec JWebPane</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/2009/06/22/en-route-pour-jazoon-09/">Xebia @ Jazoon 09</a></li></ul><h3><a
name="RIA"></a>RIA</h3><h4><a
name="Vaadin"></a>Vaadin 6</h4><p>Au revoir <a
href="http://www.itmill.com/" title="IT Mill Toolkit" >IT Mill Toolkit</a> et bienvenue à <a
href="http://vaadin.com/home" title="Vaadin" >Vaadin</a> (vu sur leur <a
href="http://vaadin.com/blog/-/blogs/vaadin-6-server-driven-ria-framework-announced-the-next-generation-of-it-mill-toolkit" title="blog" >blog</a>) !</p><p>Pour ceux qui ne le connaissent pas encore, Vaadin (anciennement IT Mill Toolkit) est un framework de développement d&#8217;applications RIA qui s&#8217;appuie sur GWT. Sa particularité est d&#8217;être <em>runtime</em> donc aucune compilation spécifique n&#8217;est demandée avant de packager la webapp (à l&#8217;inverse de GWT).</p><p>Simple changement de nom ? En tout cas très peu de changement côté API selon les auteurs du framework. Il faut plutôt se tourner vers l&#8217;outillage pour voir quelques nouveautés : un <a
href="http://vaadin.com/eclipse" title="plugin eclipse" >plugin eclipse</a> (création de projets, de composants UI, de thèmes&#8230;) et, inclus dans le plugin, un <a
href="http://vaadin.com/image/image_gallery?uuid=93600d15-df24-4299-b3d1-77a91d17624c&#038;groupId=10904&#038;t=1241865010814" title="diteur WYSIWYG" >éditeur WYSIWYG</a>.</p><p>Côté liens utiles, l&#8217;habituel <a
href="http://demo.vaadin.com/sampler/" title="showcase" >showcase</a>, le <a
href="http://vaadin.com/book" title="livre" >livre</a> et la <a
href="http://vaadin.com/comparison" title="comparaison maison" >comparaison maison</a> avec les autres frameworks du marché (et la concurrence est rude dans le monde du RIA).</p><p>A noter que <a
href="http://vaadin.com/blog/-/blogs/vaadin-at-jazoon-09?_33_redirect=%2Fhome" title="Vaadin" >Vaadin</a> sera présent à <a
href="http://jazoon.com/" title="Jazoon" >Jazoon</a> pour une conférence sur <a
href="http://jazoon.com/en/conference/presentationdetails.html?type=sid&#038;detail=8360" title="RIA Security" >RIA Security</a> le mardi 23 juin à 15h (slides, projet et autres sur <a
href="http://vaadin.com/web/joonas/wiki/-/wiki/Main/RIA+Security" title="cette page" >cette page</a>).</p><h4><a
name="AdaptateurGileadpourGAE"></a>Adaptateur Gilead pour GAE</h4><p>Vous connaissez <a
href="http://blog.xebia.fr/2009/01/23/gwt-galaxy/" title="GWT" >GWT</a>, <a
href="http://blog.xebia.fr/2008/12/17/integrer-hibernate-avec-gwt-sans-douleur/" title="Gilead" >Gilead</a>, et <a
href="http://blog.xebia.fr/2009/04/14/revue-de-presse-xebia-104/#GoogleAppEnginepourJavaetGroov" title="Google App Engine" >Google App Engine</a> ? Et bien il ne reste plus qu&#8217;à mélanger tout ça et on obtient le <a
href="http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/69d5ccd01240a59c" title="Gilead GWT adapter for Google AppEngine" >Gilead GWT adapter for Google AppEngine</a> (vu sur le <a
href="http://googlewebtoolkit.blogspot.com/2009/06/gwt-community-updates.html" title="GWT Blog" >GWT Blog</a>).</p><p>Tout démarre d&#8217;un <a
href="http://groups.google.com/group/Google-Web-Toolkit-Contributors/browse_thread/thread/3c768d8d33bfb1dc" title="thread google groups" >thread google groups</a> avec comme point de départ la <em>serialization exception</em> lancée par les entités persistantes transférées vers GWT. Évidemment, la solution qui ressort <a
href="http://groups.google.com/group/Google-Web-Toolkit-Contributors/msg/c4e6d22860a7df3d" title="très rapidement" >très rapidement</a>, outre l&#8217;utilisation de DTOs, est de passer par <a
href="http://noon.gilead.free.fr/gilead/index.php?page=presentation" title="Gilead" >Gilead</a> pour transformer nos entités persistantes en POJOs. Il suffit d&#8217;ajouter le jar <code>adapter4appengine</code> et de remplacer la classe <code>PersistentRemoteService</code> par <code>EngineRemoteService</code> dans vos remotes services. Dès lors, il sera possible d&#8217;envoyer ses entités persistantes vers le client GWT sans exceptions de sérialisation sur <a
href="http://code.google.com/intl/fr/appengine/" title="GAE" >GAE</a>.</p><p>1.0 M2 téléchargeable à cette <a
href="http://sourceforge.net/project/downloading.php?group_id=239931&#038;filename=adapter4appengine-1.0M2.jar&#038;a=91098275" title="url" >url</a>, documentation <a
href="http://noon.gilead.free.fr/gilead/index.php?page=adapter4appengine" title="par ici" >par ici</a>. Attention toutefois, cette version n&#8217;est pas production ready.</p><h4><a
name="UnesriedannonceschezAdobe"></a>Une série d&#8217;annonces chez Adobe</h4><p>Après l&#8217;annonce de la sortie de la plateforme Flash il y a quelques semaines, voici une nouvelle série d&#8217;annonce de la part d&#8217;Adobe.</p><p>Pour commencer, deux news relayées par Andrew Twice dans <a
href="http://www.insideria.com/2009/06/its-an-active-news-day-from-ad.html" title="InsideRIA" >InsideRIA</a>.<br
/> La première concerne la sortie d&#8217;<a
href="http://labs.adobe.com/technologies/tables/" title="Adobe Table" >Adobe Table</a> en version bêta. Cet outil permet de créer des feuilles de calcul, des plannings ou encore des listes de tâches en ligne:</p><ul><li>Les utilisateurs peuvent ajouter des données en même temps: les données sont mises à jour en temps réel pour tout le monde.</li><li>Possibilité de savoir qui travaille sur Adobe Table.</li><li>Création d&#8217;écrans communs et privés : les utilisateurs peuvent travailler de manière coopérative, et/ou créer des espaces privés pour ne garder que les informations importantes.</li><li>Filtrage : les utilisateurs peuvent filtrer leurs données en temps réel.</li><li>Tri.</li></ul><p>Similaire à <a
href="http://www.google.com/google-d-s/intl/fr/tour1.html" title="Google Document" >Google Document</a>, cet outil a été développé sur la plateforme Flash et va continuer <a
href="http://blogs.adobe.com/acom/2009/06/shared_tables_for_shared_data_1.html" title="à évoluer" >à évoluer</a>. La <a
href="https://labs1.acrobat.com" title="démo" >démo</a> se passe <a
href="https://labs1.acrobat.com" title="ici" >ici</a>, la seule contrainte : avoir un compte Adobe.</p><p>La deuxième annonce concerne l&#8217;ouverture de la spécification de Real-Time Messaging Protocol (RTMP). Comme nous en avions parlé <a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#Adobecontinuelouverturedeseste" title="ici" >ici</a>, la spécification a été publiée lundi dernier.</p><p>Enfin, Michael Chaize parle de la <a
href="http://codemoiunmouton.wordpress.com/2009/06/18/livecycle-data-services-3/" title="sortie de LiveCycle Data Services 3" >sortie de LiveCycle Data Services 3</a> en bêta. Disponible sur le <a
href="http://labs.adobe.com/technologies/livecycle_dataservices3/" title="labs d'Abobe" >labs d&#8217;Abobe</a>, cette nouvelle version propose une meilleure qualité de service pour des applications dont la fiabilité est primordiale telles que les applications bancaires par exemple. Venant compléter la plateforme Flash (avec Flex 4 et Flash Builder 4), Adobe incite la communauté à faire ses retours sur le <a
href="http://forums.adobe.com/community/labs" title="forum" >forum</a>.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="ScalabilitavecHibernateetShard"></a>Scalabilité avec Hibernate et Shards</h4><p>Une <a
href="http://www.infoq.com/presentations/Scaling-Hibernate-Emmanuel-Bernard-Max-Ross" title="session de QCon 2008" >session de QCon 2008</a>, traitant de la scalabilité d&#8217;Hibernate, vient d&#8217;être mise en ligne. Présentée par Emmanuel Bernard, <em>project lead</em> d&#8217;Hibernate Search, et Max Ross, <em>project lead</em> d&#8217;Hibernate Shards, cette présentation offre une approche peu courante sur un problème pourtant récurrent.</p><p>Outre les classiques solutions permettant d&#8217;éviter certaines pertes de performance avec l&#8217;augmentation du volume traité, telles que la bonne gestion du cache, et les optimisations SQL, il a été question d&#8217;utiliser Hibernate Search et Hibernate Shards.</p><p><a
href="https://www.hibernate.org/410.html" title="Hibernate Search" >Hibernate Search</a> est connu pour sa capacité à simplifier les recherches dans un ensemble d&#8217;entités grâce à l&#8217;utilisation de <a
href="http://lucene.apache.org/" title="Lucene" >Lucene</a> conjointement à la base de données. Emmanuel Bernard proposait ici de déléguer à Search certaines recherches qui s&#8217;avèrent très coûteuses à effectuer en base. Lucene étant placé sur une machine séparée, et pouvant même fonctionner en maître / esclave, il est ainsi possible d&#8217;obtenir une intéressante répartition de la charge.</p><p><a
href="https://www.hibernate.org/414.html" title="Hibernate Shards" >Hibernate Shards</a>, bien que plus ancien, est moins répandu du fait qu&#8217;aucune version finale n&#8217;a encore été produite. Il s&#8217;agit d&#8217;un module additionnel pour Hibernate permettant à une application de manipuler des données partitionnées sur plusieurs BDD. Le but étant d&#8217;encapsuler la conscience du partitionnement des données au sein de la couche Hibernate afin que l&#8217;application n&#8217;ait pas à gérer cette problématique. Les possibilités du framework sont intéressantes :</p><ul><li>La gestion correcte des Criterias sur des données partitionnées grâce à <a
href="http://docs.jboss.org/hibernate/stable/shards/api/org/hibernate/shards/criteria/ShardedCriteria.html" title="ShardedCriteria" ><code>ShardedCriteria</code></a>.</li><li><a
href="http://docs.jboss.org/hibernate/stable/shards/reference/en/html_single/#shards-resharding-virtual" title="Virtual Shards" >Virtual Shards</a> permettant de faire la distinction entre <em>shard</em> logique et <em>shard</em> physique et ainsi d&#8217;augmenter le nombre d&#8217;instances de base de données au fur et à mesure de l&#8217;augmentation des besoins.</li><li><a
href="http://docs.jboss.org/hibernate/stable/shards/reference/en/html_single/#shards-strategy-idgen" title="Generation dIDs" >Generation d&#8217;IDs</a> compatibles avec l&#8217;utilisation sous-jacente de plusieurs BDDs grâce à l&#8217;utilisation d&#8217;UUIDs.</li><li>Gestion correcte de BDDs hétérogènes.</li></ul><p>Ce sont finalement les fonctionnalités manquantes qui permettent de comprendre pourquoi Shards est toujours en version bêta. Max Ross s&#8217;est expliqué il y a plusieurs mois sur les problématiques rencontrées, de manière succincte <a
href="http://groups.google.com/group/hibernate-shards-dev/browse_thread/thread/74c14afd6d341afa#" title="sur un forum" >sur un forum</a> et plus longuement <a
href="http://www.javaworld.com/podcasts/jtech/2008/072408jtech.html" title="dans une interview" >dans une interview</a>. De nombreux défis restent ainsi à relever concernant la gestion correcte des agrégations dans les <a
href="http://docs.jboss.org/hibernate/stable/shards/api/" title="ShardedQuery" ><code>ShardedQuery</code></a> et la fourniture d&#8217;outils d&#8217;aide au partitionnement et repartitionnement des données.<br
/> Max Ross est employé par Google et non par JBoss, tout comme les deux autres <em>committers</em> du projet (le code ayant été donné à JBoss par Google), et affirme ne disposer que de 20 % de son temps pour Shards. Ceci n&#8217;explique que partiellement <a
href="http://fisheye.jboss.com/browse/Hibernate/shards/" title="le peu de commits" >le peu de commits</a> sur le projet et ne nous rassure guère quant à sa finalisation prochaine.</p><h4><a
name="JigsawvsOSGi"></a>Jigsaw vs OSGi</h4><p>Sept mois après le démarrage du projet <a
href="http://openjdk.java.net/projects/jigsaw" title="Jigsaw" >Jigsaw</a>, sa légitimité n&#8217;est toujours pas reconnue face à OSGi qu&#8217;il est venu défier sur son propre terrain.</p><p>La semaine dernière <a
href="http://javaposse.com/index.php?post_id=492239" title="JavaPosse diffusait une interview" >JavaPosse diffusait une interview</a> de Mark Reinhold et Alex Buckley, où ils ont pu présenter plus en détail leur vision de Jigsaw :</p><ul><li>Il a été conçu pour modulariser le JDK et est intégré au langage.</li><li>Il ne repose pas sur une spécification car cela n&#8217;était pas possible compte tenu du calendrier de JDK 7. Il est donc à considérer comme un &laquo;&nbsp;détail d&#8217;implémentation&nbsp;&raquo; tout comme la gestion du classpath l&#8217;était dans les JVMs précédentes.</li><li>Il n&#8217;est pas supposé entrer en concurrence avec OSGi, des outils permettant l&#8217;intégration entre modules Jigsaw et <em>bundles</em> OSGi étant prévus, mais non prioritaires.</li></ul><p>Dans le même temps, Eric Newcomer (<em>Co-Chair</em>, <em>Enterprise Expert Group</em> de l&#8217;OSGi Alliance), postait <a
href="http://modualrit.blogspot.com/2009/06/osgi-standard-questions.html" title="une série" >une série</a> <a
href="http://modualrit.blogspot.com/2009/06/kill-project-jigsaw-now-please.html" title="de billets" >de billets</a> très virulents à l&#8217;égard du projet Jigsaw, reprochant principalement que Sun n&#8217;ait pas voulu se tourner vers OSGi, ne cherchant pas à combler les manques qu&#8217;il y trouvait, se tournant immédiatement vers une nouvelle technologie et ignorant donc les 10 années d&#8217;expérience acquises par OSGi.</p><p>En fait, il semble n&#8217;y avoir aucune justification technique permettant d&#8217;expliquer l&#8217;orientation de Sun vers Jigsaw plutôt que vers OSGi ou vers une évolution d&#8217;OSGi intégrée au langage. La véritable raison serait alors à chercher sur le plan politique : la modularisation est un concept important qui manque à Java actuellement et Sun ne pouvait probablement pas se permettre, pour l&#8217;ajout d&#8217;un tel concept, de s&#8217;appuyer sur une spécification émise en dehors du JCP sur lequel il a la gouvernance.</p><h4><a
name="Pourquoiutiliserunportail"></a>Pourquoi utiliser un portail ?</h4><p>Le <a
href="http://lescastcodeurs.com/2009/06/les-cast-codeurs-podcast-episode-6-portal-ma/" title="dernier podcast des Cast Codeurs" >dernier podcast des Cast Codeurs</a> était l&#8217;occasion d&#8217;une interview de Thomas Heute et Julien Viet sur les portails d&#8217;entreprise et sur le partenariat entre eXo et JBoss <a
href="http://blog.xebia.fr/2009/06/15/revue-de-presse-xebia-113/#JBosseteXofusionnentleurssolut" title="dont nous vous parlions" >dont nous vous parlions</a> la semaine dernière.</p><p>Les détails liés au partenariat ont déjà été largement couverts par la blogosphère, et c&#8217;est surtout le tour d&#8217;horizon du concept même de portail que l&#8217;on retiendra. Celui-ci reste en effet souvent un élément ambigu au sein de l&#8217;écosystème JEE.</p><p>Le rôle du portail est d&#8217;agréger plusieurs applications au sein d&#8217;une unique application Web. Ce besoin technique peut être atteint à plusieurs niveaux de l&#8217;architecture de l&#8217;application :</p><ul><li>Au niveau back-end, par agrégation de Web Service, se conformant ainsi à l&#8217;un des préceptes des SOAs.</li><li>Au niveau applicatif, par l&#8217;utilisation d&#8217;un portail, ou d&#8217;une solution spécifique.</li><li>Au niveau du navigateur Web, par l&#8217;utilisation de gadgets, en suivant le principe des <a
href="http://fr.wikipedia.org/wiki/Application_composite" title="Mashups" >Mashups</a>.</li></ul><p>En outre, il a également été question des problématiques d&#8217;intégration des frameworks Web aux portlets, de complexité éventuelle, et d&#8217;adaptation des technologies Web aux portlets. Déterminer si un portail doit être utilisé dans une architecture dépend alors du niveau de tolérance à ces problématiques.</p><h4><a
name="EmbarquerleWebdansJavaavecJWeb"></a>Embarquer le Web dans Java avec JWebPane</h4><p>Depuis plusieurs années, lorsque l&#8217;on veut afficher une page Web au sein d&#8217;une application Swing, il faut se tourner vers le composant <a
href="https://jdic.dev.java.net/documentation/Specification.html" title="Browser" >Browser</a> de la librairie <a
href="https://jdic.dev.java.net/" title="Jdic" >Jdic</a>. Ce composant utilise <a
href="http://www.mozilla.org/projects/embedding/" title="Embeddable Mozilla" >Embeddable Mozilla</a>, et se présente sous la forme de code natif décliné pour chaque OS et d&#8217;un <em>wrapper</em> Java. Outre la nécessité de fournir une version spécifique à chaque OS, ce composant présente également l&#8217;inconvénient de mal s&#8217;intégrer aux applications Swing du fait de sa nature <em>heavyweight</em>. Pour rappel, un composant est dit <em>heavyweight</em> lorsqu&#8217;il est dessiné par l&#8217;environnement graphique du système d&#8217;exploitation ; à l&#8217;opposé il devient <em>lightweight</em> s&#8217;il est dessiné par l&#8217;application,  ce qui est le cas de l&#8217;ensemble des composants Swing. Or, faire cohabiter les deux types de composants est délicat car n&#8217;étant pas dessinés au même moment, leur superposition est confuse et des chevauchements non contrôlables apparaissent.</p><p>Lors de JavaOne, Alexey Ushakov a fait la démonstration du composant JWebPane sur lequel il travaille actuellement et vient de poster <a
href="http://weblogs.java.net/blog/alex2d/archive/2009/06/jwebpane_bof_sc.html" title="des captures d'écrans" >des captures d&#8217;écrans</a>. Contrairement à Jdic Browser, JWebPane se base sur le moteur <a
href="http://webkit.org/" title="WebKit" >WebKit</a> pour effectuer le rendu HTML. Or celui-ci se caractérise par sa nature <em>lightweight</em> s&#8217;intégrant agréablement à Swing. La <a
href="http://weblogs.java.net/blog/alex2d/archive/JWebPaneJ1.pdf" title="prsentation dAlex Ushakov" >présentation d&#8217;Alex Ushakov</a> permet également de constater que son composant est particulièrement riche en possibilité d&#8217;interactions et apporte un support pour d&#8217;éventuels plugins tels que Flash.</p><p>On ne peut qu&#8217;apprécier le choix de Sun de créer un composant pour Swing, réutilisable dans JavaFX, plutôt que de privilégier uniquement JavaFX comme cela est souvent le cas depuis son arrivée. L&#8217;intégration de JWebPane au JDK 7 est maintenant indispensable pour rendre ce composant réellement exploitable : se basant sur WebKit, il repose donc sur des librairies natives qu&#8217;il sera nécessaire de livrer avec les applications Java et seul l&#8217;intégration au JDK permettrait de l&#8217;éviter. Or, malgré <a
href="http://www.jroller.com/dmdevito/entry/about_swing_future_and_jwebpane" title="les appels" >les appels</a> de la communauté, JWebPane reste pour le moment absent de la <a
href="http://openjdk.java.net/projects/jdk7/features/" title="liste des features" >liste des <em>features</em></a> du JDK 7 et il est uniquement question d&#8217;une <a
href="http://weblogs.java.net/blog/alex2d/archive/2008/12/jwebpane_projec.html" title="mise  disposition sur Javanet" >mise à disposition sur Java.net</a>.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2009/06/22/revue-de-presse-xebia-114/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2009/06/02/revue-de-presse-xebia-111/</link> <comments>http://blog.xebia.fr/2009/06/02/revue-de-presse-xebia-111/#comments</comments> <pubDate>Tue, 02 Jun 2009 10:52:21 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[Flash]]></category> <category><![CDATA[Flash Catalyst]]></category> <category><![CDATA[FlashBuilder]]></category> <category><![CDATA[Flex]]></category> <category><![CDATA[FlexUnit]]></category> <category><![CDATA[G1]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[Google IO]]></category> <category><![CDATA[GWT]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JavaFX]]></category> <category><![CDATA[Jetty]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[SmartGWT]]></category> <category><![CDATA[Tellerium]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=2094</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. RIA Sortie de SmartGWT 1.1 FlashBuilder 4 supportera FlexUnit 4 JavaFX 1.2 est arrivé Le coin de la technique G1 Payant ! Oracle sonne-t-il le glas des machines virtuelles Java gratuites ? Jetty dévoile sa roadmap Sortie de Tellerium 0.6.0 RC1 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’actualité Java/J2EE hebdomadaire proposée par Xebia.</em></p><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2009/06/02/revue-de-presse-xebia-111/#SortiedeSmartGWT">Sortie de SmartGWT 1.1</a></li><li><a
href="http://blog.xebia.fr/2009/06/02/revue-de-presse-xebia-111/#FlashBuildersupporteraFlexUnit">FlashBuilder 4 supportera FlexUnit 4</a></li><li><a
href="http://blog.xebia.fr/2009/06/02/revue-de-presse-xebia-111/#JavaFXestarriv">JavaFX 1.2 est arrivé</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2009/06/02/revue-de-presse-xebia-111/#GPayantOraclesonnetilleglasdes">G1 Payant ! Oracle sonne-t-il le glas des machines virtuelles Java gratuites ?</a></li><li><a
href="http://blog.xebia.fr/2009/06/02/revue-de-presse-xebia-111/#Jettydvoilesaroadmap">Jetty dévoile sa roadmap</a></li><li><a
href="http://blog.xebia.fr/2009/06/02/revue-de-presse-xebia-111/#SortiedeTelleriumRC">Sortie de Tellerium 0.6.0 RC1</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/2009/06/02/revue-de-presse-xebia-111/#ConfrenceGoogleIO">Conférence Google  IO 2009</a></li><li><a
href="http://blog.xebia.fr/2009/06/02/revue-de-presse-xebia-111/#AdobeprsenteFlashCatalystParis">Adobe présente Flash Catalyst à Paris</a></li></ul><h3><a
name="RIA"></a>RIA</h3><h4><a
name="SortiedeSmartGWT"></a>Sortie de SmartGWT 1.1</h4><p>Il aura fallu attendre près de 6 mois pour pouvoir apprécier la nouvelle version de <a
href="http://code.google.com/p/smartgwt/" title="SmartGWT" >SmartGWT</a>, le wrapper GWT de <a
href="http://www.smartclient.com/" title="SmartClient" >SmartClient</a> par <a
href="http://www.jroller.com/sjivan/" title="Sanjiv Jivan" >Sanjiv Jivan</a> (<a
href="http://blog.xebia.fr/2008/12/01/revue-de-presse-xebia-85/#SortiedeSmartGWT" title="sortie de la version 1.0 lors d'une précédente revue de presse" >sortie de la version 1.0 lors d&#8217;une précédente revue de presse</a>), information relayée par l&#8217;<a
href="http://www.jroller.com/sjivan/entry/smartgwt_out_of_beta_v1" title="auteur" >auteur</a> et par <a
href="http://www.theserverside.com/news/thread.tss?thread_id=54747" title="The Server Side" >The Server Side</a>.</p><p>Cette version 1.1 apporte de nombreuses nouveautés (liste exhaustive sur la <a
href="http://www.smartclient.com/smartgwt/release_notes.html" title="release note" >release note</a>) :</p><ul><li>Correction de <a
href="http://code.google.com/p/smartgwt/issues/list?can=1&#038;q=label:SmartGWT-1.0b3" title="plus de 50 bugs" >plus de 50 bugs</a>.</li><li>Amélioration générale des performances des composants et des skins.</li><li>Champs de <a
href=" http://www.smartclient.com/smartgwt/showcase/#grid_formula_sumamry_builder_new_category" title="formules et rsums" >formules et résumés</a> (wizards, bindable avec des DataBoundComponent&#8230;).</li><li>Support du <em>GWT-RPC DataSource</em> avec les <em>DataBoundComponent</em> (tableaux, arbres, menus&#8230;).</li><li>Nombreuses documentations <em>Javadoc</em> (le gros défaut de <a
href="http://code.google.com/p/gwt-ext/" title="GWTExt" >GWT-Ext</a>).</li><li>API de récupération d&#8217;état de la vue depuis le serveur (pour de nombreux composants).</li><li>Nouveaux exemples dans le <a
href="http://www.smartclient.com/smartgwt/showcase" title="Showcase" >Showcase</a> au niveau de <em>New Samples</em>.</li><li>Un projet <em>Helloworld</em> pour SmartGWT avec GWT 1.6 &#8230;</li></ul><p>Une librairie open source <em>gratuite dans son intégralité</em> (<a
href="http://www.smartclient.com/product/index.jsp" title="licence LGPL" >licence LGPL</a>), <a
href="http://www.smartclient.com/product/download.jsp" title="ça ne se refuse pas" >ça ne se refuse pas</a> ou au moins <a
href="http://www.smartclient.com/smartgwt/showcase/#grid_grouping_custom_new_category" title="a se teste" >ça se teste</a> !</p><h4><a
name="FlashBuildersupporteraFlexUnit"></a>FlashBuilder 4 supportera FlexUnit 4</h4><p>Bonne nouvelle pour les développeurs Flex, nous apprenons par <a
href="http://www.insideria.com/2009/05/flashbuilder4-will-support-fle.html" title="InsideRIA" >InsideRIA</a> que FlexUnit 4 pourra être utilisé sur -FlexBuilder 4- <a
href="http://blog.xebia.fr/2009/05/25/revue-de-presse-xebia-110/#FlexBuilderdevientFlashBuilder" title="FlashBuilder 4" >FlashBuilder 4</a>.<br
/> Dans cet article, l&#8217;auteur nous présente les nouvelles fonctionnalités que propose FlexUnit 4 telles que :</p><ul><li>Création simplifiée de suites de tests.</li><li>Création et intégration facile de test runner à d&#8217;autres frameworks.</li><li>Utilisation de l&#8217;intégration continue grâce à une automatisation de l&#8217;intégration.</li><li>Meilleure gestion des tests asynchrones.</li><li>Meilleure gestion des exceptions.</li><li>Comme les annotations en Junit 4, les tests peuvent être gérés par les <a
href="http://livedocs.adobe.com/flex/3/html/help.html?content=metadata_3.html" title="Metadata" >Metadata</a>.</li></ul><p>La prochaine étape maintenant est d&#8217;intégrer le projet à FlashBuilder 4. Il est d&#8217;ailleurs possible de <a
href="http://bugs.adobe.com/jira/browse/FB-18873" title="voter pour ce projet" >voter pour ce projet</a>. Si cela vous intéresse n&#8217;hésitez pas à voter vous aussi.</p><h4><a
name="JavaFXestarriv"></a>JavaFX 1.2 est arrivé</h4><p>En accord avec le planning annoncé dès décembre dernier lors de <a
href="http://devoxx.com/" title="Devoxx" >Devoxx</a>, une nouvelle version de JavaFX vient d&#8217;être <a
href="http://javafx.com/" title="mise à disposition" >mise à disposition</a>. Les apports sont nombreux et comblent certains manques de la version 1.1. Le site de JavaFX propose <a
href="http://javafx.com/docs/articles/javafx1-2.jsp" title="un tour d'horizon" >un tour d&#8217;horizon</a> très complet des nouveautés et Stephen Chin en présente <a
href="http://steveonjava.com/2009/05/31/javafx-1-2-top-10/" title="un rsum accompagn dun guide de migration" >un résumé accompagné d&#8217;un guide de migration</a>. On retiendra :</p><ul><li>Ajout de <em>widgets</em> propres à JavaFX, <em>skinnables</em> et disponibles sur toute les plate-formes. Il n&#8217;est donc plus nécessaire de faire appel à des composants Swing (qui étaient inaccessibles sur mobile). L&#8217;ensemble des composants simples sont disponibles (bouton, checkbox, &#8230;), par contre la <code>ListView</code> est le seul composant de haut niveau à être fourni, pas de <em>table</em>, ni de <em>tree</em>.</li><li>Ajout de composants dédiés à la création de graphiques de type <em>Area, Bar, Bubble, Line, Pie, Scatter</em> et <em>X/Y</em>.</li><li>Ajout de <a
href="http://java.sun.com/developer/technicalArticles/javafx/v1_2_newlayouts/" title="nouveaux layouts " >nouveaux <em>layouts</em> </a> en supplément des <code>VBox</code> et <code>HBox</code> déjà disponibles.</li><li>Support de Linux et Solaris.</li></ul><p>La compatibilité des binaires générés par JavaFX n&#8217;est pas assurée entre cette nouvelle version 1.2 et ses prédécesseurs. Il sera donc nécessaire de recompiler les applications pour assurer la migration.</p><p>Le nouveau JavaFX sera donc sorti dans les temps pour être le sujet de nombreuses présentations et annonces lors de <a
href="http://java.sun.com/javaone/" title="JavaOne" >JavaOne</a> qui débute aujourd&#8217;hui même à San Fransisco. Comme <a
href="http://blog.xebia.fr/2009/05/11/revue-de-presse-xebia-108/#JavaFXinformationsetcontrovers" title="nous vous en parlions" >nous vous en parlions</a> il y a quelques semaines, le support des TVs <em>pourrait</em> y faire l&#8217;objet d&#8217;une démonstration.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="GPayantOraclesonnetilleglasdes"></a>G1 Payant ! Oracle sonne-t-il le glas des machines virtuelles Java gratuites ?</h4><p>Oracle va-t-il rendre Java payant ? Cette question que tous posaient après l&#8217;annonce du rachat de Sun revient aujourd&#8217;hui au premier plan avec une phrase sibylline de l&#8217;annonce de la <a
href="http://java.sun.com/javase/6/webnotes/6u14.html" title="version 6 update 14 de la JVM de Sun" >version 6 update 14 de la JVM de Sun</a> :<br
/> <quote><br
/> <em>&laquo;&nbsp;Although G1 is available for use in this release, note that <strong>production use of G1 is only permitted where a Java support contract has been purchased</strong>&#8230;&nbsp;&raquo;</em><br
/> </quote><br
/> En théorie, la fonctionnalité concernée est encore expérimentale et le rachat de Sun par Oracle n&#8217;est pas clos : Oracle n&#8217;a pas à s&#8217;immiscer dans la gestion au quotidien de Sun  ; il n&#8217;y aurait donc pas de raison que Sun change de stratégie sur la JVM.<br
/> Cependant, on n&#8217;a jamais vu de telles limitations contractuelles sur la JVM de Sun. Si les JVM mobile et temps réel ont toujours été payantes chez Sun comme IBM et BEA/Oracle, les JVMs serveur et poste de travail étaient traditionnellement gratuites &#8230;  à un détails près : la JVM JRockit de BEA était devenue payante dès le rachat par Oracle ; on avait alors invoqué des considérations contractuelles qui empêchaient Oracle de distribuer gratuitement une JVM.</p><p>C&#8217;est aujourd&#8217;hui la très répandue JVM de Sun qui est menacée ; une fois de plus à la suite d&#8217;un rachat par Oracle. Faut-il craindre la fin des JVM gratuites ? Pour le poste de travail, cela parait très improbable faute de modèle économique crédible mais pour les serveurs, un revirement d&#8217;Oracle semble possible et dans la lignée de la nouvelle politique de JRockit. Il resterait alors disponibles gratuitement les JVM <a
href="http://www.ibm.com/developerworks/java/jdk/index.html" title="IBM J9" >IBM J9</a> et <a
href="http://openjdk.java.net/" title="Open JDK" >Open JDK</a>, le projet Open Source dont la gouvernance par Sun a été sujette à polémique ces derniers mois. Nous noterons au passage que G1 sera inclus dans la <a
href="http://openjdk.java.net/projects/jdk7/features/#f230" title="version 7 dOpen JDK" >version 7 d&#8217;Open JDK</a>.</p><p>Pour revenir sur les nouveautés de la JVM 6 update 14, nous retiendrons : la compression des pointeurs (<code>-XX:+UseCompressedOops</code>) pour les JVM 64 bits (cf. <a
href="http://blog.xebia.fr/2008/05/26/revue-de-presse-xebia-58/#Javabitspassisouventunebonneid" title="Java 64 bits, pas si souvent une bonne idée" >Java 64 bits, pas si souvent une bonne idée</a>), l&#8217;optimisation des accès aux variables utilisées sur un seul thread ( <code>-XX:+DoEscapeAnalysis</code> ) et ce <a
href="http://blog.xebia.fr/2008/03/12/gc-generationnels-traditionnels-jdk6-vs-gc-garbage-first-jdk7/" title="Garbage First (G1) Garbage Collector" >Garbage First (G1) Garbage Collector</a> optimisé pour la gestion de grands volumes de mémoire mais réservé en production aux souscripteurs d&#8217;un contrat de support.</p><h4><a
name="Jettydvoilesaroadmap"></a>Jetty dévoile sa roadmap</h4><p>Comme tous les conteneurs Servlet / JSP du marché, <a
href="http://www.eclipse.org/jetty/" title="Jetty" >Jetty</a> se prépare à l&#8217;arrivée de la <a
href="http://www.jcp.org/en/jsr/detail?id=315" title="JSR-315 (Servlet 3.0)" >JSR-315 (Servlet 3.0)</a> prévue pour cet été. Par ailleurs, il opère également divers changements dûs à sa récente <a
href="http://www.eclipse.org/proposals/jetty/" title="intgration  la fondation Eclipse" >intégration à la fondation Eclipse</a>.</p><p>Greg Wilkins a présenté <a
href="http://blogs.webtide.com/gregw/entry/jetty_6_jetty_7_and" title="une roadmap dtaille" >une roadmap détaillée</a> des fonctionnalités qui seront présentes dans les futures versions de Jetty.</p><p><strong>Jetty 6</strong> reste la version stable en attendant l&#8217;arrivée de son successeur.</p><p><strong>Jetty 7</strong> est la branche de développement que Greg Wilkins conseille d&#8217;adopter pour les projets débutant actuellement. Elle marquera la migration vers le package <code>org.eclipse.jetty</code>, et apportera une remodularisation accompagnée d&#8217;un packaging en bundle OSGi en supplément des artifacts Maven, et une préparation à Servlet 3.0 dont il proposera une <em>preview</em>.</p><p><strong>Jetty 8</strong> ne différera guère de son prédécesseur, il s&#8217;agira avant tout d&#8217;un <em>rebuild</em> en Java 1.6 exclusivement, accompagné d&#8217;une conformance stricte à Servlet 3.0 dont la spécification sera alors finalisée.</p><p>Aucune date précise n&#8217;est indiquée par l&#8217;auteur, mais il semble que la finalisation de la spécification Servlet 3.0 constituera le principal régulateur du calendrier de Jetty.</p><h4><a
name="SortiedeTelleriumRC"></a>Sortie de Tellerium 0.6.0 RC1</h4><p><a
href="http://code.google.com/p/aost/" title="Tellerium" >Tellerium</a> est un framework de tests unitaires d&#8217;interface utilisateur. Le projet s&#8217;appuie sur <a
href="http://seleniumhq.org/" title="Selenium" >Selenium</a>, est compatible avec JUnit et TestNG et permet d&#8217;écrire les tests en Java, Groovy ou par un DSL.</p><p>Les nouvelles fonctionnalités entre la version 0.5.0 et cette 0.6.0 sont <a
href="http://code.google.com/p/aost/wiki/WhatsNewInTellurium_0_6_0#New_Features" title="plutt nombreuses" >plutôt nombreuses</a>, on notera ainsi :</p><ul><li>Ajout du sélecteur <a
href="http://jquery.com/" title="jQuery" >jQuery</a> (et du jQuery Cache).</li><li>Support de Selenium 1.0 Beta 2 et Groovy 1.6.</li><li>Core (<em>Include</em>, <em>setCustomConfig</em>, <em>Dump method</em> &#8230;).</li><li>Selenium Grid (tests en parallèle).</li><li>Archetype Maven (JUnit et TestNG) &#8230;</li></ul><p>Plusieurs nouvelles fonctionnalités donc mais surtout de nombreuses optimisations de performances, des tests plus rapides et plus faciles à écrire, le tout utilisant les versions les plus récentes des projets dont il dépend. A noter aussi le plugin pour FireFox <a
href="http://code.google.com/p/aost/wiki/announcements#Tellurium_UI_Model_Plugin_(TrUMP)_0.1.0_is_released" title="TrUMP" >TrUMP</a> (Tellerium UI Model Plugin) permettant d&#8217;écrire plus rapidement les tests (enregistrement des clicks, validation et customisation, export Groovy&#8230;).</p><p>Le téléchargement se passe <a
href="http://code.google.com/p/aost/downloads/list" title="par ici" >par ici</a>, et pour les <em>pom</em> ça se passe <a
href="http://code.google.com/p/aost/wiki/announcements#Tellurium_0.6.0_RC1_is_out" title="en bas de page par l" >en bas de page par là</a>.</p><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evènements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="ConfrenceGoogleIO"></a>Conférence Google  IO 2009</h4><p><a
href="http://code.google.com/events/io/" title="Google IO 2009" >Google I/O 2009</a> s&#8217;est tenu la semaine dernière à San Francisco. Il s&#8217;agit d&#8217;une des conférences destinées aux développeurs utilisateurs des applications et des API de Google. L&#8217;actualité autour de cette conférence étant relativement importante, nous avons décidé de traiter celle-ci dans un article séparé.</p><p>En voici les grandes lignes de ce qui s&#8217;est vu à Google I/O :</p><ul><li>Le futur du Web, avec les premières <a
href="http://blog.xebia.fr/2009/06/01/google-io-2009-annonces-et-strategie-google/#HTMLlepremierwhaoueffect" title="dmonstrations moustillantes Html 5" >démonstrations émoustillantes Html 5</a>.</li><li><a
href="http://blog.xebia.fr/2009/06/01/google-io-2009-annonces-et-strategie-google/#GoogleWavelagrosseannoncedelac" title="Google Wave" >Google Wave</a>, le prochain outil de communication et collaboration made in Google.</li><li>La <a
href="http://blog.xebia.fr/2009/06/01/google-io-2009-annonces-et-strategie-google/#GWTaucurdelastratgieGoogle" title="rconciliation de Google avec GWT" >réconciliation de Google avec GWT</a>, sortie de <strong>Gwt Query</strong>.</li><li>Le futur d&#8217;Android, avec l&#8217;annonce de la branche <a
href="http://blog.xebia.fr/2009/06/01/google-io-2009-annonces-et-strategie-google/#AndroidDonutrecherchesetfiltre" title="Android 20  Donut" >Android 2.0 : Donut</a>.</li><li><a
href="http://blog.xebia.fr/2009/06/01/google-io-2009-annonces-et-strategie-google/#JavasurGoogleAppEngineouvertto" title="Java et Google App Engine" >Java et Google App Engine</a> en GA.</li><li><a
href="http://blog.xebia.fr/2009/06/01/google-io-2009-annonces-et-strategie-google/#GoogleWebElementswidgetspourvo" title="Google Web Elements" >Google Web Elements</a>, comment intégrer les services Google dans vos pages web.</li><li>Les macros dans Google Document, avec <a
href="http://blog.xebia.fr/2009/06/01/google-io-2009-annonces-et-strategie-google/#GoogleAppsScriptscriptezvosGoo" title="Google Apps Script" >Google Apps Script</a>.</li><li>Arrivée des <a
href="http://blog.xebia.fr/2009/06/01/google-io-2009-annonces-et-strategie-google/#Chromearrivedesextensions" title="extensions dans Chrome" >extensions dans Chrome</a>.</li></ul><p>Pour en savoir plus, vous pouvez lire <a
href="http://blog.xebia.fr/2009/06/01/google-io-2009-annonces-et-strategie-google/" title="notre billet ddi" >notre billet dédié</a> au sujet.</p><h4><a
name="AdobeprsenteFlashCatalystParis"></a>Adobe présente Flash Catalyst à Paris</h4><p>Mercredi 3 Juin 2009 à 16h, Adobe propose une présentation de Flash Catalyst. Cet outil destiné aux designers permet de concevoir des composants graphiques riches sans programmation. Ces créations peuvent ensuite être fournies à un développeur Flex pour que ce dernier se charge de la programmation intelligente.<br
/> Cette présentation va se diviser en deux sessions sous formes de conférences et d&#8217;ateliers :</p><ul><li>Une session développeur.</li><li>Une session designer.</li></ul><p>Elle se clôtura par un cocktail à 19h30.<br
/> Pour plus d&#8217;informations ou pour vous inscrire ça se passe <a
href="http://events.adobe.co.uk/cgi-bin/event.cgi?country=fr&#038;eventid=8236" title="ici" >ici</a>.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2009/06/02/revue-de-presse-xebia-111/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>SpringOne 2009 &#8211; Synthèse</title><link>http://blog.xebia.fr/2009/05/03/springone-2009-synthese/</link> <comments>http://blog.xebia.fr/2009/05/03/springone-2009-synthese/#comments</comments> <pubDate>Sun, 03 May 2009 16:00:05 +0000</pubDate> <dc:creator>Erwan Alliaume</dc:creator> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[dmServer]]></category> <category><![CDATA[Java EE]]></category> <category><![CDATA[Spring 3.0]]></category> <category><![CDATA[Spring ROO]]></category> <category><![CDATA[SpringOne]]></category> <category><![CDATA[SpringSource Tool Suite]]></category> <category><![CDATA[tcServer]]></category> <category><![CDATA[Terracotta]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1870</guid> <description><![CDATA[SpringOne Europe 2009 terminé, il est temps de faire le bilan de ces 3 jours à Amsterdam : une ligne directrice, quelques annonces, de belles présentations menées par des spécialistes de renom, et surtout, beaucoup de belles rencontres et discussions off intéressantes (dont certaines ne sont pas avouables sur ce blog ) Rod Johnson a [...]]]></description> <content:encoded><![CDATA[<p>SpringOne Europe 2009 terminé, il est temps de faire le bilan de ces 3 jours à Amsterdam : une ligne directrice, quelques annonces, de belles présentations menées par des spécialistes de renom, et surtout, beaucoup de belles rencontres et discussions off intéressantes (dont certaines ne sont pas avouables sur ce blog <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p><p>Rod Johnson a placé SpringSource sous le signe des <strong>gains de productivité pour l&#8217;écosystème Java</strong>. Gains de productivité aussi bien sur la phase de build que dans celle du déploiement et de l&#8217;exploitation d&#8217;applications Java, un domaine dans lequel SpringSource est moins connu.</p><p>Pour la phase de build, SpringSource introduit une rupture dans le développement d&#8217;applications Java en proposant le duo <strong>Groovy&#038;Grails</strong> qui concilie la puissance de la plateforme Java avec la productivité des très en vogue langages dynamiques. Si cette rupture est trop forte pour vous, Springsource propose un axe intermédiaire mais déjà très innovant avec <strong>Spring Roo</strong>, un façonnage du langage générique Java pour les spécificités de l&#8217;informatique de gestion.</p><p>Pour la phase de déploiement et d&#8217;exploitation, Adrian Coyler a <a
href="http://europe.springone.com/europe-2009/file?path=/springone-amsterdam-2009/slides/AdrianColyer_KeynoteTuesday.pdf" title="présenté une vision" >présenté une vision</a> inspirée des architectures <strong>Platform as a Service</strong> (e.g. <a
href="http://code.google.com/appengine/" title="Google App Engine" >Google App Engine</a>) et <strong>Data Center as a Service</strong> (e.g. <a
href="http://aws.amazon.com/ec2/" title="Amazon EC2" >Amazon EC2</a>, <a
href="http://www.cloudfoundry.com/" title="Cloud Foundry" >Cloud Foundry</a>) pour aboutir à une proposition de <strong>Your Data Center as a Service</strong>. Cette vision est séduisante, <a
href="http://www.springsource.com/products/dmserver" title="dm Server" >dm Server</a>, <a
href="http://www.springsource.com/products/ams" title="Application Management Suite" >Application Management Suite</a> et un <a
href="http://www.springsource.com/node/914" title="partenariat avec VMWare" >partenariat avec VMWare</a> en seront les piliers mais rien de concret n&#8217;est encore disponible.</p><p>Côté annonces, peu de nouvelles fracassantes pour cette édition. Pas de grands communiqués depuis notre <a
href="http://blog.xebia.fr/2009/04/27/revue-de-presse-xebia-106/" title="revue de presse de lundi dernier" >revue de presse de lundi dernier</a>, en résumé :</p><ul><li>Sortie de <a
href="http://www.springsource.com/products/tcserver" title="tcServer 10 en GA" >tcServer 1.0 en GA</a>, probablement le meilleur moyen pour SpringSource de faire rentrer de l&#8217;argent.</li><li>Un nouveau produit : <a
href="http://www.springsource.org/roo" title="Spring ROO" >Spring ROO</a>, il s&#8217;agit d&#8217;un générateur de code Java offrant la possibilité d&#8217;effectuer des opérations CRUD facilement mais pas seulement&#8230;</li><li>Diffusion gratuite de <a
href="http://www.springsource.com/products/sts" title="Spring Tool Suite" >Spring Tool Suite</a>, ensemble de plugins Eclipse dédiés aux technologies Spring.</li></ul><p>Le catalogue de produits et services s&#8217;agrandit, et la communauté avec. La parade de SpringSource afin de séduire un éventuel racheteur continue de se mettre en place.</p><p>Nous vous avions soumis une <a
href="http://blog.xebia.fr/2009/04/22/springone-2009/" title="liste de questions" >liste de questions</a>, c&#8217;est maintenant l&#8217;heure de relever les copies <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> voici quelques débuts de réponses aux interrogations que nous nous posions :</p><h3>Tomcat, tcServer et dmServer</h3><p>SpringSource a beaucoup investi sur les technologies serveur autour de Tomcat depuis le <a
href="http://blog.xebia.fr/2008/02/04/revue-de-presse-xebia-42/#SpringSourcerCovalent" title="rachat de Covalent" >rachat de Covalent</a> l&#8217;année dernière. Tomcat 6 reste un projet Apache et n&#8217;est pas sous le contrôle direct de SpringSource. Cela dit, <a
href="http://www.springsource.com/people/mthomas" title="Mark Thomas" >Mark Thomas</a> devenant <a
href="http://wiki.apache.org/tomcat/TomcatVersions" title="probablement Release Manager de Tomcat 7" >probablement Release Manager de Tomcat 7</a>, SpringSource devrait avoir la possibilité de pousser d’avantage ses idées, même si le mécanisme de vote par les committers du projet Tomcat permet à n&#8217;importe lequel d&#8217;entre eux de bloquer une initiative de SpringSource. Par exemple, nous verrons si le <a
href=" http://www.nabble.com/-ANNOUNCE--Beta-candidate-for-Tomcat-connection-pool-td20473265.html" title="nouveau pool de connexions JDBC" >nouveau pool de connexions JDBC</a> développé par <a
href="http://www.springsource.com/people/fhanik" title="Filip Hanik" >Filip Hanik</a> deviendra le pool par défaut de Tomcat 7.</p><p>La plus belle carte à jouer reste probablement celle de tcServer. Avec ce nouveau serveur d&#8217;applications, SpringSource espère charmer aussi bien les utilisateurs de gros serveurs d&#8217;applications onéreux et compliqués n&#8217;utilisant que peu de fonctionnalités de leur bulldozer, que les utilisateurs de Tomcat en manque d&#8217;outils d&#8217;administration et de supervision.</p><p>A plus long terme, ce serveur doit également jouer le rôle de <em>chant des sirènes</em> en proposant aux utilisateurs de tcServer une migration simple vers dmServer. C&#8217;est là que la stratégie de SpringSource n&#8217;est pas complètement claire. Nous avons eu deux sons de cloches à la question : <em>que deviendra  tcServer lorsque dmServer disposera de la compatibilité Tomcat (comme cela est prévu dans la roadmap) ?</em> Là où le directeur Marketing de SpringSource Europe nous affirme que, peu à peu, dmServer sera amené à remplacer complètement tcServer et que ce dernier devra disparaître probablement à moyen terme; Mark Thomas nous répond qu&#8217;au contraire les deux serveurs continueront leur existence avec des roadmaps bien différentes. Dans les faits, tcServer a été créé pour combler des fonctionnalités en avance de phase par rapport à la roadmap de dmServer. Peut-être cet appel d&#8217;air a-t-il donné plus d&#8217;idées aux développeurs de tcServer ?</p><p>Quant à dmServer, il n&#8217;est pas encore tout à fait sec. Non seulement la communauté n&#8217;est pas forcement prête à passer à un serveur d&#8217;applications full modulaires, mais aussi, de l&#8217;aveu même de Jurgen Holler, il manque un certain nombre de fonctionnalités core. C&#8217;est d&#8217;ailleurs l&#8217;une des raisons qu&#8217;il donne pour expliquer le descopage de la certification Java EE 6 Web Profile, qui n&#8217;apparait plus dans leur roadmap. Ils ne sont pas complètement opposés à la passer (et encore) mais ce ne sera pas pour demain. On aurait pourtant pensé qu&#8217;il s&#8217;agirait d&#8217;un moyen supplémentaire de rassurer les équipes d&#8217;exploitation et faciliter l&#8217;accès à leurs produits.</p><p>Et enfin, pour clôturer ce sujet, à titre informatif, dmServer est développé par une équipe anglaise constituée de 5 à 8 personnes. Cette petite taille d&#8217;équipe est voulue car propice aux méthodes agiles et à un fonctionnement itératif à cycle court.</p><h3>Spring 3.0 et Java EE</h3><p>Si la certification dmServer avec Java EE n&#8217;est plus d&#8217;actualité, cela ne veut pas forcement dire que SpringSource se ferme complètement à Java EE. La présentation de Jurgen Holler à ce sujet était d&#8217;ailleurs probablement l&#8217;une des plus intéressantes de ces 3 jours. Là où Rod Johnson, durant son Keynote, se contentait de casser Java EE sans trop apporter d&#8217;arguments, Jurgen a effectué un tour détaché et pragmatique des futures fonctionnalités de Java EE 6.</p><p>Java EE est source d&#8217;inspiration de Spring. De nombreux composants Java EE 5 et 6 se retrouvent ou se retrouveront directement dans Spring. L&#8217;inverse est également vrai, pour Jurgen, les EJB 3.1 sont par exemple très largement inspirés de la stack Spring. Au-delà de la petite guerre des chapelles, prendre les bonnes idées où elles se trouvent est une bonne chose. Il me semble que cette <em>inspiration mutuelle</em> fait avancer tout le monde dans la bonne direction et que cette petite concurrence est propice à l&#8217;innovation. Ces deux stacks proposent des approches différentes : là où Java EE reste <em>bas niveau</em> en offrant une plateforme de déploiement et des providers de services système, Spring s&#8217;attache à rester le plus proche possible de vos applications.</p><p>C&#8217;est donc un fait, Spring 3.x disposera de fonctionnalité Java EE 6, en voici un petit tour d&#8217;horizon :</p><ul><li>Servlet 3.0 est prévu pour être intégré à Spring 3.2. Le support  d&#8217;endpoints HTTP asynchrones <em>comet</em> sera rendu compatible avec Spring MVC par l&#8217;intermédiaire d&#8217;une requête et réponse spéciale (pas plus d&#8217;information à ce sujet). La détection automatique des servlets destinée à réduire la taille du fichier <em>web.xml</em> permettra l&#8217;auto déploiement du Spring Web Context, cette fonctionnalité n&#8217;apportera évidemment que peu de choses dans une stack Spring.</li><li><a
href="http://jcp.org/en/jsr/detail?id=236" title="JSR236  Concurrency utility for Java EE" >JSR-236 &#8211; Concurrency utility for Java EE</a>, Spring 3.0 contiendra probablement un nouvel adaptateur de <em>scheduling</em> si cette JSR, passé en statut inactif n&#8217;est pas descopé de Java EE 6.</li><li>Évolutions naturelles des supports JSF et JPA, leurs versions 2.0 respectives seront donc également intégrées à Spring 3.0. Il en est de même pour la <a
href="http://jcp.org/en/jsr/detail?id=303" title="JSR303 bean validation" >JSR-303 bean validation</a>.</li><li>Le support REST est l&#8217;une des grandes nouveautés de Spring 3.0. Dans ce sens, les endpoints JAX-RS pourront être managés comme de simples beans Spring.</li><li>La <a
href="http://jcp.org/en/jsr/detail?id=299" title="JSR299  Java Contexts and Dependency Injection" >JSR-299 &#8211; Java Contexts and Dependency Injection</a> (JCDI), anciennement appelée WebBeans, est probablement la JSR la plus problématique. D&#8217;après Jurgen, chaque question posée sur cette JSR remet en cause les bases même de cette spécification dont le scope d&#8217;utilisation reste relativement flou.</li></ul><h3>Spring ROO, le petit dernier</h3><p>Bien que nous connaissions l&#8217;existence de ce projet, la conférence nous a permis d&#8217;en savoir plus à son sujet et surtout de le voir fonctionner en live. Ce générateur de code est le fruit du travail d&#8217;un homme sur plusieurs années. C&#8217;est Ben Alex, le papa de Spring Security qui s&#8217;y est collé. Il a été rejoint plus récemment par une seconde personne à mi-temps.</p><p>ROO permet la génération et la configuration d&#8217;applications Java sans avoir à taper la moindre ligne de code. De la persistance à la couche présentation, tout est généré à la demande par l&#8217;intermédiaire de lignes de commandes à exécuter dans une console spécifique. La console est disponible sous plusieurs formes : directement intégrée au shell ou par l&#8217;intermédiaire d&#8217;un plugin Eclipse SpringSource Tool Suite. ROO est téléchargeable dans sa <a
href=" http://www.springsource.org/roo" title="version alpha" >version alpha</a> depuis mercredi soir. Pour l&#8217;avoir testé un peu, en voici nos premiers retours. Un billet complémentaire dédié à ce sujet viendra probablement compléter celui-ci.</p><pre class="brush: java; title: ; notranslate">
// initialisation d'un projet à partir d'un répertoire vierge
roo&gt; create project -topLevelPackage fr.xebia.roosample.blog
// configuration du niveau de log
roo&gt; configure logging -level DEBUG
// ajout du support JPA
roo&gt; install jpa -database H2_IN_MEMORY -provider HIBERNATE
// création d'une entité JPA et de ses champs
roo&gt; new persistent class jpa -name ~.model.Article
roo&gt; add field string -fieldName title -notNull -sizeMax 100
roo&gt; add field string -fieldName content
// génération de finders
roo&gt; list finders for -class ~.model.Article
roo&gt; install finder -class ~.model.Article -finderName findArticlesByTitleLike
// generation du controller associé
roo&gt; new controller automatic -name ~.web.ArticleController -formBackingObject ~.model.Article
</pre><p>Si les lignes de commandes vous paraissent longues et compliquées, il n&#8217;en est rien. J&#8217;avoue avoir été séduit par la facilité avec laquelle vous écrivez vos commandes : la console vous guide à chaque étape en vous fournissant une aide à chaque instant et surtout une complétion très pratique d&#8217;utilisation.  Autre facilité non négligeable, la saisie contextuelle. Les commandes que vous tapez s’exécutent toujours en fonction du dernier concept manipulé. Cela vous permet d’omettre de saisir certaines options, la console se charge que les retrouver en fonction du contexte. Une console dans un monde d’IDE et de wizzards ? Quelle drôle d’idée ! Et pourtant, le résultat plutôt efficace, le gain en productivité est notable.</p><p>Une fois que le projet est créé, vous pouvez à tout moment générer le squelette Eclipse via Maven pour consulter et étoffer vos sources. Et là encore, vous risquez d’être surpris ! ROO remet en cause le modèle en couche qui faisait autrefois l&#8217;unanimité dans le monde Java. En plus de l&#8217;utilisation des objets du domaine dans la vue, ROO supprime la couche DAO au profit du modèle <a
href="http://martinfowler.com/eaaCatalog/activeRecord.html" title="Active Record" >Active Record</a> avec l&#8217;ajout de méthodes d&#8217;instance merge / remove et statiques &#8230; cela risque de ne pas plaire à tout le monde. De plus, le code source est façonné aux besoins de l&#8217;informatique de gestion. Pour le développeur, le code est généré de manière transparente (getter, setter, toString merge, remove, finder, &#8230;) grâce au compilateur AOP d&#8217;AspectJ : la majorité de celui-ci est déléguée dans des aspects, les beans sont annotés par des Annotations spécifiques Roo : <code>@RooEntity</code>, <code>@RooJavaBean</code>, <code>@RooToString</code> pour les activer.</p><p>Pour plus d’information sur le sujet, Ben Alex vient de <a
href="http://blog.springsource.com/2009/05/01/roo-part-1/" title="blogger sur ROO" >blogger sur ROO</a>.</p><h3>Groovy</h3><p>Six mois après le rachat de G2One, Spring ne semble pas tirer pleinement profit des possibilités Groovy et Grails. Guillaume Laforge passe plus de temps sur les évolutions de Groovy et sa prochaine version 1.7 que sur des intégrations avec la stack Spring. Il m&#8217;a tout de même dit avoir effectué quelques prototypes : intégration Groovy avec Spring Batch, configuration tcServer et dmServer avec Groovy, mais aucun d&#8217;entre eux n&#8217;a pour le moment débouché sur un développement concret.</p><p>Concernant Grails, G2One a été racheté après le démarrage de Spring ROO, aucune coordination n&#8217;a donc été possible entre ses deux projets.</p><h3>Les partenariats</h3><p>De manière générale, nous avons été déçus des fruits récoltés des différents partenariats (représentés à la conférence).<br
/> Seul Spring Batch, porté par Accenture, propose un outil finalisé et abouti.</p><p>Concernant le partenariat Terracotta, rien de concret pour le moment. Là où nous espérions une collaboration forte avec Spring, il nous a semblé que la roadmap était plutôt vide. Par ailleurs, en discutant avec eux, on avait plus l&#8217;impression de leur donner des idées que de récolter des informations.</p><p>Le partenariat avec Adobe est légèrement plus abouti avec un début d&#8217;intégration entre <a
href="http://www.springsource.org/spring-flex" title="Spring et Blase DS" >Spring et Blase DS</a>. Après en avoir descendu les sources, le contenu du projet ne nous a pas fait rêver. Nous n&#8217;avons pas pu récolter d&#8217;autres informations sur d&#8217;éventuels autres futurs projets en commun.</p><h3>Le mot de la fin</h3><p>La communication sur leur <a
href="http://www.springsource.com/" title="site officiel en tmoigne" >site officiel en témoigne</a>, SpringSource ne se focalise plus seulement sur la phase de développement. Leur catalogue d’offres et de services leur permet de toucher un plus large public, autour d’un maître mot : ‘gain en productivité’.</p><ul><li>depuis la phase de développement : avec Spring ROO, Groovy&#8230;</li><li>jusqu’à l’exploitation : avec AMS, tcServer&#8230;</li><li>en passant par le déploiement : virtualisation, platform as a service&#8230;</li></ul><table
width="75%" align="center"><tr><td> <a
href="http://blog.xebia.fr/wp-content/uploads/2009/05/p1030398.jpg"><img
src="http://blog.xebia.fr/wp-content/uploads/2009/05/p1030398-150x150.jpg" alt="SpringOne2009" title="SpringOne2009" width="150" height="150" class="alignnone size-thumbnail wp-image-1873"  style="display:inline" /></a></td><td> <a
href="http://blog.xebia.fr/wp-content/uploads/2009/05/p1030396.jpg"><img
src="http://blog.xebia.fr/wp-content/uploads/2009/05/p1030396-150x150.jpg" alt="rod-cyrille" title="rod-cyrille" width="150" height="150" class="alignnone size-thumbnail wp-image-1872" /></a></td><td> <a
href="http://blog.xebia.fr/wp-content/uploads/2009/05/p1030408.jpg"><img
src="http://blog.xebia.fr/wp-content/uploads/2009/05/p1030408-150x150.jpg" alt="FrenchTeam" title="FrenchTeam" width="150" height="150" class="alignnone size-thumbnail wp-image-1874"  /></a></td></tr></table><div
align="center"> <a
href="http://twitter.com/ealliaume"><br
/> <img
src="http://blog.xebia.fr/wp-content/uploads/2009/04/twitter4.png" alt="twitter erwan alliaume" title="twitter erwan alliaume"  /><br
/> </a></div> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2009/05/03/springone-2009-synthese/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/</link> <comments>http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#comments</comments> <pubDate>Mon, 26 Jan 2009 17:50:13 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[Ivy]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JavaFX]]></category> <category><![CDATA[JSR-299]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[SCRUM]]></category> <category><![CDATA[Spring]]></category> <category><![CDATA[Spring 3.0]]></category> <category><![CDATA[VisualVM]]></category> <category><![CDATA[Web Beans]]></category> <category><![CDATA[Web UI]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1395</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Agilité Programmation en binôme vs Revue de Code Sensibilisation Scrum pour les Gamers Transmettez la vision produit à votre équipe. RIA 11 belles librairies Web UI De nouveaux frameworks pour renforcer JavaFx Adobe continue l&#8217;ouverture de ses technologies RIA Session de formation gratuite pour [...]]]></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>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#ProgrammationenbinmevsRevuedeC">Programmation en binôme vs Revue de Code</a></li><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#SensibilisationScrumpourlesGam">Sensibilisation Scrum pour les Gamers</a></li><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#Transmettezlavisionproduitvotr">Transmettez la vision produit à votre équipe.</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#belleslibrairiesWebUI">11 belles librairies Web UI</a></li><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#Denouveauxframeworkspourrenfor">De nouveaux frameworks pour renforcer JavaFx </a></li><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#Adobecontinuelouverturedeseste">Adobe continue l&#8217;ouverture de ses technologies RIA</a></li><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#Sessiondeformationgratuitepour">Session de formation gratuite pour JavaFx</a></li><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#RIAenchiffre">RIA en chiffres</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#InterviewdeRodJohnsonSpringetl">Interview de Rod Johnson, Spring 3.0 et le reste</a></li><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#JavaEEpublicreviewUnFatWebProf">Java EE 6 public review : Un <em>Fat Web Profile</em> et Web Beans en suspend</a></li><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#JSRexWebBeansUneJSRDependencyI">JSR-299 (ex Web Beans) : Une JSR &laquo;&nbsp;Dependency Injection&nbsp;&raquo; sans SpringSource</a></li><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#SortiedApacheIvy">Sortie d&#8217;Apache Ivy 2.0</a></li><li><a
href="http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/#SortiedeVisualVM">Sortie de VisualVM 1.1</a></li></ul><h3><a
name="Agilit"></a>Agilité</h3><h4><a
name="ProgrammationenbinmevsRevuedeC"></a>Programmation en binôme vs Revue de Code</h4><p>Chris Sims rebondit sur l&#8217;article de Theodore Nguyen-Cao, <a
title="Pair Programming &gt; Code Reviews" href="http://www.theodorenguyen-cao.com/2008/10/29/pair-programming-greater-than-code-reviews/">Pair Programming &gt; Code Reviews</a>, pour relancer le débat <a
title="Pair Programming vs Code Review" href="http://www.infoq.com/news/2009/01/Pair-Programming-Code-Review">Pair Programming vs Code Review</a> :</p><p>Étant donné que la revue de code se fait sur un code plus avancé qu&#8217;en programmation par binôme, la détection / correction de bugs est plus complexe au stade revue. Cependant, la mobilisation deux personnes sur la même tâche représente un coût qu&#8217;il ne faut pas non plus négliger.</p><p>La <a
title="programmation en binôme" href="http://fr.wikipedia.org/wiki/Programmation_en_bin%C3%B4me">programmation en binôme (ou <em>Pair Programming</em>)</a> a une grosse valeur ajoutée dans l&#8217;intégration de code. Voici le fonctionnement :</p><ul><li>Le pilote du binôme veut intégrer une API</li><li>Le copilote du binôme a développé l&#8217;API</li><li>Le copilote décrit comment fonctionne l&#8217;API</li><li>Le pilote essaye d&#8217;intégrer l&#8217;API dans son environnement</li><li>Le pilote émet des souhaits pour l&#8217;API</li><li>Le copilote essaye d&#8217;intégrer ces souhaits (en tenant compte des autres utilisateurs de l&#8217;API)</li><li>Le copilote indique au pilote la prochaine version de l&#8217;API</li></ul><p>Les deux parties sont gagnantes :</p><ul><li>Le pilote intègre en douceur et en toute tranquillité</li><li>L&#8217;API est améliorée, on a une API plus &laquo;&nbsp;utilisable&nbsp;&raquo;</li><li>Les deux parties comprennent les besoins et contraintes de chacun</li></ul><p>La <a
title="revue de code" href="http://en.wikipedia.org/wiki/Code_review">revue de code</a> permet à un tiers de jeter un regard neuf sur un code développé. <a
title="Kent Beck" href="http://fr.wikipedia.org/wiki/Kent_Beck">Kent Beck</a>, dans son livre <a
title="Implementation Pattern" href="http://www.pearsoned.co.uk/Bookshop/detail.asp?item=100000000130859">Implementation Pattern</a>, affirme que le code réalisé par un développeur doit expliciter ses intentions. La revue de code peut être une activité judicieuse pour vérifier cette règle.</p><p>Ainsi la revue de code permet d&#8217;améliorer la maintenabilité du code :</p><ul><li>Amélioration de l&#8217;organisation des classes (nom des classes et packages)</li><li>Partage des expériences de conception ou de patterns</li><li>Partage des connaissances</li><li>Support d&#8217;un développeur novice par un développeur plus expérimenté</li></ul><p>La revue de code peut être courte (30 minutes) et assez récurrente (une à deux fois par semaine).</p><h4><a
name="SensibilisationScrumpourlesGam"></a>Sensibilisation Scrum pour les Gamers</h4><p>Une fois n&#8217;est pas coutume, voici un lien qui nous est proposé par un collègue de mission. Il s&#8217;agit d&#8217;une mini formation Scrum qui s&#8217;est glissée &#8230; dans une vidéo montrant les <a
title="coulisses du jeu DC Universe Online" href="http://www.gametrailers.com/player/44581.html">coulisses du jeu DC Universe Online</a>. Cela se passe aux alentours de la <em>2e minute</em> de la vidéo. Au programme, rapide description du fonctionnement des sprints et du Scrum board, développement en cycles courts et démonstrations possibles à chaque itération.<br
/> Clinton Keith avait déjà partagé son expérience de Scrum dans les jeux vidéos <a
title="il y a un peu plus dun an" href="http://www.gamasutra.com/view/feature/3142/scrum_and_long_term_project_.php">il y a un peu plus d&#8217;un an</a>.<br
/> Un Gamer averti en vaut deux! <em>Merci donc à Olivier pour ce lien peu commun</em>.</p><h4><a
name="Transmettezlavisionproduitvotr"></a>Transmettez la vision produit à votre équipe.</h4><p>Vous êtes vous déjà demandé si votre équipe de réalisation est guidée par une vision produit, insufflée par le Product Owner ? Selon Roman Pichler (<a
title="voir larticle" href="http://www.scrumalliance.org/articles/115-the-product-vision">voir l&#8217;article</a>), il est important que chaque membre de l&#8217;équipe soit inspiré, motivé et concerné par le travail en cours de réalisation. Il nous fournit cinq questions fondamentales auxquelles tout membre de l&#8217;équipe devrait être capable de répondre :</p><ul><li>Qui va acheter le produit et quels seront les clients ?</li><li>Quels besoins le produit va-t-il adresser ?</li><li>Quels attributs du produit sont critiques pour la satisfaction du client et le succès de produit ?</li><li>Quelle comparaison faites-vous avec des produits similaires?</li><li>Quels sont les délais et le budget impartis pour réaliser et lancer le produit ?</li></ul><p>Même si l&#8217;idée ici n&#8217;est pas de transformer chaque membre de votre équipe en Directeur du Marketing, il est important que vous mesuriez la connaissance de l&#8217;équipe dans ces domaines. C&#8217;est l&#8217;un des principes agiles: avoir confiance en son équipe (et donc ne pas l&#8217;infantiliser en croyant qu&#8217;elle ne peut pas ou ne doit pas comprendre ces aspects).</p><h3><a
name="RIA"></a>RIA</h3><h4><a
name="belleslibrairiesWebUI"></a>11 belles librairies Web UI</h4><p>Quand on parle d&#8217;APIs JavaScript Web 2.0 (frameworks/graphiques), on pense tout de suite à <a
title="jQuery" href="http://jquery.com/">jQuery</a>, <a
title="Prototype" href="http://www.prototypejs.org/">Prototype</a>, <a
title="ExtJS" href="http://extjs.com/">ExtJS</a>, <a
title="Script.aculo.us" href="http://script.aculo.us/">Script.aculo.us</a>, <a
title="Dojo" href="http://dojotoolkit.org/">Dojo</a> ou bien encore <a
title="Rialto" href="http://rialto.improve-technologies.com/wiki/">Rialto</a>.</p><p>Mais il ne faut pas limiter la liste à celles-ci ! Il y a une multitude d&#8217;autres librairies, qui sont pour certaines bien plus belles/rapides/robustes qui celles citées ci-dessus. Et on pourra en découvrir (ou redécouvrir) de nouvelles du côté de chez <a
title="Antonio Lupetti" href="http://woork.blogspot.com/">Antonio Lupetti</a> qui nous référence <a
title="10 Beautiful Web UI librairies" href="http://woork.blogspot.com/2009/01/10-beautiful-web-ui-libraries.html">10 Beautiful Web UI librairies</a>. Parmi celles citées, on retiendra particulièrement :</p><ul><li><a
title="IT Mill Toolkit" href=" http://www.itmill.com/itmill-toolkit/">IT Mill Toolkit</a> (<a
title="dmo" href=" http://toolkit.itmill.com/demo/FeatureBrowser/">démo</a>) intégrant des composants entièrement Java avec GWT,</li><li><a
title="LivePipe UI (démo)" href="http://livepipe.net/">LivePipe UI (démo)</a>, un framework graphique s&#8217;appuyant sur prototype,</li><li><a
title="Jitsu" href="http://www.jitsu.org/jitsu/">Jitsu</a> (<a
title="dmo" href="http://www.jitsu.org/jitsu/quicktours/controls_backbutton.html">démo</a>) avec définition des écrans par XML (qui sera ensuite compilé) et de nombreux outils intégrés dont la gestion du bouton retour et le data binding,</li><li><a
title="MochaUI" href="http://mochaui.com/">MochaUI</a> (<a
title="démo" href="http://mochaui.com/demo/">démo</a>) qui s&#8217;appuie sur le framework <a
title="MooTools" href="http://mootools.net/">MooTools</a>,</li><li><a
title="Echo" href="http://echo.nextapp.com/site/">Echo</a> (<a
title="démo" href="http://demo.nextapp.com/echo3csjs/">démo</a>) qui a été testé lors de notre <a
title="RIA Contest" href="http://blog.xebia.fr/2008/10/03/ria-contest-flex-silverlight-gwt-echo3-javafx/#Echo">RIA Contest</a>,</li><li><a
title="Yahoo! UI" href="http://developer.yahoo.com/yui/">Yahoo! UI</a> (<a
title="démo = Yahoo! Mail ;-)" href="http://fr.mail.yahoo.com/">démo =&gt; Yahoo! Mail <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </a>) qui a servi de base à ExtJS (qui n&#8217;était à l&#8217;origine qu&#8217;un add-on pour YUI).</li></ul><p>On notera aussi dans la liste certaines librairies moins connues comme :</p><ul><li><a
title="iWebKit" href="http://www.iwebkit.net/">iWebKit</a>,</li><li><a
title="Sigma Ajax UI Builder" href="http://sourceforge.net/projects/ajaxuibuilder/">Sigma Ajax UI Builder</a>,</li><li><a
title="WUI" href="http://wui.sourceforge.net/wui-overview.php">WUI</a>,</li><li><a
title="Butterfly Web UI" href="http://butterfly.jenkov.com/webui/index.html">Butterfly Web UI</a>.</li></ul><p>Mais l&#8217;article en donne <em>10</em> et c&#8217;est écrit <em>11</em> dans le titre ?!? En effet, à cette liste je rajouterai comme 11ème librairie <a
title="DHTMLX" href="http://www.dhtmlx.com/">DHTMLX</a>, une API peu connue mais qui mérite de l&#8217;être. En plus d&#8217;être visuellement très abouti, chaque composant (téléchargeable à l&#8217;unité ou dans une suite) possède un grand nombre de fonctionnalités par rapport aux autres librairies du marché. Force est de constater qu&#8217;afficher un <a
title="tableau" href=" http://www.dhtmlx.com/docs/products/dhtmlxGrid/index.shtml">tableau</a> qui peut contenir plus de <a
title="10000 enregistrements" href=" http://www.dhtmlx.com/docs/products/dhtmlxGrid/samples/loading_big_datasets/50000.html">10000 enregistrements</a>, avec des colonnes cachées/bloquées au runtime, le tout se voyant appliqué 3 filtres par défaut est très simple à mettre en place et surtout ne fait même pas sourciller l&#8217;API (affichage très rapide pour les navigateurs les plus récents et raisonnable pour d&#8217;anciennes versions) !</p><p>Plusieurs <a
title="démos" href="http://www.dhtmlx.com/docs/products/demoApps/index.shtml">démos</a> sont accessibles, on notera la bonne performance du <a
title="RSS reader" href="http://www.dhtmlx.com/docs/products/demoApps/dhtmlxRSSReader/index.html">RSS reader</a>, de <a
title="l'administration BDD" href="http://www.dhtmlx.com/docs/products/demoApps/dhtmlxDBAdmin/index.html">l&#8217;administration BDD</a> ou bien encore de <a
title="lditeur XML" href="http://www.dhtmlx.com/docs/products/demoApps/dhtmlxXMLEditor/index.html">l&#8217;éditeur XML</a>. Je vous la recommande fortement !</p><h4><a
name="Denouveauxframeworkspourrenfor"></a>De nouveaux frameworks pour renforcer JavaFx</h4><p>La communauté Java commence à se mobiliser autour de JavaFx.<br
/> Outre la sortie prochaine du premier livre consacré au sujet (Pro JavaFX™ Platform: Script, Desktop and Mobile RIA with Java™ Technology), cette semaine a vue la sortie de deux projets OpenSource autour du RIA de Sun : JFXtras (0.2) et WidgetFx (1.0.1)</p><p>Ces deux projets sont menés par Stephen Chin, qu&#8217;InfoQ a interviewé.</p><p>On notera tout d&#8217;abord qu&#8217;on a affaire à 2 projets communautaires, indépendants de Sun, et qui viennent compléter quelques vides du coté de JavaFx. Cependant, Stephen Chin insiste sur le fait que, bien que très occupées (probablement par la prochaine sortie de JavaFx Mobile), les équipes Sun avec lesquelles il est en contacte supporte et aide régulièrement cette initiative.</p><p>Entrons dans le détail de ces frameworks.<br
/> JFXtras apporte un ensemble d&#8217;ajouts à l&#8217;API Fx</p><ul><li>JFXtras Grid &#8211; un layout de type grille 100 % Java</li><li>JFXStage / JFXDialog &#8211; Des classes pour remplacer celles de Fx, offrant un plus grand spectre fonctionnel.</li><li>JFXtras Test &#8211; Un framework de tests unitaires</li><li>JFXWorker &#8211; Une solution de traitement asynchrone</li></ul><p>WidgetFx offre des outils de création aussi qu&#8217;un contenur de widgets performant et portable sur plusieurs plateformes (Windows XP/Vista, Linux et Mac OS X)</p><ul><li>Support de personnalisation graphique des widgets et du Dock.</li><li>Support des composants Flash/Flex.</li><li>Amélioration des performances du moteur des widgets.</li><li>Un nouveau thème pour le Dock.</li></ul><p>Stephen Chin revient aussi sur un grand nombre de sujets :</p><ul><li>les éléments moteurs différenciants de Fx, à savoir l&#8217;intégration Java et Fx Mobile</li><li>le futur de Fx, fortement lié aux développements des plugins pour les différents IDE</li><li>les facteurs clés pour réussir un projet Fx, à savoir la communication accrue avec les équipes de design, l&#8217;obtention de retours rapides de la part des utilisateurs (tiens tiens&#8230;) et la réutilisation maximale des composants open source.</li><li>ses souhaits pour les futures version de Fx : support de l&#8217;asynchronicité, inclusion de Fx dans Java, intégration au Web 2.0</li></ul><p>Pour voir widgetFx en action, suivez le lien</p><div><a
title="widgetfxlaunchiconpng" href="http://widgetfx.org/dock/launch.jnlp"><br
/> <img
src="http://blog.xebia.fr/wp-content/uploads/2009/01/widgetfx-site-mockup_02.jpg" alt="" width="100" height="291" /><br
/> </a></div><h4><a
name="Adobecontinuelouverturedeseste"></a>Adobe continue l&#8217;ouverture de ses technologies RIA</h4><p>Dionysios G.Synodinos nous apprend dans <a
title="Adobe to publish the Real-Time Messaging Protocol (RTMP)" href="http://www.infoq.com/news/2009/01/rtmp-to-open">Adobe to publish the Real-Time Messaging Protocol (RTMP)</a> que Adobe a choisit de mettre à disposition son protocole de communication temps réel destiné à la transmission de données, de flux audio et vidéo sur de multiples supports (télévisions, ordinateurs, téléphones&#8230;).<br
/> Adobe riposte ainsi aux récentes ouvertures de technologies faites par Sun  JavaFx et Microsoft Silverlight. Par ailleurs, Adobe annonce de futures ouvertures comme notamment:</p><ul><li>la suppression des restrictions sur les formats SWF, FLV/F4V (FLV est le format vidéo de Flash). Depuis la version 9 de flash player, celui-ci prend en compte le mp4 et a mis au point le format F4V afin de supporter ce dernier.</li><li>la mise à disposition des protocoles <a
title="Adobe Flash Cast" href="http://www.adobe.com/mobile/solutions/flashcast/">Adobe Flash Cast</a> et AMF. Le protocole Flash Cast, basé sur <a
title="Adobe Mobile Platform" href="http://www.adobe.com/mobile/platform/index2.html">Adobe Mobile Platform</a> permet d&#8217;utiliser des services multimédia en mode offline sur des appareils mobiles (téléphone portable, PDA&#8230;). En ce qui concerne AMF (Action Message Format), c&#8217;est le protocole binaire de transfert des données entre le serveur et le client.</li></ul><p>Avec ces annonces, Adobe réaffirme sa volonté de rester leader dans le domaine des RIA. Reste à savoir si cela suffira pour contrer Silverlight et Java FX.</p><h4><a
name="Sessiondeformationgratuitepour"></a>Session de formation gratuite pour JavaFx</h4><p>Le site <a
title="JavaPassion" href="http://www.javapassion.com/">JavaPassion</a> propose un ensemble de formations en ligne concernant JavaFx. Tout au long des quinze (!) sessions programmées d&#8217;ici Mai, Jim Weaver et Sang Shin balayeront toutes les facettes du RIA de Sun.<br
/> Toutes les explications, et tous les agendas, sur la page de <a
title="JavaPassion" href="http://www.javapassion.com/javafx/">JavaPassion</a>.<br
/> A noter : cette page contient un grand nombre de liens vers des documents de référence. C&#8217;est donc une mine d&#8217;or pour qui s&#8217;intéresse un tant soit peu à cette technologie.</p><h4><a
name="RIAenchiffre"></a>RIA en chiffres</h4><p>Ted Patrick présente sur son <a
title="blog" href="http://onflash.org/ted/2009/01/compare-flash-player-vs-silverlight.php">blog</a> un site permettant de visualiser la proportion de plugins Flash Player et de Silverlight installés sur le navigateur des visiteurs pour les 90 derniers jours. On savait déjà que Flash Player était installé sur la quasi totalité du parc informatique mondial, mais l&#8217;étude nous donne le pourcentage d&#8217;installation de Silverlight (entre 15 et 20%). Les résultats peuvent être visualisés par navigateur, par système d&#8217;exploitation, et par langue : <a
title="httpwwwriastatscom" href="http://www.riastats.com">http://www.riastats.com</a>.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="InterviewdeRodJohnsonSpringetl"></a>Interview de Rod Johnson, Spring 3.0 et le reste</h4><p>Dans une interview publiée <a
title="cette semaine sur InfoQ" href="http://www.infoq.com/interviews/Spring-3.0-Rod-Johnson">cette semaine sur InfoQ</a> sous forme d&#8217;une vidéo de 30 minutes, Rod Johnson répond à quelques questions indiscrètes sur l&#8217;état d&#8217;avancement et les orientations des différents projets de la <em>Springosphère</em>.</p><p>Nous retiendrons :</p><ul><li>Le support des fonctionnalités REST est certainement l&#8217;une des nouveautés les plus <a
title="attendues pour le prochain Spring 3.0" href=" http://blog.xebia.fr/2008/10/08/spring-30-le-grand-nettoyage-du-printemps/">attendues pour le prochain Spring 3.0</a> dont le <a
title="premier milestone" href="http://blog.xebia.fr/2008/12/08/revue-de-presse-xebia-86/#QuoideneufdansSpringM">premier milestone</a> est disponible depuis fin 2008. Si cette fonctionnalité présente quelques similitudes avec Spring WS, elles n&#8217;adressent pas les mêmes problématiques et restent complémentaires. À l&#8217;origine le support de REST devait d&#8217;ailleurs être implémenté sur la base de Spring WS. Si au final Spring MVC a été jugé plus adapté, certaines fonctionnalités ont tout de même été extraites de Spring WS pour être utilisées (OXM).</li><li>Si comme nous, vous vous demandiez  quelles étaient les intentions de SpringSource après le rachat de G2One en novembre dernier, voici un embryon de réponse. Rod nous dévoile les premiers fruits de ce rachat avec <a
title="Spring Java Config" href="http://www.springsource.org/javaconfig">Spring Java Config</a>. Disponible en test depuis 6 mois environ en pré-version dans le jpetclinic (projet exemple Spring), nous nous interrogions sur la valeur ajoutée apportée par cette fonctionnalité. Pour mémoire, elle permet de configurer vos applications Spring par l&#8217;intermédiaire de code Java comme vous le feriez en XML (voici <a
title="un exemple de code" href="https://fisheye.springframework.org/browse/spring-javaconfig/trunk/samples/org.springframework.config.java.samples.petclinic/src/main/java/org/springframework/samples/petclinic/config/PetclinicApplicationConfig.java?r=HEAD">un exemple de code</a>). Cette possibilité prend tout son sens si on la croise avec les commodités offertes par Groovy. Vous pourrez probablement remplacer demain vos fichiers de configuration statique XML par des DSL dynamiques Spring-Groovy.</li><li>Spring 3.0 sera l&#8217;occasion de mettre en pratique la nouvelle politique de maintenance adoptée par Spring l&#8217;année dernière. Celle-ci incite fortement ses utilisateurs à coller aux dernières versions du framework. Les corrections de bugs n&#8217;étant plus repackagées sur les anciennes versions majeures du framework. Ainsi, à la sortie de Spring 3.0, si vous trouvez un bug dans l&#8217;un des modules de votre Spring 2.5.6, il vous faudra : soit monter de version, soit repackager vous-même votre propre version corrigée. Cela ne devrait pas poser trop de problèmes au vue de la maturité de la version 2.5. De plus, la rétrocompatibilité exemplaire entre Spring 3.0 et Spring 2.5 devrait vous permettre une montée de version en douceur. Rappelons tout de même que Spring pratique le pruning : la plupart des éléments dépréciés dans Spring 2.5 disparaîtront donc de la version 3.0.</li><li>Certains notent que Java EE se rapproche de Spring en offrant des fonctionnalités similaires, l&#8217;inverse est également vrai : Spring dmServer implémentera le profil Web de la spécification Java EE. Toutes les spécifications ne seront pas couvertes dans leur intégralité, c&#8217;est la nuance qui sépare un rapprochement d&#8217;une convergence.</li><li>C&#8217;est sans surprise que Rod nous parle de la distance que Spring prend avec SCA. SpringSource a fait le choix de partir sur une technologie <em>concurrente</em> plus porteuse : OSGi. De plus, SCA ne dispose pas d&#8217;un nombre d&#8217;utilisateurs assez important pour intéresser SpringSource pour le moment.</li><li>Cette interview nous a également permis de découvrir une fonctionnalité peu connue pourtant présente depuis Spring 2.0 : <a
title="lannotation Configurable" href="http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/beans/factory/annotation/Configurable.html">l&#8217;annotation @Configurable</a>.</li></ul><p>Pour conclure, si cette interview n&#8217;apporte véritablement aucune annonce fondamentale sur la stratégie de SpringSource, elle a le mérite de synthétiser les discussions en cours et de donner une idée plus précise de  la <a
title="roadmap de Spring" href="http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/#SpringSourcedvoilesaroadmap">roadmap de Spring</a> pour les mois à venir.</p><h4><a
name="JavaEEpublicreviewUnFatWebProf"></a>Java EE 6 public review : Un <em>Fat Web Profile</em> et Web Beans en suspend</h4><p>Roberto Chinnici, Java EE 6 specification leader annonce la sortie de la <a
title="public review de cette spcification" href="http://weblogs.java.net/blog/robc/archive/2009/01/java_ee_6_platf_1.html">public review de cette spécification</a>. Nous noterons :</p><ul><li>Le Web Profile est assez lourd avec notamment les transactions distribuées (JTA), des EJB Lite et du controversé JSF. Certains trouveront que ce poids sera une barrière à l&#8217;entrée des éditeurs intéressés par ce profil léger ; d&#8217;autres estimeront que des technologies comme les transactions distribuées sont aujourd&#8217;hui incontournables. Le débat est sans fin <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></li><li>JSR 299 &laquo;&nbsp;Web Beans&nbsp;&raquo;, récemment remis à plat et renommé &laquo;&nbsp;Java Contexts and Dependency Injection&nbsp;&raquo; a pour le moment été retiré de Java EE 6 (voir ci dessous).</li><li>Servlet 3.0 nous a un peu déçu (cf <a
title="Servlet 3.0 : une API innovante et convergente ?" href="http://blog.xebia.fr/2009/01/19/revue-de-presse-xebia-92/#ServletuneAPIinnovanteetconver">Servlet 3.0 : une API innovante et convergente ?</a>)</li><li>Les fonctionnalités dépréciées qui pourront disparaître dans Java EE 7 (aka <em>pruning</em>) : EJB entity beans (remplacés par Java Persistence), JAX-RPC (remplacé par JAX-WS), JAX-R (usage limité qui ne nécessite pas un statut &#8216;required&#8217;).</li></ul><h4><a
name="JSRexWebBeansUneJSRDependencyI"></a>JSR-299 (ex Web Beans) : Une JSR &laquo;&nbsp;Dependency Injection&nbsp;&raquo; sans SpringSource</h4><p>Nous avions évoqué dans <a
title="Web Beans, un énième modèle de composant pour Java EE ?" href="http://blog.xebia.fr/2009/01/12/revue-de-presse-xebia-91/#WebBeansunnimemodledecomposant">Web Beans, un énième modèle de composant pour Java EE ?</a> le problème de positionnement de cette JSR. Antonio Goncalves nous avait confirmé au Paris JUG que l&#8217;intégration de cette JSR à Java EE 6 était compliquée.</p><p>Gavin King nous rapporte cette semaine dans <a
title="Revised Public Draft of JSR299 Java Contexts and Dependency Injection" href="http://in.relation.to/Bloggers/RevisedPublicDraftOfJSR299JavaContextsAndDependencyInjection">Revised Public Draft of JSR-299: Java Contexts and Dependency Injection</a> que, du fait des retours de plusieurs membres du Java EE 6 Expert Group, la JSR dont il est le leader a été profondément remaniée pour mieux s&#8217;intégrer à la plateforme Java EE.</p><p>Nous retiendrons les points suivants :</p><ul><li>La JSR est renommée &laquo;&nbsp;Java Contexts and Dependency Injection&nbsp;&raquo;, un titre beaucoup plus clair que le vague &laquo;&nbsp;Web Beans&nbsp;&raquo;.</li><li>La &laquo;&nbsp;Dependency Injection&nbsp;&raquo; sera assurée par les conteneurs &#8216;légaux&#8217; de Java EE : le conteneur EJB et le conteneur embarquable EJB Lite (déploiment dans un .war, etc).</li><li>Les mécanismes d&#8217;intercepteurs seront intégrés à ceux déjà existant dans la spécification EJB 3.1 .</li><li>JSR 299 n&#8217;est pour le moment pas inclue dans Java EE 6.</li></ul><p>Si le renommage de cette JSR a le mérite d&#8217;appeler les choses par leur nom, on peut s&#8217;inquiéter de ce revirement très tardif et s&#8217;étonner de l&#8217;absence de SpringSource d&#8217;une JSR sur laquelle Rod Jonhson aurait la légitimité d&#8217;être leader, eut égard aux parts de marché et à la vitalité du conteneur Spring. Les risques de ratage de l&#8217;API semblent importants. Ne vaudrait-il pas mieux recommencer ce chantier sur des bases claires ?</p><p>Une JSR &laquo;&nbsp;Dependency Injection&nbsp;&raquo; sans SpringSource, c&#8217;est comme une JSR Java Persistance API sans JBoss/Hibernate <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><h4><a
name="SortiedApacheIvy"></a>Sortie d&#8217;Apache Ivy 2.0</h4><p>Apache a annoncé la <a
title="sortie de Ivy 20" href="http://ant.apache.org/ivy/history/2.0.0/release-notes.html">sortie de Ivy 2.0</a>, première version d&#8217;Ivy sous licence Apache.</p><p>Pour rappel, Ivy est un outil de gestion de dépendance agile initialement créé par <a
title="Xavier Hanin" href="http://xhab.blogspot.com/">Xavier Hanin</a>. Il peut être <a
title="compar  Maven2" href="http://ant.apache.org/ivy/m2comparison.html">comparé à Maven2</a>, même si Ivy a un spectre de fonctionnalités moins larges. Il est spécialisé dans la gestion de dépendances, qu&#8217;il apporte à Ant quand les deux outils sont associés.</p><p>Les améliorations majeures sont :</p><ul><li>Passage sous licence Apache, Ivy est maintenant un projet Apache (anciennement projet Jayasoft)</li><li>Amélioration de la compatibilité avec Maven et ses dépôts d&#8217;artefacts</li><li>Amélioration du fonctionnement interne (cache, resolvers, etc)</li></ul><h4><a
name="SortiedeVisualVM"></a>Sortie de VisualVM 1.1</h4><p><a
title="VisualVM" href="https://visualvm.dev.java.net">VisualVM</a>, l&#8217;outil de surveillance d&#8217;applications java vient de sortir en version 1.1. Nous vous avions annoncé, dans un <a
title="prcdent post" href="http://blog.xebia.fr/2008/07/15/revue-de-presse-xebia-65/#VisualVMdansleJDK">précédent post</a> que cet outil est maintenant intégré au JDK6 update 7. Cette nouvelle version intègre de nombreuses fonctionnalités et améliorations. L&#8217;API a été étendue pour le développement de plugins.</p><p>Des plugins permettent d&#8217;intégrer VisualVM à Eclipse et Intellij Idea.<br
/> Parmi les nouvelles fonctionnalités, on peut noter :</p><ul><li>Le monitoring de l&#8217;utilisation CPU et mémoire (Garbage Collector) pour chaque application.</li><li>Une vue en mode Tableau sur l&#8217;onglet des Threads</li><li>Monitoring des JVM IBM via une connexion JMX.</li><li>VisualVM est basée sur la <a
title="plateforme NetBeans 65" href="http://platform.netbeans.org">plateforme NetBeans 6.5</a></li></ul><p>La suite des nouveautés ici : <a
title="httpblogssuncomnbprofilerentryvisualvm11released" href="http://blogs.sun.com/nbprofiler/entry/visualvm_1_1_released">http://blogs.sun.com/nbprofiler/entry/visualvm_1_1_released</a></p><p>Par ailleurs, <a
title="Danny Coward" href="http://blogs.sun.com/theplanetarium/entry/under_the_hood_with_visualvm">Danny Coward</a> annonce l&#8217;intégration de VisualVM dans la plateforme de clustering <a
title="TerraCotta" href="http://www.terracotta.org/">TerraCotta</a>.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2009/01/26/revue-de-presse-xebia-93/feed/</wfw:commentRss> <slash:comments>11</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/12/22/revue-de-presse-xebia-88/</link> <comments>http://blog.xebia.fr/2008/12/22/revue-de-presse-xebia-88/#comments</comments> <pubDate>Mon, 22 Dec 2008 18:34:27 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[Alchemy]]></category> <category><![CDATA[BlazeDS]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[JPA]]></category> <category><![CDATA[Native Client]]></category> <category><![CDATA[OpenXava]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[SCRUM]]></category> <category><![CDATA[Spring]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1183</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposé par Xebia. Agilité Les bases de Scrum, en 10 minutes, avec le sourire. RIA Native Client de Google et Alchemy d&#8217;Adobe Spring BlazeDS Integration 1.0.0.M1 Choisir sa solution RIA Le coin de la technique OpenXava 3.1 est disponible Java Persistence API 2.0 Public Draft Agilité Les [...]]]></description> <content:encoded><![CDATA[<p><img
style="margin: 1em 1em 1em 1em; float: right;" src="http://blog.xebia.fr/wp-content/uploads/2007/06/revuedepresse.png" alt="Revue de Presse Xebia" /></p><p><em>La revue de presse de l’actualité Java/J2EE hebdomadaire proposé par Xebia.</em></p><p><strong>Agilité</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/12/22/revue-de-presse-xebia-88/#LesbasesdeScrumenminutesavecle">Les bases de Scrum, en 10 minutes, avec le sourire.</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/12/22/revue-de-presse-xebia-88/#NativeClientdeGoogleetAlchemyd">Native Client de Google et Alchemy d&#8217;Adobe</a></li><li><a
href="http://blog.xebia.fr/2008/12/22/revue-de-presse-xebia-88/#SpringBlazeDSIntegrationM">Spring BlazeDS Integration 1.0.0.M1</a></li><li><a
href="http://blog.xebia.fr/2008/12/22/revue-de-presse-xebia-88/#ChoisirsasolutionRIA">Choisir sa solution RIA</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/12/22/revue-de-presse-xebia-88/#OpenXavaestdisponible">OpenXava 3.1 est disponible</a></li><li><a
href="http://blog.xebia.fr/2008/12/22/revue-de-presse-xebia-88/#JavaPersistenceAPIPublicDraft">Java Persistence API 2.0 Public Draft</a></li></ul><h3><a
name="Agilit"></a>Agilité</h3><h4><a
name="LesbasesdeScrumenminutesavecle"></a>Les bases de Scrum, en 10 minutes, avec le sourire.</h4><p>En 2009, je vais tenter de comprendre ce que Xebia raconte dans la partie Agilité de sa revue de presse. Si vous faites cette bonne résolution, alors la vidéo suivante est pour vous ! Hamid Shojaee (Axosoft) résume en 8 minutes les principaux concepts de Scrum.</p><p><a
href="http://blog.xebia.fr/2008/12/22/revue-de-presse-xebia-88/"><em>Cliquer ici pour voir la vidéo.</em></a></p><h3><a
name="RIA"></a>RIA</h3><h4><a
name="NativeClientdeGoogleetAlchemyd"></a>Native Client de Google et Alchemy d&#8217;Adobe</h4><p><a
title="Google annonce la sortie de Native Client" href="http://google-code-updates.blogspot.com/2008/12/native-client-technology-for-running.html">Google annonce la sortie de Native Client</a>, une technologie permettant d&#8217;exécuter du code natif directement dans le navigateur. Le but de Native Client est d&#8217;exploiter le processeur et la carte graphique du poste client pour pouvoir mettre en place des applications web plus performantes. Google rassure en disant que cette exploitation ne remettra en cause ni la neutralité du navigateur, ni la sécurité, ni la portabilité des applications sur les différents systèmes d&#8217;exploitation.</p><p>Il est possible de <a
title="tester une version expérimentale de Native Client" href="http://code.google.com/p/nativeclient/?tbbrand=GZEZ&amp;utm_campaign=en&amp;utm_source=en-et-osrcblog&amp;utm_medium=et">tester une version expérimentale de Native Client</a>. À noter pour le moment que cette version n&#8217;est compatible qu&#8217;avec les navigateurs suivants : Firefox, Safari, Opera et Google Chrome; et sur les systèmes d&#8217;exploitations suivants : Windows, Mac et Linux qui ont un processeur x86.</p><p>Coïncidence ou pas, Adobe a présenté, lors de ses <a
title="journées Adobe MAX" href="http://max.adobe.com/">journées Adobe MAX</a>, <a
title="Alchemy" href="http://labs.adobe.com/wiki/index.php/Alchemy">Alchemy</a> qui offre les mêmes fonctionnalités que Native Client.</p><p>Alchemy est un projet d&#8217;Adobe Labs permettant d&#8217;intégrer du code C ou C++ dans une machine virtuelle ActionScript. Le code C/C++ est d&#8217;abord compilé en ActionScript3 dans un swc ou swf. Il peut ensuite fonctionner sur Flash Player 10 ou AIR 1.5, sécurisé par les protections Flash Player.</p><p>Quoi qu&#8217;il en soit, le but de ces technologies reste le même : faire en sorte que les applications web deviennent plus puissantes. Cela ne devrait donc pas concerner l&#8217;informatique de gestion. Mais pour les applications qui demandent beaucoup de ressources, telles que les jeux en ligne par exemple, cela pourrait changer la donne.</p><p>Une question reste cependant en suspend. Pourquoi Google a t&#8217;il décidé de sortir cette technologie ? Java Applets, ActiveX, Flash, Flex, Air, Silverlight, JavaFX, ce ne sont pas les technologies concurrentes qui manquent. Native Client ressemble d&#8217;ailleurs plus à une nouvelle version d&#8217;ActiveX cross-browser qu&#8217;à une nouvelle technologie RIA au sens Flex ou SilverLight. <a
title="Certains pensent" href=" http://www.theregister.co.uk/2008/12/15/dziubba_nativ_client/">Certains pensent</a> que cette technologie est le fruit d&#8217;un travail indépendant ne répondant à aucune vision technique cohérente à long terme. <a
title="D'autres" href="http://gigaom.com/2008/12/13/native-client-an-os-in-your-browser/">D&#8217;autres</a>, au contraire, pensent qu&#8217;il s&#8217;agit d&#8217;un pas de plus vers un système d&#8217;exploitation <em>made in</em> Google. Le débat est ouvert, difficile de s&#8217;avancer pour le moment &#8230; Une fois de plus, Google est arrivé à faire le buzz autour de ses technologies.</p><p>Pour ceux qui voudraient tester Quake made in Native Client, <a
title="voici le lien" href="http://nativeclient.googlecode.com/svn/trunk/nacl/googleclient/native_client/tests/quake/quake.html">voici le lien</a> <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><h4><a
name="SpringBlazeDSIntegrationM"></a>Spring BlazeDS Integration 1.0.0.M1</h4><p>Nous en parlions <a
title="la semaine dernière" href="http://blog.xebia.fr/2008/12/15/revue-de-presse-xebia-87/#CooprationentreSpringSourceetA">la semaine dernière</a>, c&#8217;est maintenant <a
title="officiel" href=" http://www.springsource.org/node/904">officiel</a>, <a
title="le premier milestone de Spring BlaseDS Integration est maintenant disponible" href="http://blog.springsource.com/2008/12/17/using-spring-blazeds-integration-m1/">le premier milestone de Spring BlaseDS Integration est maintenant disponible</a>.<br
/> Alors à quoi ressemble cette intégration ? Elle vous permettra de mixer les configurations BlaseDS et Spring à votre guise. L&#8217;idée est de laisser les configurations statiques d&#8217;infrastructure dans le fichier de configuration BlaseDS et d&#8217;externaliser le reste dans les fichiers de configuration Spring. Cette solution devrait donc plaire à tout le monde : les utilisateurs de BlaseDS ne devraient pas être perdus, le mécanisme général restant inchangé ; les utilisateurs Spring s&#8217;y retrouveront également  avec une configuration standard Spring MVC et Spring Remoting.</p><p>Voici quelques détails de cette configuration :</p><ul><li>Seule la configuration de la <code>DispatcherServlet</code> de Spring MVC est nécessaire</li><li>L&#8217;exposition du <code>MessageBroker</code> de BlazeDS  passe par :<ul><li>la déclaration d&#8217;un <em>FactoryBean</em> dans le fichier de configuration XML de Spring MVC : <code>MessageBrokerFactoryBean</code></li><li>le routage des requêtes de la <code>DispatcherServlet</code> vers le <code>MessageBroker</code> via la configuration d&#8217;un <code>HandlerMapping</code></li></ul></li><li>À la manière de <a
title="Spring Remoting" href=" http://static.springframework.org/spring/docs/2.5.x/reference/remoting.html">Spring Remoting</a>, il ne vous reste plus qu&#8217;à exposer vos services Spring au <code>MessageBroker</code> avec la configuration d&#8217;un nouveau type <em>d&#8217;Exporter</em> : le <code>FlexRemotingServiceExporter</code></li></ul><p>Même si nous n&#8217;avons pas encore testé cette solution, cette intégration aussi simple qu&#8217;élégante rapproche sans conteste les développeurs Java au développement d&#8217;applications Flex.</p><h4><a
name="ChoisirsasolutionRIA"></a>Choisir sa solution RIA</h4><p>Les solutions RIA sont de plus en plus nombreuses et il devient difficile de trancher catégoriquement pour l&#8217;une ou l&#8217;autre lors du démarrage d&#8217;un projet. Très souvent, une librairie est choisie par sa côte de popularité alors qu&#8217;elle ne correspond pas forcément au besoin client.<br
/> Au final, l&#8217;énergie dépensée pour apprendre, utiliser et adapter ces widgets/actions/effets dans le projet se révèle très coûteuse en temps, en maintenance&#8230;</p><p>Robbie Cheng (développeur principal de <a
title="ZK Mobile pour Android" href="http://sourceforge.net/forum/forum.php?forum_id=815522">ZK Mobile pour Android</a>) éclaircit nos esprits avec l&#8217;article <a
title="How to Choose an RIA Solution" href="http://java.sys-con.com/node/781133">How to Choose an RIA Solution</a> sur Sys-Con avec un Top 10 des critères <em>architecte</em> et <em>manager</em> à prendre en compte lors du choix de sa solution.</p><p>Sans surprise, côté architecte, on se retrouve avec :</p><ul><li>de nombreux widgets, simples, des fonctionnalités comme le lazy loading ou le drag &amp; drop, des pop-up&#8230;,</li><li>facilité de développement,</li><li>parfaite intégration dans l&#8217;entreprise,</li><li>sécurité et scalabilité,</li><li>et bien évidemment multiplateforme.</li></ul><p>Côté manager, les besoins ne sont pas les mêmes :</p><ul><li>solution standard ? utilisée par d&#8217;autres projets ? Open Source ?,</li><li>bien évidemment le coût de formation, entre une solution JavaScript et Java il n&#8217;y a pas qu&#8217;un pas <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ,</li><li>outils associés à la solution (plugins, éditeur, WYSIWYG&#8230;),</li><li>dépendante d&#8217;autres librairies / d&#8217;autres plugins ?,</li><li>un background solide i.e. qui est derrière la solution ! Adobe, Google, un développeur dans son garage ? Mais aussi un support de qualité, des corrections de bugs et des mises à jour régulières.</li></ul><p>Selon tous ces aspects, l&#8217;auteur nous donne 4 catégories de solutions RIA / frameworks :</p><ul><li>Snippet : amélioration légère avec quelques effets, des pages plus rapides à l&#8217;affichage, des nouvelles petites fonctions de ci de là&#8230; avec peu de changement au niveau de l&#8217;architecture ou du design. <a
title="Script.aculo.us " href="http://script.aculo.us/">Script.aculo.us </a> et <a
title="Prototype" href="http://www.prototypejs.org/">Prototype</a> sont de bons exemples,</li><li>Widget : vous avez dit Web 2.0 ? C&#8217;est clairement ce que tout le monde a vu avec l&#8217;arrivée de librairies comme <a
title="YUI" href="http://developer.yahoo.com/yui/">YUI</a> ou <a
title="ExtJS" href="http://extjs.com/">ExtJS</a> : une nouvelle expérience utilisateur au niveau de l&#8217;interface graphique avec des composants travaillés, très beaux, du drag &amp; drop, de l&#8217;animation&#8230; ces frameworks s&#8217;appuient donc sur une libraire de widgets solides,</li><li>Client : réécriture de l&#8217;application côté client dans une nouvelle technologie, nouvelle interface utilisateur, amélioration de la productivité mais un gros travail de refonte côté client. Nous parlons bien sûr des <a
title="GWT" href="http://code.google.com/intl/fr/webtoolkit/">GWT</a>, <a
title="Flex" href="http://www.adobe.com/fr/products/flex/">Flex</a> et Cie,</li><li>Full : la solution complète, riche, MVC, patterns de développement, à la fois une nouvelle expérience utilisateur mais aussi une réelle valeur ajoutée pour l&#8217;entreprise&#8230; mais nécessite des plateformes/technologies spécifiques côté client et serveur. On citera les <a
title="ZK" href="http://www.zkoss.org/">ZK</a> ou <a
title="Wicket" href="http://wicket.apache.org/">Wicket</a>.</li></ul><p>La conclusion sans surprise à la question (alors, laquelle ???) est bien sûr : <em>ça dépend&#8230;</em><br
/> En effet :</p><ul><li>tous les projets n&#8217;ont pas la même cible d&#8217;utilisateur,</li><li>et les technologies passent du Java au XML en passant par du JavaScript, autrement dit les compétences ne sont clairement pas les mêmes d&#8217;un framework à un autre.</li></ul><p>Alors entre <a
title="jQuery" href="http://jquery.com/">jQuery</a>, <a
title="ExtJS" href="http://extjs.com/">ExtJS</a>, <a
title="GWT" href="http://code.google.com/intl/fr/webtoolkit/">GWT</a> et <a
title="Flex" href="http://www.adobe.com/fr/products/flex/">Flex</a>, ce sera à vous et vous seul de choisir !</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="OpenXavaestdisponible"></a>OpenXava 3.1 est disponible</h4><p><a
title="OpenXava" href="http://www.gestion400.com/web/guest/home">OpenXava</a> est un ensemble d&#8217;outils et de composants destinés à simplifier le développement d&#8217;applications Web Java.</p><p><a
title="OpenXava" href="http://www.gestion400.com/web/guest/home">OpenXava</a> permet de générer des formulaires <a
title="CRUD" href="http://fr.wikipedia.org/wiki/CRUD">CRUD</a> à partir des POJOs et des annotations JPA. Il vous propose également d&#8217;intégrer des fonctionnalités avancées : la génération des rapports PDF, exports Excel, formulaire de recherche, tri, impression&#8230; Avec <a
title="OX" href="http://www.gestion400.com/web/guest/home">OX</a>, vous pouvez aussi créer des applications sophistiquées avec une logique complexe et des IHM avancées.</p><p>La nouvelle version 3.1 apporte AJAX dans vos applications générées. Pour ceux qui utilisent déjà <a
title="OX" href="http://www.gestion400.com/web/guest/home">OX</a> le passage à la version 3.1 permet &laquo;&nbsp;d&#8217;ajaxifier&nbsp;&raquo; vos applications sans toucher une seule ligne de code.</p><p>Le projet est fourni sous licence LGPL.</p><p>Plusieurs <a
title="démos" href="http://www.gestion400.com/web/guest/demos">démos</a> sont disponibles.</p><h4><a
name="JavaPersistenceAPIPublicDraft"></a>Java Persistence API 2.0 Public Draft</h4><p>La spécification <a
title="JSR 317: JavaTM Persistence 2.0" href="http://jcp.org/en/jsr/detail?id=317">JSR 317: JavaTM Persistence 2.0</a> est un public draft, comme l&#8217;annonce sur son blog la specification lead, Linda Demichiel (Sun Microsystems) : <a
title="Java Persistence 2.0 Public Draft" href="http://blogs.sun.com/ldemichiel/entry/java_persistence_2_0_public">Java Persistence 2.0 Public Draft</a>.</p><p>Une entrée précédente de la revue de de presse de Xebia : <a
title="JPA 2.0, la nouvelle version d'une API bien portante" href="http://blog.xebia.fr/2008/06/16/revue-de-presse-xebia-61/#JPAlanouvelleversionduneAPIbie">JPA 2.0, la nouvelle version d&#8217;une API bien portante</a>, annonçait l&#8217;ajout de l&#8217;API Criteria à la version 2 de JPA.</p><p>Linda Demichiel décrit sur son blog le fonctionnement possible de cette API Criteria : <a
title="Java Persistence 2.0 Public Draft: Criteria API" href="http://blogs.sun.com/ldemichiel/entry/java_persistence_2_0_public1">Java Persistence 2.0 Public Draft: Criteria API</a>.</p><p>Celle ci permet de construire des requêtes SQL en Java de manière programmatique. Cette technique présente les intérêts suivant :</p><ul><li>Les requêtes dynamiques sont plus faciles à construire et leurs constructions peuvent dépendre de données évaluées à l&#8217;exécution</li><li>Les fonctions des IDE permettent d&#8217;assister le développeur comme par exemple le refactoring, la complétion</li></ul><p>Cependant les requêtes sont plus difficiles</p><ul><li>A optimiser</li><li>A maintenir (plus difficile à lire)</li></ul><p>Ces requêtes sont construites à partir d&#8217;un object QueryDefinition obtenu à partir d&#8217;un EntityManager :</p><pre class="brush: java; title: ; notranslate">
EntityManager em = ... ;
QueryBuilder queryBuilder = em.getQueryBuilder();
</pre><p>Exemple de création de requête sur l&#8217;entité Customer :</p><pre class="brush: java; title: ; notranslate">
DomainObject customer = queryBuilder.createQueryDefinition(Customer.class);
</pre><p>En manipulant l&#8217;objet JPA DomainObject, on peut charger, par jointure, la relation customer-&gt;orders-&gt;items:</p><pre class="brush: java; title: ; notranslate">
DomainObject item = customer.join(&quot;orders&quot;).join(&quot;items&quot;);
</pre><p>Voici un exemple complet :</p><pre class="brush: java; title: ; notranslate">
DomainObject customer = queryBuilder.createQueryDefinition(Customer.class);
DomainObject item = customer.join(&quot;orders&quot;).join(&quot;items&quot;);
customer.where(item.get(&quot;productType&quot;).equal(&quot;printer&quot;))
.select(customer.get(&quot;name&quot;));
</pre><p>Comme le fait remarquer Gavin King dans l&#8217;article <a
title="A typesafe criteria query API for JPA" href="http://in.relation.to/Bloggers/ATypesafeCriteriaQueryAPIForJPA">A typesafe criteria query API for JPA</a>, il est dommage de manipuler des chaînes de caractères afin d&#8217;obtenir un attribut d&#8217;une classe. On perd un des intérêts de l&#8217;API Criteria : le refactoring et la complétion fournis par les IDE.</p><p>Ainsi, en reprenant l&#8217;exemple complet, si l&#8217;on renomme l&#8217;attribut name de la classe customer en firstName (avec notre IDE préféré), notre IDE sera incapable de changer le requête précédente de customer.get(&laquo;&nbsp;name&nbsp;&raquo;) à customer.get(&laquo;&nbsp;firstName&nbsp;&raquo;).</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/12/22/revue-de-presse-xebia-88/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/12/15/revue-de-presse-xebia-87/</link> <comments>http://blog.xebia.fr/2008/12/15/revue-de-presse-xebia-87/#comments</comments> <pubDate>Mon, 15 Dec 2008 18:02:24 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[Grizzly]]></category> <category><![CDATA[Guice]]></category> <category><![CDATA[GWT]]></category> <category><![CDATA[jdk-7]]></category> <category><![CDATA[PicoContainer]]></category> <category><![CDATA[SpringSource]]></category> <category><![CDATA[tc Server]]></category> <category><![CDATA[Tomcat]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=1121</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Coopération entre SpringSource et Adobe tc Server : SpringSource signe la première offre open source professionnelle sur Tomcat Le coin de la technique Les orientations de GWT : Roadmap GWT 1.6 Java 7, ce n&#8217;est pas pour tout de suite&#8230; [...]]]></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/12/15/revue-de-presse-xebia-87/#CooprationentreSpringSourceetA">Coopération entre SpringSource et Adobe</a></li><li><a
href="http://blog.xebia.fr/2008/12/15/revue-de-presse-xebia-87/#tcServerSpringSourcesignelapre">tc Server : SpringSource signe la première offre open source professionnelle sur Tomcat</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/12/15/revue-de-presse-xebia-87/#LesorientationsdeGWTRoadmapGWT">Les orientations de GWT : Roadmap GWT 1.6</a></li><li><a
href="http://blog.xebia.fr/2008/12/15/revue-de-presse-xebia-87/#Javacenestpaspourtoutdesuite">Java 7, ce n&#8217;est pas pour tout de suite&#8230;</a></li><li><a
href="http://blog.xebia.fr/2008/12/15/revue-de-presse-xebia-87/#SortiedeGrizzly">Sortie de Grizzly 1.9</a></li><li><a
href="http://blog.xebia.fr/2008/12/15/revue-de-presse-xebia-87/#PrsentationdeGoogleGuice">Présentation de Google Guice 2.0</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="CooprationentreSpringSourceetA"></a>Coopération entre SpringSource et Adobe</h4><p>SpringSource renforce son positionnement sur les RIA en signant un accord de partenariat avec Adobe Systems. Un partenariat dont l&#8217;objectif est de simplifier le développement et le déploiement des applications RIA se basant sur Adobe Flex et Spring.</p><p>Adobe et SpringSource se sont alliés pour travailler sur Spring BlazeDS Integration, un projet open source qui vise à simplifier l&#8217;intégration de Spring avec Adobe&#8217;s BlazeDS. Une version bêta est prévue dans une ou deux semaines.</p><p>SpringSource a prévu pour l&#8217;année prochaine un nouvel adaptateur pour Adobe LiveCycle Data Services ES, qui permet d&#8217;instaurer un moteur d&#8217;échanges de données entre les applications RIA basées sur Flex et Spring.</p><p>Ce rapprochement permet à SpringSource de renforcer son positionnement sur les RIA.</p><h4><a
name="tcServerSpringSourcesignelapre"></a>tc Server : SpringSource signe la première offre open source professionnelle sur Tomcat</h4><p>Philip Hanik présente dans <a
href="http://www.springsource.com/node/1116" title=""SpringSource tc Server - The Tomcat you know. The enterprise capabilities you need."" >&laquo;&nbsp;SpringSource tc Server &#8211; The Tomcat you know. The enterprise capabilities you need.&nbsp;&raquo;</a> le périmètre du nouvellement annoncé tc Server.</p><p>On y retrouve tous les ingrédients de la version commerciale d&#8217;un produit open source professionnel :</p><ul><li>Support : de l&#8217;entrée de gamme &laquo;&nbsp;heures ouvrées&nbsp;&raquo; à la formule &laquo;&nbsp;mission critique 24&#215;365&#8243; avec une réponse dans l&#8217;heure</li><li>Packaging : livraison packagée avec les patchs nécessaires au client et des configurations et scripts de démarrage optimisés pour les différentes plateformes (32 vs 64 bits, etc).</li><li>Indemnisation : en cas de problème juridique concernant la nature Open Source de Tomcat.</li><li>Administration centralisée : ajout de mécanismes de gestion centralisée de serveurs Tomcat (configuration des serveurs, déploiement d&#8217;applications clusterisées [1] )</li><li>Audit : suivi des opérations réalisées sur les serveurs.</li><li>Monitoring et alertes : reprise des fonctionnalités de <a
href="http://www.springsource.com/files/SpringSource%20Application%20Management%20Suite%20Datasheet.pdf" title="SpringAMS" >SpringAMS</a> ( <a
href="http://www.hyperic.com/products/open-source-systems-monitoring.html" title="Hyperic HQ" >Hyperic HQ</a> + extensions de monitoring de Spring Framework).</li><li>Diagnostique : détection de thread lock, corrélation des erreurs avec les urls et les threads, mécanisme de <a
href="http://blog.springsource.com/2008/01/07/capturing-failures-and-system-state-part-i/" title="First Failure Data Capture (FFDC)" >First Failure Data Capture (FFDC)</a>.</li></ul><p>Si les premiers points étaient déjà couverts par des offres de support commercial (e.g. <a
href="http://www.springsource.com/products/ers" title="SpringSource Enterprise Ready Server" >SpringSource Enterprise Ready Server</a>), c&#8217;est la première offre de type <a
href="http://blogs.the451group.com/opensource/2008/09/01/andrew-lampitt-defines-open-core-licensing/" title="Open Core Licensing" >Open Core Licensing</a> pour Tomcat (noyau open source + extensions commerciales orientées administration).<br
/> Les éditeurs incitaient jusqu&#8217;à présent leurs clients intéressés par un support Tomcat à faire un <em>upsale</em> sur serveur plus sophistiqué (JBoss App. Server, Websphere App. Server Community Edition, Spring dm Server, etc).</p><p>Quel intérêt de payer 500$/an/cpu pour tc Server plutôt que d&#8217;utiliser Tomcat ? Outre le support qui sera important pour de nombreux exploitants, les fonctionnalités d&#8217;exploitations et de supervision présentent un intérêt à prendre en compte.</p><p>Nous noterons pour conclure que l&#8217;ensemble des fonctionnalités annoncées ne sera pas disponible dès la version 1.0 de tc Server.</p><p>[1] tc Server permet notamment des opérations install/update/start/stop/uninstall/rollback <em>phasées</em> sur des clusters pour mettre à jour les noeuds les uns après les autres sans arrêt du service.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="LesorientationsdeGWTRoadmapGWT"></a>Les orientations de GWT : Roadmap GWT 1.6</h4><p>La version actuelle de <a
href="http://code.google.com/intl/fr/webtoolkit/" title="GWT" >GWT</a> est la 1.5.3. L&#8217;équipe GWT a présenté sur son blog officiel les orientations de GWT 1.6 et des prochaines versions : <a
href="http://googlewebtoolkit.blogspot.com/2008/12/whats-ahead-for-google-web-toolkit_10.html" title="What's ahead for Google Web Toolkit" >What&#8217;s ahead for Google Web Toolkit</a>.</p><p>Ainsi, on observe que l&#8217;équipe GWT s&#8217;attaque à différents points :</p><ul><li><strong>Performance</strong></li><ul><li>De compilation pour améliorer la productivité du cycle de développement</li><li>D&#8217;exécution : optimisation de l&#8217;utilisation de la classe <code>StringBuilder</code> par exemple, des composants (cf <em>LazyPanel</em> plus bas)</li></ul><li>S&#8217;approcher des <strong>bonnes pratiques éprouvées dans la communauté Java</strong> : voici la spécification : <a
href="http://code.google.com/p/google-web-toolkit/wiki/WAR_Design_1_6" title="Design Doc for 1.6 WAR structure" >Design Doc for 1.6 WAR structure</a>. Ainsi, il sera possible de livrer les fichiers statiques (images, css) dans un répertoire hors de la WebApps. Actuellement tout est chargé via le <em>classpath</em>. Ces ressources statiques pourront être &laquo;&nbsp;<a
href="http://www.akamai.fr/" title="akamai" >akamai</a>-llisées&nbsp;&raquo; et aussi relivrées indépendamment de la WebApp.</li><li><strong>Richesse des composants</strong> : intégration de nouveaux composants qui étaient dans l&#8217;<a
href="http://code.google.com/intl/fr/docreader/#p=google-web-toolkit-incubator&#038;s=google-web-toolkit-incubator&#038;t=google-web-toolkit-incubator" title="incubateur de composants GWT" >incubateur de composants GWT</a></li><ul><li>Un calendrier : <a
href="http://code.google.com/intl/fr/docreader/#p=google-web-toolkit-incubator&#038;s=google-web-toolkit-incubator&#038;t=DatePicker" title="DatePicker" >DatePicker</a></li><li>Un <em>Panel</em> qui permet l&#8217;affichage du contenu d&#8217;un <em>Panel</em> lorsqu&#8217;on le souhaite afin d&#8217;améliorer les performances d&#8217;affichage : <a
href="http://code.google.com/intl/fr/docreader/#p=google-web-toolkit-incubator&#038;s=google-web-toolkit-incubator&#038;t=LazyPanel" title="LazyPanel" >LazyPanel</a></li></ul><li>Migration de Tomcat à Jetty pour le <em>Hosted Mode Server</em>.</li></ul><p>Cette version 1.6 est prévue pour le premier trimestre 2009.</p><p>Ils parlent aussi de la Roadmap GWT :</p><ul><li>Marwan KHELIF avec <a
href="http://www.mkhelif.fr/2008/12/11/gwt-16-quoi-de-neuf.html" title="GWT 1.6 : quoi de neuf" >GWT 1.6 : quoi de neuf ?</a></li><li>Thomas Recloux avec <a
href="http://blog.tartachuc.org/2008/12/11/roadmap-gwt-16/" title="Roadmap GWT 1.6" >Roadmap GWT 1.6</a></li><li>A voir aussi sur le site officiel de GWT <a
href="http://code.google.com/intl/fr/webtoolkit/makinggwtbetter.html" title="Making Gwt Better" >Making Gwt Better</a></li></ul><h4><a
name="Javacenestpaspourtoutdesuite"></a>Java 7, ce n&#8217;est pas pour tout de suite&#8230;</h4><p>Initialement prévu pour début 2009, nous n&#8217;avons toujours pas (peu) eu de détails officiels concernant celui-ci. Vous vous en doutiez, Java 7 ne sortira pas demain. Suite à une des conférences de Devoxx, nous en savons désormais un peu plus sur ce sujet : sa sortie décalée à <strong>début 2010</strong>.</p><p>Est-ce si lointain ? Pas vraiment,  à la vue de tous les différents qui tournent autour du Jdk 7 (modularité, closures &#8230;), il ne sera probablement pas trop d&#8217;une année pour résoudre tous ces sujets de discordes. Pour y arriver, des choix rapides et judicieux devront être pris, cette même conférence en a d&#8217;ailleurs laissé sous-entendre quelques-uns, en voici <a
href="http://hamletdarcy.blogspot.com/2008/12/java-7-update-from-mark-reinhold-at.html" title="les grandes lignes" >les grandes lignes</a>.</p><ul><li><strong>Modularité</strong> : point central de Java7, après la <a
href="http://blog.xebia.fr/2008/10/13/revue-de-presse-xebia-78/#JSROSGimatuerStanleyHo" title="mort programmée de la JSR-277" >mort programmée de la JSR-277</a>, la réconciliation avec OSGi devra sans doute passer par la <a
href="http://jcp.org/en/jsr/detail?id=294" title="JSR-294" >JSR-294</a> (sous-jacente) &#8211; <a
href="http://blog.xebia.fr/2008/02/27/jsr-294-les-superpackages/" title="les superpackages" >les superpackages</a>. Si quelques changements récents offrent des perspectives de réconciliation, l&#8217;aventure ne fait que commencer pour le sujet le plus <a
href="http://www.touilleur-express.fr/2008/12/13/devoxx-que-contiendra-java-7/" title="sensible du Jdk 7" >sensible du Jdk 7</a>. Le nouveau <a
href="http://blogs.sun.com/mr/entry/jigsaw" title="projet Jigsaw" >projet Jigsaw</a> qui doit permettre de partager à la communauté l&#8217;avancement des travaux <a
href="http://neilbartlett.name/blog/2008/12/08/hope-fear-and-project-jigsaw/" title="est déjà fortement controversé" >est déjà fortement controversé</a>.</li><li><strong>Les closures</strong> : la grande blague ; le jdk7 ne proposera finalement pas cette fonctionnalité. Aucun consensus n&#8217;ayant été trouvé à ce sujet par la communauté : celles-ci sont pour le moment <em>déscopées</em>.</li><li><strong>Les nouvelles API</strong> :  aucun scoop à ce sujet. Nous en connaissions déjà les principales : nio2 (<a
href="http://jcp.org/en/jsr/detail?id=203" title="JSR-203" >JSR-203</a>) et JodaTime (<a
href=" http://jcp.org/en/jsr/detail?id=310" title="JSR-310" >JSR-310</a>).</li><li><strong>Évolutions du langage</strong> : C&#8217;est Joseph D. Darcy qui sera chargé de définir et regrouper les <a
href="http://blogs.sun.com/darcy/entry/guidance_measure_language_change_size" title="petites" >petites</a> évolutions du langage pour le Jdk 7. Pour <a
href=" http://blogs.sun.com/darcy/entry/small_language_changes_jdk_7" title="cette future nouvelle JSR" >cette future nouvelle JSR</a> (sa 3e après <a
href="http://jcp.org/en/jsr/detail?id=13" title="JSR-13" >JSR-13</a> et <a
href="http://jcp.org/en/jsr/detail?id=269" title="JSR-269" >JSR-269</a>), il a prévu d&#8217;impliquer d&#8217;avantage la communauté pour ce point facilement sujet à controverse. Son idée est de proposer et demander les retours de la communauté en amont du processus pour éviter toute controverse.  Avant même que la JSR ne soit proposée en draft, les grandes lignes de celles-ci devraient en être définies, disponibles et discutées sur un <a
href="http://mail.openjdk.java.net/pipermail/announce/2008-December/000065.html" title="projet spécifique de l'open JDK" >projet spécifique de l&#8217;open JDK</a>. Cette JSR est prévue pour sortir au cours du premier semestre 2009.</li></ul><p>À ce propos, vous vous demandez peut-être comment va-t-il s&#8217;y prendre pour intégrer ces changements ? C&#8217;est peut-être également l&#8217;occasion de revenir sur un de ces anciens articles présentant les différentes étapes à suivre pour <a
href="http://blogs.sun.com/darcy/entry/so_you_want_to_change" title="ajouter des fonctionnalités dans le jdk " >ajouter des fonctionnalités dans le jdk </a>.</p><h4><a
name="SortiedeGrizzly"></a>Sortie de Grizzly 1.9</h4><p><a
href="http://weblogs.java.net/blog/jfarcand/archive/2008/12/grizzly_190_is.html" title="Grizzly 1.9 est sorti" >Grizzly 1.9 est sorti</a>, à noter que la version 2.0 est prévue pour la fin de l&#8217;année. <a
href="https://grizzly.dev.java.net/" title="Grizzly" >Grizzly</a> est un framework Sun pour aider les développeurs à <strong>construire des serveurs robustes et scalables</strong> en utilisant l&#8217;API Java NIO (et NIO 2). Il met aussi à disposition le support de différents protocoles :</p><ul><li><strong><a
href="http://en.wikipedia.org/wiki/Comet_(programming)" title="<strong>Comet</strong>&nbsp;&raquo; ><strong>Comet</strong></a></strong>, qui permet à un serveur de pousser des informations au client.</li><li>Bayeux Protocol, qui permet une communication continue et bilatérale entre un serveur et un client</li><li>Servlet (support partiel)</li></ul><p>Il est aussi possible de développer un client serveur sur HTTP plus classique (sans push de donnée serveur). Cependant, ce n&#8217;est plus la vocation première du framework Grizzly.</p><p>À titre d&#8217;exemple, le serveur d&#8217;applications <a
href="https://glassfish.dev.java.net/" title="Glassfish" >Glassfish</a> utilise Grizzly comme HTTP Listener.</p><p>Les nouveautés de cette version sont :</p><ul><li>Support des I/O asynchrones (NIO2, <a
href="http://blog.xebia.fr/2008/07/21/revue-de-presse-xebia-66/#JSRMoreNewIOAPIsfortheJavaPlat" title="Xebia en avait parlé" >Xebia en avait parlé</a>), cela permet d&#8217;améliorer grandement les performances</li><li>Support des <em>HTTP write</em> asynchrones</li><li><code>GrizzlyAdapterChain</code> supporte maintenant plusieurs adapteurs et peut transformer les requêtes d&#8217;entrées à la volée</li><li>Le framework Comet a amélioré ses performances. À voir aussi un exemple d&#8217;implémentation utilisant GrizzlyComet : <a
href="http://weblogs.java.net/blog/jfarcand/archive/2008/11/writing_a_twitt.html" title="Writing a Twitter like application using Grizzly Comet part 1: The Servlet" >Writing a Twitter like application using Grizzly Comet part 1: The Servlet</a>.</li></ul><h4><a
name="PrsentationdeGoogleGuice"></a>Présentation de Google Guice 2.0</h4><p>La sortie Guice 2.0 est attendue pour décembre 2008 donc très prochainement.</p><p>À l&#8217;image de Spring, Guice est un framework d&#8217;injection de dépendances. Cependant, Guice se démarque de Spring dans la mesure où Guice fonctionne sans aucun XML. La configuration et le tissage des dépendances se font de manière programmatique. Il utilise les annotations du langage Java 5.</p><p>Guice se veut être un framework léger et facile à intégrer. Il existe d&#8217;ailleurs un plugin Struts pour gérer l&#8217;injection de dépendances en Guice.</p><p>L&#8217;article <a
href="http://www.ibm.com/developerworks/java/library/j-guice.html" title="Dependency injection with Guice" >Dependency injection with Guice</a> de Nicholas Lesoecki, employé à Google, présente le fonctionnement de Guice.</p><p>Voici le fonctionnement du Guice d&#8217;un point de vue programmatique :</p><pre class="brush: java; title: ; notranslate">
@Inject
public FrogMan(Vehicle vehicle) {
  this.vehicle = vehicle;
}
</pre><p>Le tissage s&#8217;effectue aussi de manière programmatique, ce qui le différencie radicalement de Spring :</p><pre class="brush: java; title: ; notranslate">
public class HeroModule implements Module {
  public void configure(Binder binder) {
    binder.bind(Vehicle.class).to(FrogMobile.class);
  }
}
</pre><p>Le tissage est donc réalisé dans un <code>Module</code>.</p><p>Ensuite le contexte Guice se démarre comme suit :</p><pre class="brush: java; title: ; notranslate">
public class Adventure {
  public static void main(String[] args){
    Injector injector = Guice.createInjector(new HeroModule());
    FrogMan hero = injector.getInstance(FrogMan.class);
    hero.fightCrime();
  }
}
</pre><p>Il est possible d&#8217;injecter une dépendance par :</p><ul><li>Constructeur, c&#8217;est la méthode la plus simple, par forcément la plus élégante en Spring</li><li>Méthode</li><li>Attribut de classe</li></ul><p>Cependant, un problème peut se poser par rapport à l&#8217;exemple précédent : comment injecter plusieurs véhicules ? Solution : il faut nommer les cibles en créant ses propres annotations pour l&#8217;injection :</p><pre class="brush: java; title: ; notranslate">
@Inject
public WeaselGirl(@Fast Vehicle vehicle) {
  this.vehicle = vehicle;
}
</pre><p>Code source du tissage :</p><pre class="brush: java; title: ; notranslate">
public class HeroModule implements Module {
 public void configure(Binder binder) {
    binder.bind(Vehicle.class).to(FrogMobile.class);
    binder.bind(Vehicle.class).annotatedWith(Fast.class).to(WeaselCopter.class);
  }
}
</pre><p>Code source de la déclaration de l&#8217;annotation :</p><pre class="brush: java; title: ; notranslate">
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.PARAMETER})
@BindingAnnotation
public @interface Fast {}
</pre><p>Les nouveautés de cette version sont présentées sur le site officiel : <a
href="http://code.google.com/p/google-guice/wiki/Changes20" title="Changes in Guice 2" >Changes in Guice 2</a>. On y trouve entre autre :</p><ul><li>Implémentation de l&#8217;AOP</li><li>Surcharge du binding d&#8217;un module à un autre</li><li>Binding des éléments d&#8217;un tableau <code>Set</code> ({{Multibinding}}) ou <code>Map</code> ({{Mapbinding}})</li><li>Convertisseur de type branchable, par exemple, pour convertir une chaîne de caractères en date</li></ul><p>Même si Guice est loin d&#8217;avoir la maturité de Spring ou même autant de fonctionnalités que ce dernier, il propose une approche de l&#8217;injection de dépendances très pragmatique.</p><p>Une étude sur la comparaison des versions Guice 1.0 et Spring 2.0.2 (<a
href="http://www.jroller.com/habuma/entry/guice_vs_spring_javaconfig_a" title="Guice vs. Spring JavaConfig: A comparison of DI styles" >Guice vs. Spring JavaConfig: A comparison of DI styles</a>) arrive aux conclusions suivantes :</p><ul><li>Performance : Guice est plus rapide, mais est-ce vraiment important car généralement les dépendances sont chargées au démarrage de l&#8217;application ?</li><li>Modèle de programmation Guice plus intrusif : il est dommage de devoir mettre un <code>@inject</code> dans les objets Guice qui peuvent être injectés</li><li>Spring AOP est plus puissante</li><li>Guice est plus facile à intégrer (il y a seulement 2 <em>Jars</em> à intégrer)</li></ul><p>À voir également : deux liens intéressants sur l&#8217;injection de dépendance issus de la documentation de <a
href="http://www.picocontainer.org/" title="PicoContainer" >PicoContainer</a>, autre implémentation pour l&#8217;injection de dépendance :</p><ul><li><a
href="http://picocontainer.org/patterns.html" title="Design patterns" >Design patterns</a>, règles a avoir en tête lorsque l&#8217;on fait de l&#8217;injection de dépendance</li><li><a
href="http://picocontainer.org/inversion-of-control-history.html" title="Inversion of Control history" >Inversion of Control history</a>, tout sur l&#8217;injection de dépendance</li></ul> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/12/15/revue-de-presse-xebia-87/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Revue de Presse Xebia</title><link>http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/</link> <comments>http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/#comments</comments> <pubDate>Mon, 17 Nov 2008 18:04:04 +0000</pubDate> <dc:creator>Xebia France</dc:creator> <category><![CDATA[Revue de presse]]></category> <category><![CDATA[Adobe]]></category> <category><![CDATA[Cocomo]]></category> <category><![CDATA[Flex]]></category> <category><![CDATA[GlassFish]]></category> <category><![CDATA[Grails]]></category> <category><![CDATA[Hyperic]]></category> <category><![CDATA[J2EE]]></category> <category><![CDATA[Java / JEE]]></category> <category><![CDATA[Méthodes agiles]]></category> <category><![CDATA[RIA]]></category> <category><![CDATA[Spring]]></category> <category><![CDATA[SpringSource]]></category> <category><![CDATA[Sun]]></category> <guid
isPermaLink="false">http://blog.xebia.fr/?p=997</guid> <description><![CDATA[La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia. Actualité éditeurs / SSII Sun supprime 5.000 à 6.000 emplois dans la continuité de sa mutation en un acteur Open Source SpringSource dévoile sa roadmap RIA Le framework préféré des développeurs Flex Adobe lance Cocomo Le coin de la technique Essayez le nouvel algorithme [...]]]></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/11/17/revue-de-presse-xebia-83/#Sunsupprimeemploisdanslacontin">Sun supprime 5.000 à 6.000 emplois dans la continuité de sa mutation en un acteur Open Source</a></li><li><a
href="http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/#SpringSourcedvoilesaroadmap">SpringSource dévoile sa roadmap</a></li></ul><p><strong>RIA</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/#LeframeworkprfrdesdveloppeursF">Le framework préféré des développeurs Flex</a></li><li><a
href="http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/#AdobelanceCocomo">Adobe lance Cocomo</a></li></ul><p><strong>Le coin de la technique</strong></p><ul><li><a
href="http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/#EssayezlenouvelalgorithmeGarba">Essayez le nouvel algorithme Garbage First</a></li><li><a
href="http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/#GestiondesdocumentsOffice">Gestion des documents Office 2007</a></li><li><a
href="http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/#Hypericvlemonitoringdapplicati">Hyperic v4.0 : le monitoring d&#8217;applications Java passe par JMX</a></li><li><a
href="http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/#SortiedeGrails">Sortie de Grails 1.0.4</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/11/17/revue-de-presse-xebia-83/#OpenSourceEchangecomptesrendus">Open Source eXchange : comptes-rendus des participants</a></li><li><a
href="http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/#LAquariumParisledcembreinscrip">L&#8217;Aquarium à Paris le 12 décembre : inscriptions ouvertes</a></li></ul><h3><a
name="ActualitditeursSSII"></a>Actualité éditeurs / SSII</h3><h4><a
name="Sunsupprimeemploisdanslacontin"></a>Sun supprime 5.000 à 6.000 emplois dans la continuité de sa mutation en un acteur Open Source</h4><p>Sun annonce un plan de restructuration assez conséquent puisqu&#8217;il touchera plus de 15% de ses effectifs.</p><p>Triste nouvelle. La nécessaire mutation de ce fleuron de l&#8217;informatique des années 90, tiraillé entre son activité hardware en déclin <em>(traditionnellement haut de gamme, mais malheureusement à contre-courant d&#8217;investissements en berne en période de crise)</em> et son activité software <em>(en recherche d&#8217;un second souffle &#8211; le patron de la branche logicielle, Steve Green est parti Vendredi dernier)</em>, est en marche depuis plusieurs années et n&#8217;est pas une surprise.</p><p>L&#8217;annonce faite <a
href="http://www.sun.com/aboutsun/pr/2008-11/sunflash.20081114.1.xml" title="sur le site Corporate de Sun" >sur le site Corporate de Sun</a> est claire : Software et Open Source !<br
/> Espérons pour Sun que les récentes <em>(pour certaines judicieuses)</em> et coûteuses acquisitions porteront leurs fruits.</p><p>Si nous osions, nous dirions que, toute activité hardware mise à part, Sun ressemble de plus en plus à des pures players de l&#8217;Open Source au même titre que Redhat par exemple.</p><p>Il n&#8217;est en effet pas surprenant que Sun ait choisi cette voie. Lors de la conférence de Malaga des partenaires de Redhat, à laquelle Xebia était invitée, James Whitehust nous époustouflait en nous annonçant que sa marge et sa croissance étaient parmi les plus élevées de l&#8217;industrie logicielle <em>(information vérifiée et qui s&#8217;avère exacte)</em>.</p><p>Bonne continuation à Sun dans cette voie, elle est légitime. Et bonne chance avec la prometteuse gamme Sun Storage 7000, un <a
href="http://bigtech.blogs.fortune.cnn.com/2008/11/12/sun-gambles-big-as-outlook-darkens/" title="condensé de hardware, d'open source et d'innovation" >condensé de hardware, d&#8217;open source et d&#8217;innovation</a> dans le lignée du nouveau modèle Sun !</p><h4><a
name="SpringSourcedvoilesaroadmap"></a>SpringSource dévoile sa roadmap</h4><p>Vous avez probablement entendu parler des rencontres Spring qui se sont déroulées jeudi dernier. Nous ne résumerons pas ici le contenu de l&#8217;ensemble des conférences, d&#8217;autres blogs s&#8217;en sont déjà chargés avec brio <em>(cf liens annexes)</em>. Si, dans l&#8217;ensemble, les conférences étaient plutôt réussies, nous avouons être un peu restés sur notre faim :</p><ul><li>Les discussions ont beaucoup tourné autour du <a
href="http://www.springsource.com/g2one" title="rachat par SpringSource de G2One" >rachat par SpringSource de G2One</a> sans pour autant révéler clairement la place de Groovy et Grails dans la stack Spring. Elles ont tout de même permis de servir de point de départ à des discussions off bien plus intéressantes lors de la pause.</li><li>Aucune explication sur les <em>(petits)</em> retards de la M1 de Spring 3.0, aucune référence à <a
href="http://www.springsource.org/javaconfig" title="Spring JavaConfig" >Spring JavaConfig</a> ni à l&#8217;intégration des Servlet 3.0, pas de communication sur le contenu des M2 et M3, bref, rien de neuf depuis le billet que nous <a
href="http://blog.xebia.fr/2008/10/08/spring-30-le-grand-nettoyage-du-printemps/" title="avons publié le mois dernier sur Spring 3.0" >avons publié le mois dernier sur Spring 3.0</a>.</li></ul><p>Heureusement donc que ce rachat, annoncé en début de semaine, et la présence de <strong>speakers d&#8217;exceptions</strong> ont permis de pimenter cette demi-journée.</p><p>La partie la plus intéressante a été probablement celle de Peter Cooper Ellis nous présentant de la roadmap Spring dont voici les points à retenir :</p><ul><li>Concernant <a
href="http://blog.xebia.fr/2008/10/08/spring-30-le-grand-nettoyage-du-printemps/" title="Spring 3.0" >Spring 3.0</a> : le premier milestone doit sortir d&#8217;ici fin novembre. Il sera probablement suivi d&#8217;un M2 et d&#8217;un M3 avant l&#8217;arrivée d&#8217;une Release Candidate prévue en mars 2009. La sortie officielle devrait arriver en avril si tout se passe bien.</li><li>Sortie de <a
href="http://blog.xebia.fr/2008/07/30/introduction-a-spring-integration/" title="Spring Integration" >Spring Integration</a> d&#8217;ici la fin de l&#8217;année.</li><li>La version 1.2 de Spring DM devrait sortir durant le premier trimestre 2009 offrant le support au <a
href="http://felix.apache.org/site/apache-felix-configuration-admin-service.html" title="Configuration Admin service" >Configuration Admin service</a>. Elle sera suivie peu de temps après par la version 2.0 qui implémentera <em>l&#8217;OSGi Blueprint Service</em> (RFC 124) partie <a
href="http://www.osgi.org/download/osgi-4.2-early-draft.pdf" title="d'OSGi R4.2" >d&#8217;OSGi R4.2</a>. Spring DM 2.0 sera d&#8217;ailleurs probablement la <em>reference implementation</em> de ces spécifications. Sa date de sortie est prévue pour le second trimestre 2009.</li><li>En parallèle à cela, deux nouvelles versions de Spring dmServer sont planifiées l&#8217;année prochaine. La première, dmServer Jersey, offrira, entre autres, une compatibilité Tomcat. Cette version devrait voir le jour au second trimestre 2009. L&#8217;autre version est prévue pour fin 2009 : dmServer Ockney. En voici quelques nouveautés : load balancer dynamique, enregistrement et exécution de scripts sur la console &#8230;</li><li>Notons également au premier trimestre 2009 : une mise à jour de Spring IDE <em>(2.5)</em> et les versions 1.6 de Groovy et 1.1 de Grails, dont Guillaume Laforge vente les mérites depuis la <a
href="http://blog.xebia.fr/2008/09/10/paris-jug-resume-de-la-soiree-groovy-et-grails/" title="soirée Groovy du Paris JUG" >soirée Groovy du Paris JUG</a>.</li><li>Mais c&#8217;est le second trimestre qui sera le plus chargé avec au programme : Spring Batch 2.0, Spring Security 2.5, Spring ROO et Spring Web. La version 2.0 de Spring Batch apportera une mise à jour importante de ce framework : passage à Java 5, configuration via annotations, on parle également d&#8217;une éventuelle intégration avec la stack apportée par G2One. Vous aurez également remarqué la présence d&#8217;un nouveau framework baptisé Spring ROO. Il s&#8217;agirait d&#8217;un framework RAD / DDD de génération de codes privilégiant les conventions à la configuration <em>(tiens, tiens, ça nous rappelle quelque chose)</em>. Ici encore, aucune information n&#8217;est donnée quant à la place de ce framework vis-à-vis de Grails.</li></ul><div
align="center"><img
src="http://blog.xebia.fr/wp-content/uploads/2008/11/spring-roadmap.jpg" alt="" title="spring-roadmap" width="500" height="186" class="aligncenter size-full wp-image-999" /></div><p>Notez que ce planning ne se veut ni complet ni définitif, certaines de ces dates seront très probablement amenées à évoluer.</p><p><strong>Liens connexes :</strong></p><ul><li>Consultez <a
href="http://www.rencontres-spring.com/post/2008/11/04/Agenda" title="l'agenda de la demi-journée" >l&#8217;agenda de la demi-journée</a>.</li><li>Téléchargez-les <a
href="http://www.rencontres-spring.com/post/2008/11/14/Merci-a-tous-mise-a-disposition-des-slides" title="slides des conférences" >slides des conférences</a>.</li><li>Remerciements post-conférences par <a
href="http://www.springsource.com/node/854" title="Julien Dubois" >Julien Dubois</a>.</li><li>Résumé de la demi-journée par <a
href="http://www.insideit.fr/post/2008/11/13/les-Rencontres-Spring-2008" title="Pierre Mage" >Pierre Mage</a>.</li><li>Résumé de la demi-journée par <a
href="http://blog.octo.com/index.php/2008/11/13/184-les-rencontres-spring-2008" title="Olivier Mallassi" >Olivier Mallassi</a>.</li><li>Résumé de la demi-journée par <a
href="http://www.touilleur-express.fr/2008/11/13/compte-rendu-des-rencontres-spring-2008/" title="Nicolas Martignole" >Nicolas Martignole</a>.</li><li>Autres billets : <a
href="http://www.tomsquest.com/blog/spring-dm-server-le-pari-fou/" title="Spring dmServer, le pari fou ?" >Spring dmServer, le pari fou ?</a>, <a
href="http://www.tomsquest.com/blog/tuning-de-tomcat-par-mark-thomas/" title="Tuning Tomcat" >Tuning Tomcat</a> par Thomas Queste.</li></ul><h3><a
name="RIA"></a>RIA</h3><h4><a
name="LeframeworkprfrdesdveloppeursF"></a>Le framework préféré des développeurs Flex</h4><p>Rich Tetrola a lancé la semaine dernière un <a
href="http://www.insideria.com/2008/11/new-poll-which-flex-framework.html" title="sondage" >sondage</a> sur le framework préféré des développeurs Flex. Et voici le <a
href="http://www.insideria.com/2008/11/poll-results-which-flex-framew.html" title="résultat" >résultat</a>. PureMVC remporte le sondage à la surprise de l&#8217;auteur lui-même qui misait plutôt sur Cairngorm. Les candidats au titre de framework préféré des développeurs Flex étaient :</p><ul><li><a
href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm;jsessionid=F94BB8C296D6BDBBB5F4410E67CF0959" title="Cairngorm" >Cairngorm</a> : une micro architecture fournissant plusieurs motifs de conception <em>(notamment le Modèle-Vue-Contrôleur)</em>.</li><li><a
href="http://puremvc.org/" title="PureMVC" >PureMVC</a> : un framework permettant de concevoir des applications basées sur le motif de conception Modèle-Vue-Contrôleur.</li><li><a
href="http://mate.asfusion.com/" title="Mate" >Mate</a> : un framework qui gère les évènements dont voici une démonstration <a
href="http://nwebb.co.uk/videotutorials/mate_helloworld/" title="Hello World" >Hello World</a>.</li><li><a
href="http://code.google.com/p/swizframework/" title="Swiz" >Swiz</a> : un framework facilitant le développement d&#8217;applications riches.</li><li><a
href="http://projects.simb.net/easyMVC/" title="EasyMVC" >EasyMVC</a> : il permet également de concevoir des applications sur le motif de conception Modèle-Vue-Contrôleur.</li><li><a
href="http://ruboss.com/" title="Ruboss" >Ruboss</a> : il facilite le développement d&#8217;application Flex/Rails.</li></ul><p>Cairngorm, bien qu&#8217;il soit un produit d&#8217;Adobe Labs, n&#8217;a pas remporté le succès attendu à cause de sa complexité, c&#8217;est ce qui ressort des commentaires. Peut être est ce à cause de son <a
href="http://blog.iconara.net/2008/04/13/architectural-atrocities-part-x-cairngorms-model-locator-pattern/ " title=""ModelLocator fourre tout"" >&laquo;&nbsp;ModelLocator fourre tout&nbsp;&raquo;</a>. Les résultats sont intéressants mais il ne faut pas les prendre au pied de la lettre. Tous ces frameworks ont pour but de mettre en place de bonnes pratiques dans le développement d&#8217;applications riches. Chacun dispose d&#8217;avantages et d&#8217;inconvénients à bien évaluer lorsqu&#8217;on veut choisir d&#8217;utiliser l&#8217;un de ces frameworks.</p><h4><a
name="AdobelanceCocomo"></a>Adobe lance Cocomo</h4><p>Avec cette première version bêta dans les <a
href="http://labs.adobe.com/" title="labs" >labs</a>, Adobe étoffe encore son offre RIA.<br
/> Cocomo est une plateforme Flex permettant au développeur d&#8217;ajouter des capacités <em>&laquo;&nbsp;sociales&nbsp;&raquo;</em> aux applications RIA. Cocomo mêle une partie cliente Flex et les infrastructures réseau mises à disposition par Adobe. En bref, il permet de facilement mettre en place des outils collaboratifs dans vos applications Flex. La version bêta propose déjà le support de :</p><ul><li>Conférences audio <em>(par VoIP)</em>.</li><li>Conférences vidéo <em>(par Webcam)</em>.</li><li>Chat texte.</li><li>Echange de fichiers.</li><li>Gestion des utilisateurs.</li><li>Et d&#8217;autres choses à découvrir.</li></ul><p>Pour plus d&#8217;informations rendez vous sur le site d&#8217;Adobe : <a
href="http://labs.adobe.com/technologies/cocomo/" title="Présentation de Cocomo" >Présentation de Cocomo</a>.</p><h3><a
name="Lecoindelatechnique"></a>Le coin de la technique</h3><h4><a
name="EssayezlenouvelalgorithmeGarba"></a>Essayez le nouvel algorithme Garbage First</h4><p>Danny Coward, dont nous avons déjà parlé à plusieurs reprises, a publié cette semaine sur son blog un billet <a
href="http://blogs.sun.com/theplanetarium/entry/java_vm_trying_a_new" title="annonçant la disponibilité" >annonçant la disponibilité</a> du nouvel algorithme pour le ramasse-miettes Java sur le <a
href="http://download.java.net/jdk7/" title="dernier build du JDK 7" >dernier build du JDK 7</a> <em>(bon courage pour l&#8217;installer &#8230;)</em>. Trois saisons ont passé depuis la publication sur notre blog d&#8217;un article présentant le fonctionnement de celui-ci. Son principe n&#8217;a pas changé, vous pouvez donc toujours vous y référer si le sujet vous intéresse : <a
href="http://blog.xebia.fr/2008/03/12/gc-generationnels-traditionnels-jdk6-vs-gc-garbage-first-jdk7/" title="GC générationnels traditionnels (JDK 6) VS Garbage First (JDK 7)" >GC générationnels traditionnels <em>(JDK 6)</em> VS Garbage First <em>(JDK 7)</em></a>.</p><p>À retenir sur ce nouvel algorithme, Garbage First <em>(G1)</em> :</p><ul><li>Il est destiné à remplacer le <em>parrallel and concurrent mark and sweep</em>.</li><li>Il devrait être <strong>activé par défaut</strong> dès le JDK 7.</li><li>Il propose un <strong>nouveau découpage du tas</strong> : la taille des zones mémoire se réduit, plus de zones sont créées en contrepartie.</li><li>Il permet également d&#8217;exploiter les forces des architectures multicœurs.</li><li>Il se veut plus prédictible et moins intrusif en offrant par exemple des <strong>garanties sur des temps de pauses</strong>.</li><li>Il permet en moyenne d&#8217;obtenir un <strong>meilleur débit</strong> de nettoyage, tout en offrant une implémentation <strong>simple à comprendre</strong>.</li></ul><h4><a
name="GestiondesdocumentsOffice"></a>Gestion des documents Office 2007</h4><p>La société <a
href="http://www.aspose.com/" title="Aspose" >Aspose</a> annonce la sortie d&#8217;une nouvelle version de son produit <a
href="http://www.aspose.com/community/blogs/aspose.words/archive/2008/11/07/this-aspose-words-for-java-2-6-0-released.aspx" title="Aspose.Word" >Aspose.Word</a> permettant de gérer nos fichiers <strong>Word 2007</strong>, les fameux <em>.docx</em> de <strong>Microsoft Office 2007</strong> <em>(annonce relayée par <a
href="http://www.theserverside.com/news/thread.tss?thread_id=51816" title="The Server Side" >The Server Side</a>)</em>.</p><p>Cette 2.6.0 ajoute l&#8217;importante fonctionnalité de pouvoir charger un fichier Word existant, rendant possible l&#8217;édition de celui-ci. Un produit très complet donc, qui gère aussi les images, les zones de texte, les objets OLE et Active X et bien d&#8217;autres fonctionnalités de Microsoft Word.</p><p>A noter que la gestion des fichiers <strong>Excel 2007</strong> <em>(.xlsx)</em> et <strong>PowerPoint 2007</strong> <em>(.pptx)</em> est en très bonne voie chez <a
href="http://poi.apache.org/" title="Apache POI" >Apache POI</a>, le support du format OOXML étant déjà disponible dans POI en version <a
href="http://www.apache.org/dyn/closer.cgi/poi/dev/" title="3.5 beta 3" >3.5 beta 3</a>. Ce support est désormais une priorité pour le projet. Rappelons que depuis quelques mois <a
href="http://www.microsoft.com/presspass/press/2008/mar08/03-25SourcesensePR.mspx" title="Microsoft est partenaire du projet Apache POI" >Microsoft est partenaire du projet Apache POI</a> et contribue ainsi à l&#8217;intégration de son format dans POI.</p><h4><a
name="Hypericvlemonitoringdapplicati"></a>Hyperic v4.0 : le monitoring d&#8217;applications Java passe par JMX</h4><p><a
href="http://www.hyperic.com/products/hq_oss.html" title="Hyperic HQ" >Hyperic HQ</a>, l&#8217;outil de supervision choisi par Iona <em>(<a
href="http://fusesource.com/products/fuse-hq/" title="Fuse HQ" >Fuse HQ</a>)</em>, Redhat <em>(<a
href="http://www.jboss.com/products/jbosson" title="JBoss Operations Network" >JBoss Operations Network</a>)</em> et SpringSource <em>(<a
href="http://www.springsource.com/products/suite/ams" title="Application Management Suite" >Application Management Suite</a>)</em>, dévoile cette semaine sa version 4.0 dont une des nouveautés clefs est le nouveau <a
href="http://support.hyperic.com/display/DOC/ui-Monitor.Server.MbeanBrowser" title="JMX MBean Browser" >JMX MBean Browser</a>.</p><p>Nous retiendrons de cette annonce que <strong>JMX est la technologie incontournable pour superviser des applications Java</strong>. Le développement d&#8217;indicateurs en MBean JMX est aujourd&#8217;hui très facile pour les équipes applicatives avec des frameworks comme <a
href="http://static.springframework.org/spring/docs/2.5.x/reference/jmx.html" title="Spring JMX" >Spring JMX</a> et la consultation de ces informations est banalisée avec l&#8217;incontournable <a
href="https://visualvm.dev.java.net/description.html" title="Visual VM" >Visual VM</a> <em>(cf <a
href="http://blog.xebia.fr/2008/10/22/diagnostic-dune-jvm-a-distance/" title="Blog Xebia : Diagnostique d'une JVM à distance" >Blog Xebia : Diagnostique d&#8217;une JVM à distance</a>)</em>.</p><p>Ne pas s&#8217;intégrer facilement à JMX est aujourd&#8217;hui un très sévère handicap pour une solution de supervision d&#8217;applications Java.</p><h4><a
name="SortiedeGrails"></a>Sortie de Grails 1.0.4</h4><p>La sortie officielle de Grails 1.0.4 vient d&#8217;être annoncée par SpringSource. Pour ceux qui ne le connaissent pas, Grails est un framework orienté web écrit en Java et Groovy et placé sous licence Apache. Il s&#8217;inspire fortement du framework Rails <em>(Ruby on Rails)</em>. Mais contrairement à Rails, Grails est ancré complètement dans l&#8217;univers Java, et repose sur des frameworks très connus comme Spring ou Hibernate.</p><p>Cette nouvelle version propose des nouvelles fonctionnalités pour une meilleure intégration avec Spring et Hibernate, un support des tags JSP dans GSP, de nouveaux plugins pour Java Content Repository <em>(JCR API)</em>, Java Persistence API <em>(JPA)</em> et l&#8217;api Portlet.</p><p>L&#8217;année prochaine s&#8217;annonce très prometteuse, avec la possibilité d&#8217;intégration de Groovy avec Grails et des produits du portefeuille Spring comme Spring Batch, Spring Integration, et Spring dm Server.</p><p>Autres liens :</p><ul><li>Le site officiel de <a
href="http://grails.org/" title="Grails" >Grails</a>.</li><li>La documentation officielle : <a
href="http://grails.org/doc/1.0.4" title="http://grails.org/doc/1.0.4" >http://grails.org/doc/1.0.4</a>.</li></ul><h3><a
name="EvnementsdenotrecommunautenFra"></a>Evènements de notre communauté en France et à l&#8217;étranger</h3><h4><a
name="OpenSourceEchangecomptesrendus"></a>Open Source eXchange : comptes-rendus des participants</h4><p>Si vous n&#8217;avez pas pu assister à la journée <a
href="http://blog.xebia.fr/2008/11/14/conference-open-source-exchange-un-grand-merci-et-a-lannee-prochaine-si-vous-le-voulez-bien/" title="OpenSource Exchange" >OpenSource Exchange</a> organisée conjointement par Skills Matter et Xebia de la semaine dernière, nous vous proposons ici en rattrapage quelques-uns des retours effectués par les participants à cette journée.</p><ul><li><a
href="http://ericlefevre.net/wordpress/2008/11/12/back-from-open-source-exchange/" title="Éric Lefevre met à disposition sur son blog" >Éric Lefevre met à disposition sur son blog</a> un compte rendu synthétisant l&#8217;ensemble de la journée.</li><li>Olivier Croisier a quant à lui effectué une série d&#8217;articles fort intéressante sur chacune des conférences :</li><ul><li>Compte rendu <a
href="http://olivier.croisier.free.fr/blog/index.php?2008/11/13/119-opensource-exchange-compte-rendu" title="SpringSource dmServer" >SpringSource dmServer</a>, dont la conférence était présentée par <a
href="http://www.skillsmatter.com/expert-profile/home/michael-isvy" title="Michael Isvy" >Michael Isvy</a>.</li><li>Compte rendu <a
href="http://olivier.croisier.free.fr/blog/index.php?2008/11/14/120-opensource-exchange-compte-rendu-sur-exo-platform" title="eXo Platform" >eXo Platform</a>, dont la conférence était présentée par <a
href="http://www.skillsmatter.com/expert-profile/home/tugdual-grall" title="Tugdal Grall" >Tugdal Grall</a>.</li><li>Compte rendu <a
href="http://olivier.croisier.free.fr/blog/index.php?2008/11/14/122-opensource-exchange-compte-rendu-sur-jee6" title="Java EE 6" >Java EE 6</a>, dont la conférence était présentée par <a
href="http://skillsmatter.com/expert-profile/home/antonio-gonclaves" title="Antonio Goncalves" >Antonio Goncalves</a>.</li><li>Compte rendu <a
href="http://olivier.croisier.free.fr/blog/index.php?2008/11/14/121-opensource-exchange-compte-rendu-sur-groovy-et-grails" title="Groovy" >Groovy</a>, dont la conférence était présentée par <a
href="http://www.skillsmatter.com/expert-profile/home/guillaume-laforge" title="Guillaume Laforge" >Guillaume Laforge</a>.</li><li>Compte rendu <a
href="http://olivier.croisier.free.fr/blog/index.php?2008/11/15/123-opensource-exchange-compte-rendu-sur-glassfish-v3" title="Glassfish v3" >Glassfish v3</a>, dont la conférence était présentée par <a
href="http://blogs.sun.com/alexismp/" title="Alexis Moussine-Pouchkine" >Alexis Moussine-Pouchkine</a>.</li><li>Compte rendu <a
href="http://olivier.croisier.free.fr/blog/index.php?2008/11/15/124-opensource-exchange-compte-rendu-sur-portlets-20" title="Portlet 2.0" >Portlet 2.0</a>, dont la conférence était présentée par <a
href="http://www.skillsmatter.com/expert-profile/home/christophe-laprun" title="Christophe Laprun" >Christophe Laprun</a>.</li><li>Compte rendu <a
href="http://olivier.croisier.free.fr/blog/index.php?2008/11/16/125-opensource-exchange-compte-rendu-sur-hadoop" title="Hadoop" >Hadoop</a>, dont la conférence était présentée par <a
href="http://skillsmatter.com/expert-profile/home/hugues-le-bars" title="Hugues Le Bars" >Hugues Le Bars</a>.</li></ul></ul><p>Nous profitons de cette revue de presse pour les remercier.</p><p>Vous pouvez également nous proposer d&#8217;autres comptes-rendus si vous le désirez.</p><h4><a
name="LAquariumParisledcembreinscrip"></a>L&#8217;Aquarium à Paris le 12 décembre : inscriptions ouvertes</h4><p>Nous en parlions <a
href="http://blog.xebia.fr/2008/11/10/revue-de-presse-xebia-82/#JourneGlassFishetJavaParischez" title="la semaine dernière" >la semaine dernière</a>, Sun organise le vendredi 12 décembre une journée gratuite &laquo;&nbsp;GlassFish et Java&nbsp;&raquo; dans ses locaux au 42, avenue d&#8217;Iéna à Paris.<br
/> Cette journée a été baptisée &laquo;&nbsp;<a
href="http://fr.sun.com/sunnews/events/2008/dec/open_source/agenda.jsp" title="L'Aquarium à Paris" >L&#8217;Aquarium à Paris</a>&nbsp;&raquo; et sera l&#8217;occasion de couvrir un large spectre de la gamme Sun :</p><ul><li><a
href="https://glassfish.dev.java.net/" title="GlassFish" >GlassFish</a>,</li><li>Java EE 6,</li><li><a
href="https://grizzly.dev.java.net/" title="Grizzly Comet" >Grizzly Comet</a>,</li><li><a
href="https://jersey.dev.java.net/" title="Jersey" >Jersey</a>,</li><li><a
href="https://mq.dev.java.net/" title="OpenMQ" >OpenMQ</a>,</li><li><a
href="http://javafx.com/" title="JavaFX" >JavaFX</a>,</li><li><a
href="http://www.mysql.fr/" title="MySQL" >MySQL</a>,</li><li><a
href="https://opensso.dev.java.net/" title="OpenSSO" >OpenSSO</a>,</li><li><a
href="https://open-esb.dev.java.net/" title="OpenESB" >OpenESB</a>.</li></ul><p>Parmi les intervenants: Roberto Chinnici <em>(spec lead)</em>, Richard Bair <em>(tech lead)</em>, Paul Sandoz <em>(spec lead)</em>, Linda Schneider <em>(tech lead)</em>, Jean-François Arcand <em>(tech lead)</em>, etc&#8230;</p><p>Les <a
href="http://fr.sun.com/sunnews/events/2008/dec/open_source/" title="inscriptions" >inscriptions</a> sont désormais ouvertes.</p> ]]></content:encoded> <wfw:commentRss>http://blog.xebia.fr/2008/11/17/revue-de-presse-xebia-83/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
