<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Le Touilleur Express &#187; ria</title>
	<atom:link href="http://www.touilleur-express.fr/tag/ria/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.touilleur-express.fr</link>
	<description>Blog sur Java, le métier de développeur et la vie de freelance par Nicolas Martignole</description>
	<lastBuildDate>Wed, 08 Feb 2012 11:54:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Rich Internet Application ou pourquoi on vous parle de ça</title>
		<link>http://www.touilleur-express.fr/2008/07/04/rich-internet-application-ou-pourquoi-on-vous-parle-de-ca/</link>
		<comments>http://www.touilleur-express.fr/2008/07/04/rich-internet-application-ou-pourquoi-on-vous-parle-de-ca/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 06:24:04 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[blazeds]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=168</guid>
		<description><![CDATA[Que ce soit Adobe Flex, Google Web Toolkit ou Microsoft SilvertLight, ces technologies pour client riche vont bouleverser le métier cette année. Même si la prise en main de GWT est relativement facile, le souci est que l&#8217;on se retrouve à coder en Java ce que finalement nous pourrions faire en client Web classique. Même mieux, comme me disait Nicolas Romanetti de Jaxio : Pourquoi ne pas faire cela en Java Web Start ou avec des Applets au lieu d&#8217;utiliser GWT ?
Vous pouvez développer aujourd&#8217;hui 2 types d&#8217;applications. Un site ...]]></description>
			<content:encoded><![CDATA[<p>Que ce soit Adobe Flex, Google Web Toolkit ou Microsoft SilvertLight, ces technologies pour client riche vont bouleverser le métier cette année. Même si la prise en main de GWT est relativement facile, le souci est que l&#8217;on se retrouve à coder en Java ce que finalement nous pourrions faire en client Web classique. Même mieux, comme me disait Nicolas Romanetti de <a href="http://www.jaxio.com">Jaxio</a> : <em>Pourquoi ne pas faire cela en Java Web Start ou avec des Applets au lieu d&#8217;utiliser GWT ?</em></p>
<p>Vous pouvez développer aujourd&#8217;hui 2 types d&#8217;applications. Un site web classique pour des utilisateurs tout public, pour un extranet, pour un intranet. Et vous pouvez aussi développer des logiciels complets basés sur ces technologies, ce qui est plus mon domaine. Entre la page web classique, la gestion du bouton back, des onglets du navigateurs, et une application riche embarquée dans un navigateur, il y a un monde.</p>
<p>Dans le monde de la finance, les contraintes en terme de temps réel sont importantes. La volumétrie des données est aussi un critère important. Il faut limiter et bien réfléchir au découpage en couche de toute l&#8217;architecture. En terme d&#8217;ergonomie, les traders doivent être les homo sapiens les plus exigeants en terme de réactivité, d&#8217;utilisation du clavier et de &laquo;&nbsp;.<em>..ça doit marcher ton machin&#8230;</em>&laquo;&nbsp;.</p>
<p>Après avoir travaillé avec GWT, un prototype .NET et Adobe Flex, je mettrai mon argent sur Flex. La technologie simple et efficace proposée pour l&#8217;échange de messages entre le serveur et le client Flex m&#8217;a complétement séduit. Si vous téléchargez BlazeDS et que justement, vous jetez un œil sur la démo &laquo;&nbsp;trader&nbsp;&raquo;, vous verrez qu&#8217;il est tout à fait possible d&#8217;avoir du pseudo-temps réel sans trop d&#8217;efforts sur un poste client.</p>
<p><a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS"><img src="http://opensource.adobe.com/wiki/download/attachments/1114252/blazeds_high_119x125.jpg" alt="blazeds" width="119" height="125" /></a></p>
<p><a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS">BlazeDS</a> est un composant serveur qui fonctionne dans un conteneur de servlets et qui permet de pousser vers un client Adobe Flex ou Adobe AIR des flux de données ou des objets sérialisés. Ce serveur est open-source et distribué en licence <a href="http://opensource.adobe.com/wiki/display/blazeds/License">LGPL v3</a>.</p>
<p>J&#8217;ai fait quelques tests avec Flex et un chargement d&#8217;un flux HTTP avec un tag mx:HTTPService et un tag mx:RemoteObject afin de comparer les performances avec <a href="https://addons.mozilla.org/firefox/addon/">Firebugs</a>. Le chargement via RemoteObject est 2 fois plus rapide sur la démo &laquo;&nbsp;testdrive-remoteobject&nbsp;&raquo; par rapport à la démo &laquo;&nbsp;testdrive-httpservice&nbsp;&raquo; distribué dans la version Turnkey de BlazeDS.</p>
<p>Vous allez m&#8217;entendre parler Adobe Flex pas mal ici dans les semaines qui viennent. J&#8217;ai fait aussi un proto avec Spring 2.5 en prenant Spring MVC, une factory particulière pour Flex et IDEA IntelliJ. Il faudrait faire un petit screencast pour vous montrer tout cela car c&#8217;est long à raconter par écrit&#8230;</p>
<p><strong>Lien supplémentaire:</strong></p>
<p><a href="http://flexbox.mrinalwadhwa.com/">http://flexbox.mrinalwadhwa.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2008/07/04/rich-internet-application-ou-pourquoi-on-vous-parle-de-ca/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Prochaine soirée du PJUG sur Adobe Flex</title>
		<link>http://www.touilleur-express.fr/2008/07/01/prochaine-soiree-du-pjug-sur-adobe-flex/</link>
		<comments>http://www.touilleur-express.fr/2008/07/01/prochaine-soiree-du-pjug-sur-adobe-flex/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 08:51:54 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=202</guid>
		<description><![CDATA[Mardi 8 juillet la prochaine présentation au Paris Java User Group sera sur Adobe Flex. A quelques pas de Denfert-Rochereau à Paris à la FIAP. Ce sera l&#8217;occasion de voir deux présentations sur MDA et sur Adobe Flex organisées par l&#8217;équipe d&#8217;Adobe France (dont François le Droff). Le mois dernier nous étions presque 150 personnes, je vous recommande de vous inscrire pour avoir une place
La présentation sur Flex sera animée par James Ward. Sur son blog vous pouvez retrouver quelques articles sympathiques dont un proto Google Apps, Adobe Air développé ...]]></description>
			<content:encoded><![CDATA[<p>Mardi 8 juillet la prochaine présentation au Paris Java User Group sera sur Adobe Flex. A quelques pas de Denfert-Rochereau à Paris à la FIAP. Ce sera l&#8217;occasion de voir deux présentations sur MDA et sur Adobe Flex organisées par l&#8217;équipe d&#8217;Adobe France (dont François le Droff). Le mois dernier nous étions presque 150 personnes, je vous recommande <a href="http://www.parisjug.org/xwiki/bin/view/Meeting/20080708">de vous inscrire</a> pour avoir une place</p>
<p>La présentation sur Flex sera animée par James Ward. Sur <a href="http://www.jamesward.com/wordpress/">son blog</a> vous pouvez retrouver quelques articles sympathiques dont un proto Google Apps, Adobe Air développé avec Dick Wall, l&#8217;un des orateurs du podcast <a href="http://www.javaposse.com">Java Posse</a>. Avec quelques lignes en python pour faire la partie backend serveur, et quelques lignes de MXML pour charger l&#8217;objet via RemoteObject. Elegant et simple.</p>
<p>J&#8217;en profite pour dire un mot sur une application qui permet de traiter un grand volume de données, et qui m&#8217;intéresse particulièrement : <a href="http://www.infoq.com/articles/nasdaq-case-study-air-and-s3">NASDAQ Replay</a> développé avec Flex. C&#8217;est <a href="http://www.jroller.com/francoisledroff/">François</a> qui m&#8217;en a parlé lors de la réunion OSSGTP, et j&#8217;ai bien fait d&#8217;aller y jeter un œil.</p>
<p>Cette application légère fonctionne avec Adobe AIR sur votre machine et vous permet de rejouer les évolutions des cotations d&#8217;actions sur le NASDAQ. Pour cela l&#8217;ensemble des Quotes ont été stockées sur Amazon S3, un énorme volume de stockage virtuel proposé par la société Amazon. Les milliers d&#8217;enregistrement sont stockés sous la forme de simples fichiers textes afin que l&#8217;accès aux données soit très rapide. L&#8217;application permet à un Trader de rejouer des prises de position sur le NASDAQ et de valider par exemple, des moteurs d&#8217;évaluation de Risk. Ce prototype montre à mon avis le futur des applications d&#8217;analyse en ligne.</p>
<p>J&#8217;imagine des cubes OLAP stockés de manière organisée sur S3 avec un frontal développé en Flex&#8230; Il y a des millions d&#8217;euros sur ce marché dans la finance pour qui veut bien se pencher sur la question&#8230; Avis aux amateurs, l&#8217;analyse du Risk est un marché porteur dans la finance.</p>
<p>Thomson Reuters avait racheté une entreprise appelée Applications Networks en juin 2006 pour récupérer un produit appelé JRisk. Ce produit à l&#8217;époque était un moteur d&#8217;analyse de risque avec une partie OLAP. Le montant du deal publié <a href="http://www.thomsonreuters.com/content/press_room/reuters/reuters_pr_2715">sur l&#8217;annonce presse</a> était de 42 millions de dollar. Pour information, le secteur du Trade and Risk Managment chez Thomson Reuters représente un chiffre d&#8217;affaire supérieur à 100 millions de livres sterling&#8230; de quoi payer une petite licence Adobe Flex Builder non ?</p>
<p>Pour mon &laquo;&nbsp;projet-de-dans-deux-ans&nbsp;&raquo; que je commence en septembre si tout va bien, je crois que je vais reprendre cette idée pour stocker les données que je collecte avec mon moteur&#8230;</p>
<p>Je crois bien qu&#8217;Amazon S3 vient de résoudre mon problème de volumétrie des données.</p>
<p>Allez on se voit la semaine prochaine, passez une bonne semaine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2008/07/01/prochaine-soiree-du-pjug-sur-adobe-flex/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ext-GWT ou GWT-Ext ?</title>
		<link>http://www.touilleur-express.fr/2008/06/26/ext-gwt-ou-gwt-ext/</link>
		<comments>http://www.touilleur-express.fr/2008/06/26/ext-gwt-ou-gwt-ext/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 09:56:20 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=198</guid>
		<description><![CDATA[Après avoir présenté Google Web Toolkit, la librairie Ext-GWT (ou GXT) et la librairie GWT-Ext, je souhaite vous parler des essais que j&#8217;ai fait cette semaine. Le choix n&#8217;est pas si simple&#8230;
La semaine dernière, à l&#8217;occasion de la journée Client Riche organisée par Valtech, je vous ai reparlé un petit peu de Google Web Toolkit. En quelques mots, GWT permet d&#8217;écrire en Java du code qui sera transformé en Javascript pour fonctionner du côté du navigateur du client. L&#8217;intérêt de GWT est son mode hébergé. Lorsque vous développez, ce qui ...]]></description>
			<content:encoded><![CDATA[<p><strong>Après avoir présenté Google Web Toolkit, la librairie Ext-GWT (ou GXT) et la librairie GWT-Ext, je souhaite vous parler des essais que j&#8217;ai fait cette semaine. Le choix n&#8217;est pas si simple&#8230;</strong></p>
<p>La semaine dernière, à l&#8217;occasion de <a href="http://www.touilleur-express.fr/2008/06/20/compte-rendu-de-la-journee-valtech-ria/">la journée Client Riche organisée par Valtech</a>, je vous ai reparlé un petit peu de Google Web Toolkit. En quelques mots, GWT permet d&#8217;écrire en Java du code qui sera transformé en Javascript pour fonctionner du côté du navigateur du client. L&#8217;intérêt de GWT est son mode hébergé. Lorsque vous développez, ce qui est bluffant c&#8217;est la rapidité à laquelle vous pouvez construire votre interface. En effet, nul besoin de compiler quoique ce soit. Vous éditez simplement votre code Java, vous sauvez votre fichier, un rechargement dans l&#8217;outil GWT et votre modification apparaît immédiatement dans un navigateur utilisant la DLL d&#8217;internet explorer.</p>
<p>GWT ne dispose pas d&#8217;une librairie de composants très riche. Il existe dans le monde Javascript des librairies très puissantes. La librairie <a href="http://extjs.com/deploy/dev/examples/samples.html">Ext-JS</a> est l&#8217;une de mes favorites. Le problème de cette librairie est qu&#8217;il faut une bonne maitrise du langage Javascript et pas mal d&#8217;énergie pour développer une interface complète. Croyez-moi, je sais de quoi je parle. </p>
<p>Pour rejoindre le meilleur de ces 2 mondes, <a href="http://www.jroller.com/sjivan/">Sanji Jivan</a> a développé GWT-Ext, une librairie qui se repose sur GWT, Ext-JS 2.0.2 ainsi que quelques composants supplémentaires comme les courbes en 2D (YUI) et le module Pagebus destiné à s&#8217;interfacer avec Tibco. Cette librairie est distribuée sous licence LGPL v3.<br />
Je vous conseille de regarder <a href="http://www.gwt-ext.com/demo/">la page d&#8217;exemple</a> pour vous faire une idée de ce qu&#8217;il est possible d&#8217;écrire en Java, et qui se transformera en Javascript au final pour le client.</p>
<p>Le souci et le débat est que Jack Soclum, qui travaille sur la librairie Ext-JS a effectué un changement de licence en avril dernier. La librairie Javascript est passée d&#8217;une licence LGPL à une licence GPL v3. La conséquence pour les logiciels développés sur cette librairie, est qu&#8217;ils doivent soit adopter une licence virale comme la GPL, soit acheter une licence commerciale à l&#8217;entreprise de Jack. Cela a provoqué pas mal de remous dans la communauté des utilisateurs de la librairie Ext-JS. A priori les choses sont entrain de changer et on parle de mettre en place des exceptions pour les produits open-source quant à l&#8217;utilisation de la librairie Ext-JS. Voir <a href="http://ajaxian.com/?p=3598">ce post sur Ajaxian</a>. En tout les cas Jack Solum s&#8217;est fait largement critiquer pour le passage d&#8217;une licence LGPL à une licence GPLv3, <a href="http://jackslocum.com/blog/2008/04/26/ext-js-license-change-and-personal-attacks/">comme il l&#8217;explique sur son blog</a> (note: il y a un post de Ludovic Dubost, OSSGTP, XWiki dans les comments). Quelque part c&#8217;est très informatif sur le côté épidermique des licences et de ce que les gens en font&#8230; On entre dans le débat LGPL/GPL&#8230;</p>
<p>Toujours est-il que le problème pour GWT-Ext est que ce projet reste à la version 2.0.2 de la librairie Ext-JS et ne pourra pas passer à la version 2.1 d&#8217;Ext-JS distribué en GPL. Dans le même temps, le groupe Ext-JS a lancé sa propre version du portage vers GWT de la librairie Ext-JS (honnêtement si vous suivez et vous êtes encore entrain de me lire, chapeau&#8230;). Actuellement la couverture fonctionnelle n&#8217;est pas encore très complete. Voici les deux liens pour comparer la première librairie (GWT-Ext) et donc la deuxième que j&#8217;appelle GXT mais dont le nom officiel est Ext-GWT&#8230; Comment embrouiller le développeur lambda&#8230; </p>
<ul>
<li>Démo GWT-Ext <a href="http://www.gwt-ext.com/demo/">http://www.gwt-ext.com/demo/</a></li>
<li>Démo Ext-GWT dit &laquo;&nbsp;GXT&nbsp;&raquo; <a href="http://extjs.com/products/gxt/">http://extjs.com/products/gxt/</a></li>
</ul>
<p>Je travaille sur un projet pour le mois de septembre pour lequel, après avoir fait un prototype avec JBoss Seam et IceFaces, j&#8217;ai eu envie de tester un rendu basé sur GWT. J&#8217;ai donc développé 2 prototypes avec chacune de ces librairies (GWT-Ext et GXT) afin de me faire une idée précise des lacunes et des points forts de chacune d&#8217;elle.</p>
<p>La librairie GWT-Ext est sortie en juillet 2007. La documentation est assez complète et la prise en main assez rapide. Complètement basée sur Ext-JS, on retrouve donc la manière de programmer cette librairie. Simplement, le fait de travailler en Java me permet de travailler plus rapidement qu&#8217;en pur Javascript. De plus, Sanji le développeur derrière cette librairie a intégré aussi des composants de Charts (de YUI) ce qui m&#8217;évite d&#8217;utiliser une librairie propriétaire.</p>
<p>La librairie GXT est encore en phase de béta. La documentation et les exemples sont moins fournis. Elle apporte un modèle léger événementielle qui fait que le code écrit me semble plus clair. La javadoc est plus complète, et lors des phases de debug, une partie de cette librairie étant écrit en Java, il est plus facile de travailler qu&#8217;avec GWT-Ext.</p>
<p>GWT-Ext est un wrapper complet qui utilise JSNI pour effectuer des appels Javascripts vers la librairie Ext-JS directement. Au contraire, GXT dispose de sa propre implémentation en Java. Au final c&#8217;est bien du javascript qui est généré. </p>
<p>Le post suivant de Didier Girard propose un petit tableau pour comparer les 2 librairies.<br />
<a href="http://www.ongwt.com/post/2008/04/22/MyGWT-is-dead-Long-live-Ext-GWT">http://www.ongwt.com/post/2008/04/22/MyGWT-is-dead-Long-live-Ext-GWT</a></p>
<p>Au final je vais m&#8217;arrêter là&#8230; J&#8217;ai un prototype développé avec les 2 librairies. Je me suis cassé la tête sur GWT-Ext en particulier lors de la mise en place de la partie dynamique. Ext-GWT par contre me permet d&#8217;écrire du code avec une architecture plus propre. Donc c&#8217;est fait. </p>
<p>Fin du débat</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2008/06/26/ext-gwt-ou-gwt-ext/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Compte-rendu de la journée Valtech RIA</title>
		<link>http://www.touilleur-express.fr/2008/06/20/compte-rendu-de-la-journee-valtech-ria/</link>
		<comments>http://www.touilleur-express.fr/2008/06/20/compte-rendu-de-la-journee-valtech-ria/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 09:36:37 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Dev Web]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[silverlight]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=195</guid>
		<description><![CDATA[Hier grosse journée. Tout d&#8217;abord chez Valtech pour assister à une journée de présentation et de formation sur les 3 technologies phares des applications riches : Microsoft Silverlight, Adobe Flex et Google Web Toolkit. Ensuite réunion avec l&#8217;OSSGTP (où j&#8217;ai fait la connaissance de Didier Girard qui était aussi à session Valtech). Voici un petit compte-rendu rapide sur mes impressions de cette journée.
L&#8217;organisation de Valtech était à la hauteur de l&#8217;événement. Environ 90 personnes étaient présentes. En majorité des développeurs Java. Il y avait quelques développeurs .NET, PHP et des ...]]></description>
			<content:encoded><![CDATA[<p>Hier grosse journée. Tout d&#8217;abord chez Valtech pour assister à une journée de présentation et de formation sur les 3 technologies phares des applications riches : Microsoft Silverlight, Adobe Flex et Google Web Toolkit. Ensuite réunion avec l&#8217;OSSGTP (où j&#8217;ai fait la connaissance de <a href="http://www.application-servers.com/">Didier Girard</a> qui était aussi à session Valtech). Voici un petit compte-rendu rapide sur mes impressions de cette journée.</p>
<p>L&#8217;organisation de Valtech était à la hauteur de l&#8217;événement. Environ 90 personnes étaient présentes. En majorité des développeurs Java. Il y avait quelques développeurs .NET, PHP et des graphistes. Mais le premier constat, c&#8217;est que soit le fichier de prospection de Valtech n&#8217;a contacté que des équipes Java, soit clairement un développeur client riche en France n&#8217;est pas un graphiste mais un développeur&#8230; </p>
<p>Nous étions environ une cinquantaine dans mon groupe. Tout le monde était équipé d&#8217;un portable avec les différents environnements de développement installés grâce à un CD donné par Valtech. La première session sur Google Web Toolkit était animé par Sami Jaber de DNG Consulting, ancien directeur technique chez Valtech Toulouse. Sami a été interviewé plusieurs fois dans 01 Informatique (<a href="http://www.01net.com/article/343197.html">ici</a>, là sur <a href="http://www.01net.com/editorial/382646/avec-javafx-sun-repart-a-la-conquete-de-l-utilisateur/">JavaFX </a>et <a href="http://www.01net.com/editorial/381614/sami-jaber-fondateur-de-dng-consulting-societe-de-conseil-specialisee-dans-les-architectures-orientees-services-et-le-web-2.0/">ici sur RDA</a>). <a href="http://www.dotnetguru2.org/sami/">Son blog</a> parle aussi de .NET. Je retiens plusieurs points sur sa présentation. Tout d&#8217;abord il explique que GWT n&#8217;est pas réellement comparable à SilverLight ou Flex. Il n&#8217;y a pas de plugin et pas de rendu vectoriel. GWT est orienté application web riche. L&#8217;avantage de GWT est son intégration complète dans l&#8217;espace de travail du développeur. Le développeur écrit en Java une application similaire à de la programmation ave Swing pour décrire votre interface et vos actions. Ce code génère du Javascript avec l&#8217;outil GWT qui est ensuite déployé vers le client. L&#8217;un des points forts de GWT est la génération optimisée du Javascript selon le navigateur ainsi que selon la langue de l&#8217;utilisateur. GWT prend en charge la complexité de gestion des différents navigateurs et permet donc de ne se concentrer que sur la partie métier. A peu de chose prêt c&#8217;est ce que nous faisons avec mon équipe sur le framework Karma depuis 3 ans, pour la finance. Là où par contre GWT va plus loin, c&#8217;est son intégration dans l&#8217;environnement de travail. Chez nous la productivité n&#8217;est pas mirobolante car la phase de debug est assez délicate. Sur GWT la productivité est bien meilleure que notre solution.</p>
<p>GWT seul est pauvre en terme de composants graphiques. Cependant il faut savoir qu&#8217;un bon nombre des librairies Javascript sont en court de portage vers GWT. Sami a présenté une intégration de la librairie <a href="http://extjs.com/products/extjs/">ExtJS</a> dans le projet <a href="http://extjs.com/products/gxt/">Ext GWT</a> (ou GXT) qui m&#8217;a particulièrement intéressé. ExtJS est une librairie très puissante mais difficile à programmer proprement, car c&#8217;est du Javascript. Il existe bien une taglib pour ExtJS mais je ne suis pas convaincu. Ext GWT par contre est vraiment une librairie qui a un avenir au sens industriel du terme. Je vois déjà les applications chez Thomson-Reuters qui pourraient en bénéficier pour pas très cher. La librairie est disponible soit sous licence GPL v3, soit sous licence commerciale si vous souhaitez l&#8217;intégrer dans un produit. C&#8217;est la mode en ce moment.</p>
<p>GWT est donc une librairie et un moteur complet qui permet de travailler d&#8217;Eclipse (ou d&#8217;IDEA IntelliJ) rapidement, sans devoir déployer son application et perdre du temps. L&#8217;exemple de Sami utilisait <a href="http://openejb.apache.org/">Apache OpenEJB</a>, un tout petit moteur EJB3 qui a l&#8217;avantage de se lancer très vite par rapport à un JBoss. Je ne parle même pas d&#8217;IBM Websphere et compagnie&#8230;</p>
<p><strong>Deuxième séance: Microsoft Silvertlight beta 2 release 2</strong>. Je ne vais pas m&#8217;étendre. Très décevant. La présentation était moyenne, les 2 présentateurs ont proposé d&#8217;axer la présentation sur l&#8217;intégration entre l&#8217;utilisation de Microsoft Blend et d&#8217;un outil de développement C#/XAML afin d&#8217;expliquer la séparation entre le design graphique et la partie codage. Mon sentiment sur ce que j&#8217;ai vu, c&#8217;est que Silverlight n&#8217;est pas encore terminé. Certes on parle d&#8217;une béta. Mais en fin de présentation, l&#8217;un des speakers a expliqué que dès aujourd&#8217;hui il était possible d&#8217;aller en production avec un support qui sera assuré par Microsoft&#8230; Moi désolé mais je n&#8217;ai rien compris.</p>
<p>J&#8217;ai apprecié Microsoft Blend qui est un outil puissant pour construire son interface. Il écrase Flex Builder car il permet vraiment d&#8217;aller très loin sur les effets graphiques et de présentation. En terme d&#8217;ergonomie, je trouve qu&#8217;il y a encore quelques points à clarifier, mais l&#8217;outil est utilisable pour faire une interface très sympa. Du côté de XAML et du pont avec la partie métier et service, une application cliente Silverlight est agnostique avec la partie serveur. Elle peut donc être client d&#8217;un Tomcat sans soucis. Silverlight supporte un grand nombre de modèle de communication comme REST ou RPC. Il y a une couche de sécurité que je n&#8217;ai pas vu du côté de Flex. Anecdote cependant qu&#8217;un des présentateurs a laché : le contenu XAP d&#8217;un fichier silverlight est placé dans le cache du navigateur. Il serait possible de récuperer ce contenu pour le décompiler et en faire ce que l&#8217;on veut. Il explique donc qu&#8217;il faut faire attention à ne pas stocker de choses sensibles dans l&#8217;application, mais à aller les chercher sur le serveur. Ce qui me paraît logique.
</p>
<p>Quoi d&#8217;autre sur Silverlight ? je vous passe les manipulations assez acrobatiques que nous avons dû faire car il y a un souci de Namespace sur la dernière version de Blend. C&#8217;était folklorique. Moi en tant que client j&#8217;attendrai encore un peu avant de m&#8217;en servir pour un client final. Je n&#8217;ai pas du tout aimé la partie C#. Cela dit, Silverlight a aussi un support pour PHP et Ruby. Donc on peut envisager d&#8217;écrire autrement la partie Page de l&#8217;application. Voili voilà.</p>
<p>Nous avons terminé la journée par la présentation qui m&#8217;a le plus bluffé : Adobe Flex. Je connais bien la techno puisque l&#8217;an passé j&#8217;ai réalisé tout un prototype avec Flex de l&#8217;une de nos applications. Je voulais rester afin de voir comment présenter Flex aux gens qui ne connaissent pas. <a href="http://www.baao.com">Yann Chevalier de Baao</a> nous a fait une superbe présentation. C&#8217;est un très bon speaker et je pense que toute la salle a réussi à réaliser les ateliers qu&#8217;il présentait. Nous avons codé un player de vidéo en Flex, avec une timeline, des boutons Pause et Stop et un compteur de temps. Cela permet de voir comment utiliser le Designer pour créer l&#8217;interface. Ensuite comment binder un composant à un événement. Comment déclarer un composant réutilisable&#8230; Bref une très bonne présentation. Rien à dire, je reste convaincu que pour l&#8217;instant Flex a une bonne longueur d&#8217;avance sur Silverlight. Flex est pensé par des graphistes, des ergonomes, des développeurs Flash qui ont une grande expérience du Web là où Silverlight est orienté développeur. Cependant j&#8217;ai vu qu&#8217;en terme de rendu, Silverlight est plus puissant dans ses effets graphiques. Là où pour l&#8217;instant cela pêche un peu, c&#8217;est que des applications avec de la vidéo et des cubes qui tournent, il y a peu d&#8217;intérêt à en faire&#8230; Nous sommes encore en phase de transition vers du Web un peu plus riche, ce que GWT qui reste sur du HTML et du JS fait très bien.</p>
<p>En conclusion, je suis reparti avec un tee-shirt GWT. C&#8217;est pas marrant à dire mais les teeshirts Silverlight sont restés sur les tables de la salle d&#8217;accueil. Problème de publique je pense. Les gens présents étaient en majorité des pro-Java et malheureusement le fossé continue à se creuser. J&#8217;en suis responsalbe aussi en faisant du bashing ici. Mais je ne vais pas pipoter en racontant que c&#8217;est une techno mature et prête à être mise en production chez un client, un trader, dans une salle de marché&#8230; C&#8217;est une bonne techno mais avec un concurrent comme Adobe Flex et un produit comme <a href="http://labs.adobe.com/wiki/index.php/Thermo">Thermo </a>qui devrait bientôt arriver, la concurrence va être rude pour Silverlight. A noter en juillet nous devrions avoir une présentation sur Flex par l&#8217;équipe d&#8217;Adobe France aux Paris Java User Group (Paris JUG).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2008/06/20/compte-rendu-de-la-journee-valtech-ria/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Petites réflexions autour du client riche, l&#039;heure du bilan</title>
		<link>http://www.touilleur-express.fr/2008/01/10/petites-reflexions-autour-du-client-riche-lheure-du-bilan/</link>
		<comments>http://www.touilleur-express.fr/2008/01/10/petites-reflexions-autour-du-client-riche-lheure-du-bilan/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 16:39:34 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[adobe air]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[microsoft silverlight]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=16</guid>
		<description><![CDATA[Après avoir réalisé une maquette avec Adobe Flex j&#8217;ai testé il y a quelques jours la version Beta 2 de Microsoft Expression Blend. Quel est le positionnement de ces technologies aujourd&#8217;hui ? Le client léger basé sur les technologies du web (html,css,javacript) a-t-il encore un avenir ? Qu&#8217;en est-il de l&#8217;architecture service ?
Le coeur de mon métier, c&#8217;est le client riche. Avec mon équipe nous nous occupons d&#8217;un framework java propriétaire qui fonctionne en client léger dans IE ainsi qu&#8217;en mode client lourd (swing). Aujourd&#8217;hui je me rends compte qu&#8217;il ...]]></description>
			<content:encoded><![CDATA[<p><strong>Après avoir réalisé une maquette avec <a href="http://www.jroller.com/Trecollo/entry/flex2_premiers_pas">Adobe Flex</a> j&#8217;ai testé il y a quelques jours la version Beta 2 de Microsoft Expression Blend. Quel est le positionnement de ces technologies aujourd&#8217;hui ? Le client léger basé sur les technologies du web (html,css,javacript) a-t-il encore un avenir ? Qu&#8217;en est-il de l&#8217;architecture service ?</strong></p>
<p>Le coeur de mon métier, c&#8217;est le client riche. Avec mon équipe nous nous occupons d&#8217;un framework java propriétaire qui fonctionne en client léger dans IE ainsi qu&#8217;en mode client lourd (swing). Aujourd&#8217;hui je me rends compte qu&#8217;il est encore difficile de faire accepter l&#8217;évolution de l&#8217;architecture qui est en place. Nous passons d&#8217;un client lourd installé sur le poste de nos clients à une architecture déployée J2EE dont l&#8217;interface fonctionne dans un simple navigateur. Nous avons fait de gros efforts pour que l&#8217;application web soit aussi interactive que possible. En quelques sortes, cela fait plus de 2 ans que nous faisons de l&#8217;AJAX avant même que ce terme ne soit publié il y a maintenant 2 ans.<br/>Et honnêtement le résultat est là.<br/> Des tableaux éditables qui s&#8217;exportent vers Excel ou PDF, des graphiques avec JFreeChart, des blotters de données du marché qui se mettent à jour en temps réel&#8230; le tout avec du HTML, du CSS, des Javascripts et des composants HTC. Bref on est au limite de ce que peut faire un navigateur tel qu&#8217;IE6 sans aucuns plugins. Mais ça marche !</p>
<p>Aujourd&#8217;hui il y a encore quelques blocages qui font que nous avons ressorti le client lourd des cartons (Swing). Il y a aussi un coût plus important pour développer une interface riche web qu&#8217;une interface classique car les technologies actuelles (css,html,js,htc&#8230;) si l&#8217;on peut parler de technologies, ne sont pas très bien maîtrisées ou enseignées.</p>
<p>Ensuite sachez que tout n&#8217;est pas rose dans le monde AJAX. Ne vous emballez pas trop vite pour toutes ces librairies javascript comme Scriptaculous ou Prototype. Certes, elles vous font gagner du temps. Mais malheureusement elles ne sont pas toujours exemptes de bugs. Attention aussi au navigateur de Microsoft. Je pense particulièrement à Internet Explorer 6 (avant le SP2) et son moteur javascript. J&#8217;ai rencontré 2 fois un problème de fuite mémoire en javascript. Très difficile à identifier.</p>
<p>Pour revenir au débat &laquo;&nbsp;client riche/client lourd&nbsp;&raquo;, je vois 2 soucis: je pense qu&#8217;il faut maintenant se tourner vers des technologies plus avancées pour faire un vrai produit fonctionnant dans un navigateur. J&#8217;ai testé <a href="http://www.jroller.com/Trecollo/entry/flex2_premiers_pas">Adobe Flex2</a> ainsi que <a href="http://www.microsoft.com/expression/products/overview.aspx?key=blend">Microsoft Expression Blend</a>. Ces 2 produits sont adaptés pour construire un produit avancé qui fonctionnera en mode client lourd comme en mode client léger. Pour la technologie d&#8217;Adobe, <a href="http://labs.adobe.com/wiki/index.php/Apollo">Apollo AIR</a> permet de faire fonctionner une application Flex en mode client lourd. Une syntaxe XML permet de définir l&#8217;interface, le MXML.</p>
<p>Chez Microsoft, la Beta 2 d&#8217;Expression Blend m&#8217;a agréablement surpris. Elle permet de construire une application qui fonctionnera avec le .Net framework 3,5. Elle peut fonctionner en client lourd comme en client léger grâce à Silverlight.</p>
<p><a href="http://labs.adobe.com/technologies/flex/">Adobe Flex 3</a> m&#8217;a semblé plus pratique au niveau des Layout Manager pour construire mon interface. Il est possible de définir un ensemble de composant et de les sauver dans sa boîte à outil afin de pouvoir s&#8217;en resservir. C&#8217;est aussi vrai pour Expression Blend. Du côté de Microsoft, l&#8217;éditeur est plus puissant. Il est moins facile à prendre en main mais la séparation entre l&#8217;interface et la partie dynamique est plus simple que chez Adobe. Je pense qu&#8217;il ne faut pas néglier ce que propose Microsoft. Nous arrivons à une solution mature pour développer à la fois en mode client lourd et en mode client léger.</p>
<p>Maintenant réveillons-nous un peu: je ne suis pas entrain de jeter aux orties tout le boulot web, et ce qui se passe derrière le décor. Je pense qu&#8217;il faut investir et commencer à regarder sérieusement Adobe Flex et/ou la couche Windows Presentation Framework avec Silverlight de Microsoft. Par contre je ne pense pas qu&#8217;il faille jeter l&#8217;architecture service J2EE pour autant. Et c&#8217;est l&#8217;un de mes soucis. On me demande de faire du client lourd. Du vrai client lourd 2-tiers avec la base de données et des services financiers déportés. Pour ma part, ma vision est que l&#8217;on devrait conserver un serveur d&#8217;application afin d&#8217;effectuer un certain nombre de services (profiling, authentification, authorisation&#8230;). Sur le serveur d&#8217;application, le coeur du produit continue à fonctionner. EJB3 ou pas, peu importe. En conservant une architecture Web+J2EE il reste possible de fonctionner en mode client léger dans un navigateur comme en mode client lourd déporté. Je pense que la méconnaissance de l&#8217;architecture J2EE nous conduit aujourd&#8217;hui à revenir en arrière, ce qui est vraiment dommage&#8230;</p>
<p>Deuxième réflexion: nous avons plusieurs produits. Nous offrons à nos clients une Suite qui regroupe tout ou partie de ces produits. Or si vous pensez en terme de client lourd, il devient rapidement compliqué de construire et livrer le binaire adapté à ce que le client a acheté. Pareil pour ce qui concerne les installations de patches&#8230; Avec 6 produits majeurs financiers, je peux vous assurer que vos équipes vont passer leur temps à mettre à jour tel ou tel produit&#8230; Mais bon, c&#8217;est envisageable.</p>
<p>En conservant une architecture 3 tiers, il est possible facilement d&#8217;ajouter ou de retirer tout ou partie d&#8217;un produit, car le coeur du produit n&#8217;est pas dans le client riche mais déporté sur le serveur d&#8217;application J2EE. Par ailleurs on concentrera les efforts sur l&#8217;ergonomie, l&#8217;interface du client, mais on se contentera d&#8217;effecteur des appels vers le serveur pour les traitements&#8230;</p>
<p>Voilà c&#8217;est tout&#8230; ce sont quelques idées qui me trottent dans la tête. L&#8217;arrivée des technologies de type client riche va bousculer une nouvelle fois nos connaissances d&#8217;architecture. Il faut penser maintenant à ce qui se passe derrière l&#8217;écran et la jolie fenêtre animé dans un écran Flex&#8230; Pensez-y si vous faites du client riche&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2008/01/10/petites-reflexions-autour-du-client-riche-lheure-du-bilan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A propos d&#039;ICEFaces 1.6, JBoss Seam et mon projet de dans deux ans</title>
		<link>http://www.touilleur-express.fr/2007/07/12/a-propos-dicefaces-16-jboss-seam-et-mon-projet-de-dans-deux-ans/</link>
		<comments>http://www.touilleur-express.fr/2007/07/12/a-propos-dicefaces-16-jboss-seam-et-mon-projet-de-dans-deux-ans/#comments</comments>
		<pubDate>Thu, 12 Jul 2007 07:27:18 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[icefaces]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=40</guid>
		<description><![CDATA[Je suis sur un nouveau projet personnel. Basé sur JBoss Seam, j&#8217;ai besoin de librairies JSF assez puissante pour gagner du temps. Ce matin j&#8217;ai vu qu&#8217;ICEsoft Technologies, Inc a annoncé la sortie officielle de la librairie JSF ICEFaces en version 1.6. Cette nouvelle version s&#8217;intégre avec JBoss Seam 1.2.1 GA. Des tutoriaux permettent d&#8217;apprendre à coder des pages rapidement. Le mieux cependant est peut-être de regarder la page de démonstration pour vous faire une idée.
Par rapport à d&#8217;autres librairies comme tomahawk qui a du mal à s&#8217;intégrer avec Seam, ...]]></description>
			<content:encoded><![CDATA[<p>Je suis sur un nouveau projet personnel. Basé sur JBoss Seam, j&#8217;ai besoin de librairies JSF assez puissante pour gagner du temps. Ce matin j&#8217;ai vu qu&#8217;ICEsoft Technologies, Inc a annoncé la sortie officielle de la librairie JSF ICEFaces en version 1.6. Cette nouvelle version s&#8217;intégre avec JBoss Seam 1.2.1 GA. Des <a href="http://www.icefaces.org/main/resources/tutorials.iface">tutoriaux</a> permettent d&#8217;apprendre à coder des pages rapidement. Le mieux cependant est peut-être de regarder <a href="http://www.icefaces.org/main/demos/">la page de démonstration</a> pour vous faire une idée.</p>
<p>Par rapport à d&#8217;autres librairies comme tomahawk qui a du mal à s&#8217;intégrer avec Seam, ICEFaces a été testé et validé avec JBoss Seam. Pour ma part <b>je cherche un composant jsf d&#8217;agenda</b> qui tienne la route. J&#8217;aimerai bien tester <a href="http://myfaces.apache.org/tomahawk/schedule.html">MyFaces Schedule</a> mais pour mettre en place tomahawk dans JBoss il faut désactiver l&#8217;implémentation jsf par défaut. Je n&#8217;ai pas encore testé, car je regarde une autre alternative utilisant Google Agenda. L&#8217;idée est de récuperer l&#8217;agenda via du HTML, ce que j&#8217;ai réussi à faire hier soir sans trop d&#8217;effort. Google met aussi à disposition une API Java pour poster des évenements vers un agenda Google. Bref j&#8217;ai tout, sauf qu&#8217;au niveau de l&#8217;ergonomie l&#8217;agenda qui s&#8217;affiche en mode HTML est moins sympa à utiliser que la vraie version de Google Agenda&#8230; Donc me voilà revenu au point de départ.</p>
<p>Sinon JBoss Seam est vraiment puissant&#8230; mais chut, tant pis pour ceux qui se réveilleront trop tard&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2007/07/12/a-propos-dicefaces-16-jboss-seam-et-mon-projet-de-dans-deux-ans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex2, premiers pas&#8230;</title>
		<link>http://www.touilleur-express.fr/2007/03/24/flex2-premiers-pas/</link>
		<comments>http://www.touilleur-express.fr/2007/03/24/flex2-premiers-pas/#comments</comments>
		<pubDate>Sat, 24 Mar 2007 09:59:42 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Dev Web]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=48</guid>
		<description><![CDATA[Suite au SUN TechDays j&#8217;ai téléchargé et installé Flex Builder. Flex est une solution puissante développée au départ par Macromédia en 2004, puis maintenant par Adobe suite au rachat de Macromédia. Flex permet de construire des applications internet riches multi-plateforme car il utilise Flash 9. La majorité des navigateurs ont maintenant Flash installé ou avec l&#8217;explosion des sites comme YouTube ou DailyMotion qui font appel à cette technologie, il est clair que l&#8217;installation d&#8217;un plugin n&#8217;est plus un problème.
Une application Flex s&#8217;écrit avec du XML, plus précisement du MXML. Il ...]]></description>
			<content:encoded><![CDATA[<p>Suite au SUN TechDays j&#8217;ai téléchargé et installé Flex Builder. Flex est une solution puissante développée au départ par Macromédia en 2004, puis maintenant par Adobe suite au rachat de Macromédia. Flex permet de construire des applications internet riches multi-plateforme car il utilise Flash 9. La majorité des navigateurs ont maintenant Flash installé ou avec l&#8217;explosion des sites comme YouTube ou DailyMotion qui font appel à cette technologie, il est clair que l&#8217;installation d&#8217;un plugin n&#8217;est plus un problème.</p>
<p>Une application Flex s&#8217;écrit avec du XML, plus précisement du MXML. Il suffit de décrire la composition de l&#8217;application, et de déclarer ce que voit en fait l&#8217;utilisateur. Il est aussi très facile de créer des composants ou des vues réutilisables. MXML me fait penser à Xaml de Microsoft ou encore à la syntaxe XUL de Mozilla. Cependant il y a aussi ActionScript, un langage de script qui vous permet de brancher des évenements, d&#8217;appeler des Web Services ou des applications de type REST via HTTP.</p>
<p>J&#8217;ai bossé tard hier soir après avoir installé le Flex Builder basé sur Eclipse RCP. Je me suis lancé sur l&#8217;écriture de quelques écrans standards de nos applications utilisant notre framework Java &laquo;&nbsp;pour voir&nbsp;&raquo;. Et franchement le résultat est très sympa. En terme d&#8217;ergonomie, on est loin devant AJAX, HTML et CSS. Nous utilisons même des composants HTC de Microsoft pour faire des tableaux éditables ou le support du drag-and-drop. Avec Flex tout est plus facile, simple et propre. Et évidemment je peux faire tourner mon application dans Firefox, comme dans Internet Explorer.</p>
<p>En fouillant sur le web ce matin j&#8217;ai déjà reperé quelques blogs, et quelques sites sympas.</p>
<p>Kuler est un module pour sélectionner la couleur primaire et les couleurs secondaires d&#8217;un site web. Cela vous permet de faire un site &laquo;&nbsp;beau&nbsp;&raquo; et pas un site d&#8217;informaticien avec 3 couleurs moches.<br /><a href="http://kuler.adobe.com/">http://kuler.adobe.com/</a></p>
<p>Le blog de Bruce PHILIPS est très sympa car on suit au jour le jour ses progrès et ses découvertes avec Flex. Il a maintenant une sacré maitrise et j&#8217;y ai trouvé un bon tutorial pour faire la partie login de mon application.&nbsp;<a href="http://www.brucephillips.name/blog/index.cfm">http://www.brucephillips.name/blog/index.cfm</a>&nbsp;</p>
<p>Si vous voulez voir une liste des composants, des layouts et des charts de Flex vous pouvez regarder sur ce site: <a href="http://examples.adobe.com/flex2/inproduct/sdk/explorer/explorer.html">http://examples.adobe.com/flex2/inproduct/sdk/explorer/explorer.html</a>&nbsp;</p>
<p>Enfin pour terminer je voulais mettre ici en ligne le fichier SWF réalisé cette nuit, mais JRoller refuse que j&#8217;upload des SWF. J&#8217;ai donc simplement mis une capture d&#8217;écran&#8230; <br />Désolé pour l&#8217;image, j&#8217;essayerai de mettre un fichier SWF sur un autre serveur.</p>
<p><img src="http://jroller.com/resources/t/Trecollo/flex_karma01.jpg"/></p>
<p>Flex est simple à apprendre, et le Flex Builder me paraît franchement indispensable pour gagner du temps lors de la création des écrans. Cette technologie au premier coup d&#8217;oeil fonctionnera bien si du côté serveur,&nbsp;l&#8217;architecture est de type REST, si vous pouvez générer du XML ou encore mieux, si vous disposez de Web Services.<br />A tester donc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2007/03/24/flex2-premiers-pas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Client Riche: XUL, AJAX, Flash ?</title>
		<link>http://www.touilleur-express.fr/2005/12/02/client-riche-xul-ajax-flash/</link>
		<comments>http://www.touilleur-express.fr/2005/12/02/client-riche-xul-ajax-flash/#comments</comments>
		<pubDate>Fri, 02 Dec 2005 08:40:11 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Dev Web]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=88</guid>
		<description><![CDATA[J&#8217;ai assisté vendredi 25 novembre à une présentation de Valtech Training sur &#171;&#160;les Clients Riche, périmètre et solutions techniques&#160;&#187;. Cette présentation visait à nous présenter les dernières technologies pour porter ou réaliser un client riche.
Denis Peyrusaube de Valtech Training a tout d&#8217;abord présenté ce qu&#8217;est un client riche, pour expliquer ensuite XUL, AJAX, Flash, Java Web Start et enfin Eclipse SWT.
Je vais essayer de résumer sa présentation, en donnant au passage mon avis.
Qu&#8217;est-ce qu&#8217;un client riche ?
Un client riche est un système qui est hébergé sur un serveur pour faciliter ...]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai assisté vendredi 25 novembre à une présentation de Valtech Training sur &laquo;&nbsp;les Clients Riche, périmètre et solutions techniques&nbsp;&raquo;. Cette présentation visait à nous présenter les dernières technologies pour porter ou réaliser un client riche.<br />
Denis Peyrusaube de Valtech Training a tout d&#8217;abord présenté ce qu&#8217;est un client riche, pour expliquer ensuite XUL, AJAX, Flash, Java Web Start et enfin Eclipse SWT.<br />
Je vais essayer de résumer sa présentation, en donnant au passage mon avis.</p>
<p><b>Qu&#8217;est-ce qu&#8217;un client riche ?</b><br />
Un client riche est un système qui est hébergé sur un serveur pour faciliter les mises-à-jour et le déploiement, tout en offrant une interface riche à l&#8217;utilisateur. Il n&#8217;embarque pas toute la logique de l&#8217;application. La majorité des traitements sera effectuées côté serveur. Cependant l&#8217;ergonomie et la richesse fonctionnelle offertes à l&#8217;utilisateur sont très proches d&#8217;un client lourd classique.<br />
<br />
La conception d&#8217;une application en mode page au sens Web du terme tend à disparaître. Aujourd&#8217;hui une application doit offrir une ergonomie et une navigation par composant plutôt que par page d&#8217;état comme ce fut le cas au début des applications webs.<br />
<br />
Idéalement une techno doit proposer des composants graphiques de haut niveau tout en restant facilement déployable. D&#8217;autre part, quelque soit la techno retenue, la notion de conteneur sur le poste client apparaît. En règle général le navigateur internet est suffisant.</p>
<p><b>1.	XUL</b><br />
XUL (prononcer [Zool]) est le précurseur des technologies de présentation web. Il s&#8217;agit d&#8217;un langage XML décrivant des composants (Menu, ComboBox) destiné à remplacer le langage HTML. Dans les faits aujourd&#8217;hui, XUL est porté par la communauté open-source Mozilla, mais Microsoft s&#8217;y intéresse aussi.<br />
Un exemple de site utilisant XUL: <a href="http://www.georgenava.com/">http://www.georgenava.com/</a><br />
Ce site ne fonctionne que si vous avez Firefox ou Mozilla. Il ne fonctionne pas avec Internet Explorer.
</p>
<p><b>2.	AJAX</b><br />
AJAX (Asynchronous Javascript And XML) n&#8217;est pas réellement une nouveauté même si en ce moment c&#8217;est un sujet chaud dans la communauté Web. Au départ il ne s&#8217;agit que d&#8217;un article écrit par un consultant destiné à formaliser un mécanisme Asynchrone qui permet de rafraichir une page dans un navigateur sans devoir recharger toute la page. AJAX fonctionne avec Internet Explorer et Firefox car il s&#8217;agit ni plus ni moins que du? Javascript côté client. Premier avantage donc: la portabilité.<br />
AJAX du côté serveur n&#8217;impose pas de modèle de programmation. Il n&#8217;y a donc aucunes normes XML, ni DTD. Le message envoyé par le serveur est au format XML et le client le reçoit de manière indirecte. Il peut alors afficher des informations en utilisant du Javascript, du Dynamic HTML et des feuilles de style.<br />
Donc pour résumer: le serveur envoie un message XML, le navigateur le reçoit via un objet XMLHttpRequest de manière asynchrone. Une librairie Javascript modifie la page, change la couleur d&#8217;un combo, fait apparaître un menu déroulant ou masque un tableau par exemple.<br />
Puisqu&#8217;une démo est mieux qu&#8217;un long discours voici quelques sites utilisant AJAX:<br />
<a href="http://www.google.com/webhp?complete=1&#038;hl=en">GoogleSuggest</a><br />
Si vous tapez JAV puis vous attendez un instant, votre navigateur envoi au serveur ces 3 lettres. Le serveur retourne une réponse au format XML en utilisant un format propriétaire à Google. La partie Javascript d&#8217;AJAX dans le navigateur lit la réponse, construit alors un DIV en HTML (une boîte) et vous liste le nombre de site parlant de java, javascript&#8230;<br />
AJAX permet d&#8217;ajouter des mécanismes côté client pour ne recharger qu&#8217;une partie d&#8217;une page internet. Il existe aussi des librairies Javascript destinées à faciliter les développements d&#8217;application AJAX comme ScriptAcuLous (http://script.aculo.us/) ou surtout ProToType (http://prototype.conio.net/). Elles permettent de coder des fonctions de Drag-and-drop par exemple (http://wiki.script.aculo.us/scriptaculous/show/DragAndDrop)</p>
<p>Les inconvénients ?</p>
<ul>
<li>Pas de DTD/XSD côté serveur concernant le XML. Chacun fait ce qui lui plait.</li>
<li>Le Javascript est difficile à coder/débugger et n&#8217;est pas un langage très puissant.</li>
<li>Difficile à tester en phase de développement</li>
<li>Il existe des composants riches mais ils sont payant</li>
<li>Pertinence et pérennité du JavaScript dans 2 ou 3 ans ?</li>
</ul>
<p>Les avantages?</p>
<ul>
<li>Simple à mettre en ?uvre</li>
<li>Puissant</li>
<li>Effets intéressants offrant de nouvelles possibilités en terme d&#8217;ergonomie</li>
<li>Compatible Internet Explorer et Firefox dans la mesure où le code JS l&#8217;est</li>
<li>Communauté de développeur très active</li>
<li>Bientôt intégré dans des composants Java Server Faces (JSF) pour faciliter le codage.</li>
</ul>
<p>Outils AJAX:<br />
- ATLAS (Microsoft) framework intégré dans Visual Studio et .NET destiné à simplifier le développement d&#8217;application Web. A noter que Microsoft a annoncé que d&#8217;ici 2 ans, Office 13 sera majoritairement en mode serveur lourd-client riche et que c&#8217;est l&#8217;une des raisons qui font que Microsoft pousse cette techno. Voir l&#8217;article d&#8217;un des gourou de Microsoft http://weblogs.asp.net/scottgu/archive/2005/06/28/416185.aspx<br />
Est-ce un effet d&#8217;annonce de Microsoft ou vas-t-on voir un nouveau système pour créer une application riche ?<br />
<br />
- SAJAX: Toolkit de dév pour AJAX (http://www.modernmethod.com/sajax)<br />
<br />
- DoJoToolKit <a href="http://dojotoolkit.org">http://dojotoolkit.org</a>) API Javascript pour résoudre les problèmes de portabilité entre IE et les autres navigateurs.
</p>
<p><b>3.	Macromédia FLASH</b><br />
Sans doute pour moi la révélation de cette présentation. Je pensais que Macromedia Flash servait soi à faire un site joli et animé, soit à afficher des bandeaux de publicité lorsque Firefox bloque les pop-ups. Et bien non? nous sommes en 2005 et ce que j&#8217;ai vu était vraiment intéressant.<br />
<br />Flash est une techno créée par Macromédia (qui appartient à ADOBE) utilisant un plug-in installé sur un navigateur Web. Conçu à l&#8217;origine pour l&#8217;animation Web, Flash est un outil pour les graphistes ou les animateurs. Aujourd&#8217;hui l&#8217;évolution est le fait que Flash peut aussi servir à faire des applications type Client Riche.<br />
Exemple 1: <a href="http://www.clubmed.fr" target=22>Le site internet du Club Med</a> utilise Flash pour vous permettre de trouver un séjour sur mesure.<br />
L&#8217;évolution est du côté de la conception. La première monture du Studio Flash était destinée à des animateurs Web, avec une ligne de temps et des outils de déformation vectorielle. Ce qui est nouveau c&#8217;est la phase de développement et de rendu dynamique.</p>
<p>Il existe 2 solutions basées sur Flash: Macromedia Flex et Laszlo</p>
<p><b>Macromedia Flex</b>:<br />
Solution propriétaire et payante de Macromédia. Il s&#8217;agit d&#8217;un studio qui vous permet de construire votre page en utilisant des composants (Label, Buttons, ComboBox?).<br />
<br />
Flex se décompose d&#8217;un fichier MXML pour décrire l&#8217;interface et d&#8217;un fichiet ActionScript pour décrire ce qui se passe et les interactions entre les composants. Ces fichiers sont compilés par un conteneur de Servlet (comme JSP) pour générer un flux binaire de type Flash qui sera envoyé au client. Etant donné qu&#8217;il ne s&#8217;agit que d&#8217;une servlet il est donc possible de rendre dynamique une partie du contenu XML par exemple.<br />
<br />
Un plugin Eclipse pour FLEX est en cours de réalisation.
</p>
<p><b>OpenLaszlo</b> est basé sur le même système que Flex, à la différence prêt qu&#8217;il s&#8217;agit d&#8217;une initiative Open-source. Démo disponible à cette adresse : <a href="http://www.laszlosystems.com/demos" target=22>http://www.laszlosystems.com/demos</a>.<br />
La société LaszloSystem propose des services comme le fait Jboss Inc. en terme de support si nécessaire.<br />
Flash est finalement intéressant car les outils de conception de page existent déjà et permettent donc de bien séparer la partie GUI de la partie data. Cependant difficile de se rendre compte si les données dynamiques sont faciles à gérer ou non.
</p>
<p><b>4.	Java Web Start</b><br />
JWS ajoute à Java des fonctionnalités de déploiement, de gestion de cache et d&#8217;exécution distante. A ce titre c&#8217;est donc une technologie pour Client riche. JWS fonctionne via un navigateur internet ou non. Permet de mettre à jour rapidement les clients répartis, tout en ayant une richesse fonctionnelle complexe. <br />
En gros inconvénient, il faudra recoder un container pour remplacer ce qu&#8217;offre le navigateur Web (partie réseau, chargement du contenu, gestion Proxy, CSS?)<br />
JWS ne convient que si le client riche doit vraiment avoir des fonctions qu&#8217;un navigateur web ne peut pas offrir.<br />
En terme d&#8217;avantage, on revient au modèle client-serveur classique, ce qui est beaucoup plus facile à coder/débuger que via le Javascript par exemple.
 </p>
<p><b>5.	Eclipse Platform</b><br />
Eclipse est un éditeur Java bien connu mais surtout un moteur de rendu appelé Platform.<br />
Ce système est composé d&#8217;un ensemble de service, de widgets, de gestion des ressources qui permettent d&#8217;utiliser le squelette d&#8217;eclipse comme base de dévelopement de client lourd.<br />
D&#8217;autre part, il est possible d&#8217;intégrer d&#8217;autres plugins et donc d&#8217;enrichir son application facilement. A noter que l&#8217;on peut utiliser JWS pour installer une application basée sur Eclipse.</p>
<p>http://www.eclipse.org/platform/index.html</p>
<p><b>Conclusion</b><br />
Les clients riches seront fortement présent dans les années à venir car les navigateurs Web deviennent aussi de plus en plus puissant. La facilité de déploiement, l&#8217;absence de gestion de mise à jour sur le poste client et l&#8217;ergonomie riche sont les critères qui font un client riche. On parle beaucoup d&#8217;AJAX et je sais qu&#8217;il existe des composants JSF (côté serveur) qui permettent de s&#8217;interfacer via J2EE avec les applications métiers. Il sera donc certainement facile d&#8217;ici quelques mois de tester et voir si ce genre de solution peut nous intéresser.<br />
Flash via Flex ou Laszlo offre le meilleur résultat en terme de rendu côté client. N&#8217;ayant pas vu en détail le côté serveur, il est difficile d&#8217;estimer si cette technique est adaptée à des données très dynamique comme dans la finance. Java Web Start et Eclipse Platform sont deux solutions pour développer des clients riches sans retomber dans le modèle client-serveur.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2005/12/02/client-riche-xul-ajax-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

