Inscrivez-vous gratuitement à la Newsletter BFM Business
La plate-forme de développement de clients riches d'Adobe offre une alternative intéressante aux frameworks Ajax tout en restant simple comparée à.NET et à Java EE. Un positionnement qui fait mouche, surtout avec l'arrivée des SOA en entreprise.
L'informatique se trouve de nouveau à un tournant. Les applications web traditionnelles sont de moins en moins bien acceptées par les utilisateurs qui refusent de perdre en efficacité uniquement pour faciliter leur déploiement. De plus, la recrudescence de machines Linux et de Mac pose à nouveau des problèmes de portabilité. L'architecture ' client riche ' prend donc progressivement la relève des mainframes, du client-serveur et du web. D'ici à 2008, ' 45 % des banques auront déployé des clients riches ', estime le Gartner Group et ' 70 % des utilisateurs plébiscitent son ergonomie ', note Ron Rogowski, analyste chez Forrester Research. Si cette architecture connaît un tel succès, c'est parce qu'elle répond à la fois aux utilisateurs et aux informaticiens. ' Elle comble les lacunes ergonomiques du web, tout en garantissant une excellente portabilité, un déploiement et une mise à jour aisés ', explique Emmanuel Biffiger, chef de projet à la banque Lombard Odier Darier Hentsch (LODH), qui a opté pour la technologie Flex d'Adobe. On distingue deux types de clients riches. Les Rich Internet Applications (RIA) s'exécutent au sein d'un navigateur. Ils reposent le plus souvent sur un mélange entre une interface graphique Dynamic HTML et des échanges client-serveur Ajax. De leur côté, les Rich Desktop Applications (RDA) s'exécutent au-dessus d'un socle propriétaire tel que le framework.NET 3.0 de Microsoft, Eclipse RCP, et Flex d'Adobe. Flex se distingue en gérant indifféremment RIA et RDA, alors que la plupart de ses concurrents se contentent du RIA. En production en entreprise depuis plus de trois ans, Flex est sans conteste la plate-forme de développement et d'exécution de clients riches RIA et RDA la plus aboutie du marché. C'est l'occasion de faire un point sur les premiers retours d'expérience en France.
L'utilisation : des applications métier ergonomiques
Flex permet de créer des applications en utilisant le langage MXML au sein de l'atelier de développement Flex Builder 2.0. Ces applications sont compilées au format Flash, puis exécutées sur le poste de l'utilisateur soit directement sur le bureau, soit au sein d'un navigateur. Le run-time déployé sur le poste client est le lecteur Flash qui équipe environ 98 % des ordinateurs. Contrairement aux idées reçues, Flex est surtout utilisé pour développer des applications métier et non des sites web grand public. D'ailleurs, les entreprises comparent rarement Flex aux frameworks Ajax, car c'est le client RDA qui les intéresse le plus. Des éditeurs tels Cegedim et Itesoft ont retenu Flex pour développer leurs progiciels. À chaque fois pour les mêmes raisons : productivité, ergonomie, et portabilité. Des atouts qui séduisent aussi les entreprises et les administrations. C'est notamment le cas de l'Office central pour la répression du trafic illicite de stupéfiants (OCRTIS), qui coordonne la lutte contre le trafic de stupéfiants en France. ' Nous nous sommes tournés vers Flex pour sa maturité, ses qualités ergonomiques, et sa portabilité ', résume Claude Maltese, commandant de police fonctionnel. L'OCRTIS devait en effet migrer une application critique ?" le fichier national des auteurs d'infractions à la législation sur les stupéfiants ?" développée il y a plus de dix ans en C++ sous MS-DOS. L'objectif étant d'ouvrir l'application au plus grand nombre. ' Nous devions nous affranchir des problèmes de compatibilité matérielle ou logicielle ', explique-t-il.Au-delà de la portabilité, c'est aussi la productivité de la plate-forme Flex qui attire. Comptant parmi les principaux éditeurs de livres en France, les éditions de La Martinière ont racheté Le Seuil début 2004. ' Nos technologies étaient hétérogènes. Nous avons donc décidé de standardiser nos applications clientes avec Flex ', explique Michel Jurine, DSI du groupe. ' C'est la technologie de client riche la plus aboutie. Et surtout, elle couvre à la fois RIA et RDA. Nous utilisons donc exactement la même technologie pour nos besoins internes ?" applications métier ?" et publics, et nos sites web, par exemple ', détaille-t-il. Les éditions de La Martinière ont notamment redéveloppé leur outil de gestion de catalogue (30 000 références, 200 utilisateurs internes) qui est au c?"ur de l'activité de l'entreprise. Une partie du contenu et des fonctionnalités de l'application métier est reprise sur ses vingt sites web publics. Le cas de la banque LODH est tout aussi emblématique. L'établissement recherchait une solution technique offrant le meilleur compromis entre client lourd et client léger pour développer une application de gestion des fonds de placement. ' Nous ne pouvions retenir un client lourd Java, et les outils de Microsoft ne collaient pas, car l'application devait pouvoir être intégrée dans notre portail Java sous la forme de portlets standards. Seul Flex, avec son lecteur Flash côté client et ses serveurs Java, répondait à l'ensemble de nos contraintes. De plus, c'était, et c'est encore aujourd'hui, la seule technologie RIA mature ', détaille Emmanuel Biffiger.
La mise en ?"uvre : la couche de présentation des SOA
Le client riche RDA est la couche de présentation de prédilection des architectures orientées services (SOA). La mise en ?"uvre d'une application Flex revient donc à créer une interface graphique et un système d'échange entre le client et les services sous-jacents. Tous les utilisateurs de Flex recourent à l'outil de développement Flex Builder proposé par Adobe. Cette version spécialisée d'Eclipse IDE est un outil RAD Wysiwyg qui permet de créer les interfaces comme dans Visual Studio, par simple glisser-déplacer. Les écrans sont décrits avec le langage XML de Flex (MXML), et les règles et traitements métier reposent sur ActionScript, un dérivé de JavaScript. Adobe fournit un jeu complet de composants graphiques que l'on peut adapter à sa charte à l'aide de feuilles de styles. Pour accélérer le développement, certaines entreprises s'appuient sur des frameworks Flex : Cortex (AlligrA) pour les éditions de La Martinière, Cairngorn (Adobe) pour LODH, etc. Le développement de l'interface est ainsi encore plus rapide. L'accès aux données et aux services sous-jacents nécessite une attention particulière car de nombreuses architectures sont possibles. Adobe propose un bus évolué ?" Flex Data Services (FDS) ?" qui prend en charge les échanges entre le client Flash et les services dont il masque en partie l'hétérogénéité. LODH y a eu recours ' pour la connexion avec des services Java existants qui sont aussi utilisés par d'autres applications ', explique Emmanuel Biffiger. L'intérêt de FDS est qu'il s'interface nativement avec JMS et d'autres protocoles tels que HTTP, Soap, etc. Il joue donc le rôle d'un ESB ' light '. ' FDS répond également à nos contraintes d'authentification, de fail-over et de load balancing ', ajoute-t-il. L'OCRTIS utilise FDS pour les mêmes raisons. Mais le recours à FDS n'est pas obligatoire. La Martinière et Itesoft lui préfèrent des services web traditionnels sur HTTP en Rest ou Soap. ' Les échanges sont paramétrés directement à l'aide de l'objet de Flex dans l'interface cliente. Les accès sont asynchrones ', détaille Yves Dieterich, responsable département produits chez Itesoft.
Les ressources : quelques minutes pour créer un écran
Grâce à l'atelier RAD et à FDS, la durée des projets est en général plus courte qu'un développement client-serveur traditionnel. L'OCRTIS a ainsi refondu son application de fichier central en six mois, ' grâce notamment aux composants graphiques existants '. Plus lourd, le projet des éditions de La Martinière s'est étalé sur un an. ' Le prototypage est plus rapide et on gagne en réactivité car le résultat est perceptible plus vite par les utilisateurs ', constate Michel Jurine. Côté ressources, la banque LODH a fait appel à deux développeurs Flex, un EJB et un XSL/XSL-FO. Disposant d'une équipe informatique en interne, elle a réalisé l'ensemble des développements. La prise en main de Flex est en effet assez rapide pour des développeurs chevronnés. ' Une semaine a suffi pour former nos développeurs Java. Après quelques jours de tâtonnements, ils étaient opérationnels ', constate Didier Fleur y chez Cegedim. En revanche, La Martinière et l'OCRTIS ont fait appel à un prestataire (AlligrA) car, ' bien que l'apprentissage soit plus rapide qu'en VB, nous n'avions pas les compétences et la disponibilité suffisantes en interne ', synthétise Michel Jurine. Le passage à un développement Flex nécessite en effet de maîtriser à la fois une nouvelle architecture et une nouvelle plate-forme de développement.
Les écueils : un poste de développement gourmand
Globalement, les entreprises rencontrent peu de difficultés dans la mise en ?"uvre de leurs projets. Les premiers utilisateurs de Flex ont essuyé les plâtres entre Flex 1.0 et 2.0. Mais aujourd'hui, Flex 2.0 est stabilisé. L'environnement de développement Eclipse sur lequel est basé FlexBuilder 2.0 requiert cependant des machines de développement très puissantes. ' Comptez un Celeron 3 GHz et 1 Go de RAM ', conseille Michel Jurine. Finalement, c'est surtout l'architecture client riche en elle-même qui pose les plus grosses difficultés. Il a fallu de nombreux mois aux entreprises pour comprendre ses tenants et ses aboutissants. Puis, il leur a fallu créer certains services pour exposer des sources de données et des applications. Un travail souvent facilité par Flex Data Services.
Les gains : un client léger aussi riche qu'un lourd
Pour Cegedim, dont le métier est de développer des logiciels, ' nous développons l'interface cliente plus vite qu'auparavant et nous gagnons en maintenance grâce à l'homogénéisation des langages. À rendu égal, Flex permet clairement d'augmenter la productivité par rapport à une approche Java Struts/JSP ', estime Didier Fleury. L'éditeur apprécie également le gain de productivité apporté par les services prédéveloppés comme FDS, la portabilité du code et la facilité de déploiement (pas de recompilation à chaque modification de l'application).Bien qu'évoluant dans un contexte très différent, l'OCRTIS apprécie également la facilité de maintenance, la productivité ainsi que la portabilité de Flex. Un point qui a fait mouche aux éditions de La Martinière : ' La réelle portabilité de Flash est intéressante lorsqu'on gère un parc interne constitué, pour un quart de Mac, et trois quarts de PC ainsi que des sites web grand public ', note Michel Jurine. ' Ce qui est intéressant avec Flex, c'est que cette portabilité est réelle. On n'y pense même pas lorsque l'on développe et déploie l'application ', ajoute-t-il. De quoi faire des envieux chez les développeurs Java...
Votre opinion