01net Pro Entreprise informatique
01net. web avec Google
Actualités gestion et logiciel informatique professionnel
Offre et recherche Emploi informatique internet
Salon conférences inofrmatique IT ebusiness 01
Informatique et TIC pour les PME TPE
Vidéos reportage entreprise acteur informatique
Retrouvez tous les services 01Net dédiés aux professionnels !
Télécharger logiciels Pro et progiciels
Livres blancs e-commerce informatique et nouvelles technologies
Retrouvez l'ensemble des dossiers de la rédaction 01net Entreprise
Les synthèses des bonnes pratiques sur les sujets IT du moment

Adobe et Microsoft convergent vers le client riche

Apollo et .Net3.0, avec sa couche de présentation WPF, traduisent la même vision du client riche. Mais chacun espère imposer ses spécificités.

envoyer
par mail
imprimer
l'article
Ces deux-là ne se lâchent plus. Adobe et Microsoft lancent presque simultanément leur nouvelle plate-forme de développement : respectivement, Apollo et .Net 3.0, avec sa couche de présentation graphique WPF (Windows Presentation Foundation). Deux architectures qui privilégient le client riche. Leurs éditeurs se rejoignent aussi dans l'analyse du marché. Pour Kevin Lynch, architecte des logiciels d'Adobe : ' Avec l'émergence des architectures orientées service, les entreprises redécouvrent l'intérêt d'un client ergonomique pour leurs applications. ' Et Jean-Christophe Cimetière, chef de produit plate-forme .Net de Microsoft, renchérit : ' Les moyens que l'on met à la disposition des utilisateurs pour accéder aux services d'une SOA sont cruciaux, car ils influent directement sur leur productivité. ' Après l'infrastructure, Microsoft s'efforce de proposer une couche cliente évoluée pour consommer ces services.

Un client riche et facile à déployer

L'approche SOA dissocie fortement les services (règles et objets métier), situés sur le serveur, de l'interface utilisateur qui les manipule (présentation et logique de navigation). Côté services, les jeux sont faits. Java, .Net et les outils d'intégration d'applications se sont imposés.
En revanche, concernant l'aspect utilisateur, ' aucune technologie n'a encore percé ', souligne Sami Jaber, le directeur technique de la SSII Valtech Toulouse. Précisément, deux options s'opposent : les Rich Internet Applications (RIA) et les Rich Desktop Applications (RDA). Les premières recourent à un navigateur comme socle d'exécution mais aussi pour accéder aux services sous-jacents. Elles répondent aux contraintes des applications grand public, qui doivent reposer exclusivement sur des standards.
Les secondes, elles, se basent sur un socle d'exécution propriétaire, tel Apollo, ou sur le framework .Net, que Microsoft pousse sur le poste client. ' Les RDA proposent le meilleur compromis possible entre un client lourd classique, qui apporte une forte interactivité, de bons temps de réponse et une ergonomie soignée, et un client léger de type RIA, qui garantit la simplicité de déploiement quelle que soit la diversité des postes de travail ', détaille Emmanuel Biffiger, chef de projet chez Lombard Odier Darier Hentsch. Cette banque a développé une application métier basée sur la technologie d'Adobe.
Java n'a pas rencontré le succès escompté sur le poste client. Adobe et Microsoft convoitent donc désormais le marché des RDA. Il est vrai que l'enjeu dépasse les seuls ordinateurs pour concerner tous les périphériques mobiles : téléphones mobiles, assistants personnels, lecteurs MP3, appareils photo numériques, entre autres. ' L'éditeur qui imposera son socle d'exécution de client riche se retrouvera peu ou prou dans la situation de Microsoft il y a vingt ans ', prédit Jérémy Chatard, le directeur technique de la société de services informatiques Breek.

Deux approches voisines

En plus de partager une même vision du marché, Adobe et Microsoft adoptent des approches techniques voisines. Leurs socles de développement (framework, interfaces de programmation, machine virtuelle) s'installent sur le poste de l'utilisateur et fournissent une couche d'abstraction qui assure la portabilité de l'application. Celle-ci n'est plus constituée de binaires natifs, mais d'un code précompilé, interprété dans la machine virtuelle. Au-delà de cette architecture, Apollo et le framework .Net 3.0 sont aussi les premières plates-formes des deux éditeurs à rassembler leurs interfaces de programmation et leurs moteurs dans un seul socle d'exécution. ' WPF unifie complètement la manipulation et l'affichage des documents, des flux multimédias, et des applications ', déclare Dick Lantim, architecte chez Microsoft France. Apollo, lui, regroupe un navigateur web compatible Ajax, un moteur PDF, et le moteur Flex-Flash dans un seul environnement d'exécution. ' Cela permet à n'importe quel développeur de créer des applications en utilisant les technologies qu'il maîtrise déjà ', précise Mike Chambers, responsable produit chez Adobe.

Des écrans décrits en XML

Pour faciliter la fusion de leurs technologies au sein d'un seul socle de développement, tous deux recourent à un langage de description d'écrans au format XML : MXML pour Apollo, et XAML pour WPF. Ces langages intermédiaires occultent les technologies sous-jacentes, dont l'hétérogénéité est prise en charge par le compilateur. ' Ce qui accroît l'efficacité des développeurs et facilite la maintenance, car l'application est mieux structurée ', argumente Jeremy Chone, responsable produit et stratégie Flex chez Adobe. La couche de présentation et la logique métier sont ainsi isolées l'une de l'autre. Mais XAML et MXML ne jouent pas le même rôle dans la stratégie des deux éditeurs. Chez Microsoft, XAML est à la fois un langage de description d'interfaces et un langage pivot entre développeurs et graphistes. ' Le logiciel de CAO Autodesk et le logiciel graphique Illustrator convertissent, par exemple, leurs fichiers dans ce format ', note Dick Lantim. Autre différence : ' Le code XAML n'est pas prévu pour être écrit à la main, mais plutôt pour être généré en mode Wysiwyg ', précise le consultant indépendant Mike Pelton, l'un des spécialistes mondiaux du langage. A l'inverse, ' MXML est tellement concis que l'on peut construire une cinématique fonctionnelle de l'application directement en MXML au lieu d'une simple maquette statique, estime Rémi Claverie, consultant chez Alligra, SSII spécialiste de Flex. Une démarche impossible avec d'autres technologies. '
La description XML de l'écran est enrichie avec un langage spécifique, qui gère l'interactivité de l'application, basée sur des événements serveur et utilisateur ?" C# ou VB.Net pour Microsoft, et Actionscript 3.0 pour Adobe. ' Un développeur se sent plus proche de WPF, car C# est un langage évolué. Peu d'entre eux apprécient Javascript ', souligne Sami Jaber, chez Valtech Toulouse. De plus, l'attrait d'Ajax pousse des milliers de développeurs à se former à Javascript, le langage utilisé par Adobe au sein de Flex et d'Apollo. Puis le code et les écrans sont compilés avant d'être affichés sous forme vectorielle par un moteur de rendu spécialisé (.Net Framework et la machine virtuelle CLR pour l'un, et Flash Player pour l'autre). Adobe et Microsoft sont les seuls à proposer cette approche vectorielle. Chez Microsoft, elle participe à tirer pleinement parti de la carte graphique du poste client. Ce qui soulage le processeur principal ?" cette démarche s'opère au détriment de la portabilité. A l'inverse, Apollo s'appuie sur le seul processeur central du poste utilisateur et propose ainsi une technologie portable. Conscient de l'enjeu de la portabilité, Microsoft vient d'annoncer une version dédiée de son moteur WPF. Baptisée WPF/E (pour Everywhere), elle fonctionnera sur internet Explorer, Firefox, et Safari en version Windows ou Mac OS. On devrait la retrouver sur les périphériques mobiles. La version finale de WPF/E ne sera pas disponible avant la mi-2007, Adobe dispose donc encore d'une belle avance. Surtout en matière de portabilité avec Flash Light pour les téléphones mobiles, et Flash Player pour les équipements dotés de Pocket PC.

Une même cible : les développeurs et les graphistes

Les deux éditeurs ont également élargi leurs gammes d'outils pour mieux couvrir le cycle de vie des applications. Adobe s'appuie sur Eclipse IDE pour proposer Flex Builder 2.0, un atelier de développement rapide, qui génère le code des interfaces en les dessinant. Une fonctionnalité qui rappelle le mode Wysiwyg de Visual Studio .Net. Adobe cible enfin les développeurs. A l'opposé, Microsoft a renforcé son environnement de développement par une gamme complète d'outils destinés aux graphistes. Expression Graphic Designer et Expression Interactive Designer facilitent, par exemple, la création des interfaces XAML. Ils rappellent les outils de création d'Adobe. Les deux éditeurs proposent aussi des protocoles d'échange optimisés entre leur client riche et les services sous-jacents : Flex Data Services (FDS) chez Adobe, et Windows Communication Foundation (WCF) chez Microsoft.
' Notre client riche WPF se connecte aux sources de données et services sous-jacents via des services web synchrones ', expose Frédéric Cailhol, responsable du département logiciels métier à la direction des systèmes et des technologies de l'information (DSTI) des Autoroutes du sud de la France. Et de détailler : ' Cette architecture répartit les traitements entre les clients et le serveur tout en respectant une architecture trois tiers. Elle s'appuie notamment sur un bus de message MSMQ pour les échanges asynchrones, permettant ainsi de fonctionner en mode événementiel. Une architecture particulièrement bien adaptée à SOA. ' C'est d'ailleurs à ce niveau ?" la liaison entre le client et les services ?" que les options techniques des deux éditeurs divergent le plus. Flex Data Services (FDS) est constitué d'un ensemble de protocoles évolués et faciles à manipuler (push, échanges synchrones et asynchrones, cache de données local, etc. ), qui s'appuient en back office sur un service de bus de type JMS. Adobe donne le runtime Apollo, mais il vend FDS et d'autres services complémentaires ?" Livecycle (gestion des droits et workflow), Flash Media Server (streaming), Connect (conférence web), etc. A l'inverse, Microsoft a pris le parti de déployer son framework .Net 3.0 complet et gratuit sur le poste de l'utilisateur. N'importe quel service peut donc être déplacé sur le poste client : moteur de workflow, logique métier, base de données, etc. ' Nous croyons à l'émergence du peer to peer pour les applications d'entreprise ', révèle Jean-Christophe Cimetière.

Mais que fait donc le W3C ?

Le match s'annonce serré entre Microsoft et Adobe. D'un côté, Apollo peut compter sur sa portabilité, sa légèreté, son ouverture, ses performances, et sa base installée. Mais il lui reste à convaincre les développeurs. ' Apollo est un cadre idéal pour la migration de clients lourds vers des clients riches. Il permet notamment de développer des applications métier critiques en respectant les habitudes des développeurs Java et C# ', confirme Yann Chevalier, consultant et formateur Flex chez Baao.com. ' Mais Adobe va devoir démontrer que l'effet " skip intro " de Flash appartient au passé. ' Il multiplie donc les partenariats ?" avec Oracle et SAP, notamment. La nouvelle interface utilisateur de mySAP ERP repose en partie sur Flex. WPF bénéficiera des migrations vers Vista. WPF pâtit de sa complexité et de sa faible portabilité. Mais sa richesse fonctionnelle, son langage de développement sont une force pour les entreprises.
Deux facteurs extérieurs risquent toutefois de ralentir la progression de WPF et d'Apollo : le succès des autres technologies émergentes, comme Eclipse RCP, ou encore le réveil du W3C. En hibernation depuis quelques années, le consortium aurait pourtant intérêt à standardiser un navigateur web de deuxième génération qui reconnaîtrait Ajax, un langage XML de description d'interfaces, un cache de données local...
Bref, ce que réclament depuis des années les développeurs, et qui ne trouve finalement d'écho que chez les éditeurs de solutions propriétaires. Reste les initiatives isolées. Ainsi, la fondation Mozilla est-elle en train d'intégrer le moteur Javascript de Flash 9 dans le navigateur Firefox.
redaction@01informatique.presse.fr

Microsoft cible avec Expression Interactive Designer et Expression Graphic Designer les graphistes et les spécialistes de l'interface utilisateur. Ces nouveaux outils dessinent les écrans des applications .Net 3.0 en mode Wysiwyg. Le code XAML généré s'exécute sur le poste client.

Positionné initialement sur le marché des RDA avec WPF, Microsoft rejoint Adobe sur marché des RIA avec WPF-E, version allégée de WPF. Elle s'exécute au sein d'un navigateur standard et concurrence ainsi Flash.

Adobe vise les développeurs avec Flex. Cette technologie développe des applications de gestion interactives et ergonomiques. Adobe offre un atelier de développement Wysiwyg basé sur Eclipse (Flex Builder), qui complète Illustrator, et un bus de service (Flex Data Services), reliant son client riche aux services sous-jacents.

Positionné à l'origine sur le marché des RIA avec Flash, Adobe rejoint donc Microsoft sur le marché des RDA avec Flex et Apollo.

Une révolution ergonomique

' 70 % des utilisateurs plébiscitent l'ergonomie des clients riches ', affirme Ron Rogowski, analyste chez Forrester Research. L'engouement est dû aux lacunes des navigateurs web. Les initiatives se multiplient chez les éditeurs et en entreprise. La capture de gauche montre ce qu'il est possible de faire avec la couche de restitution graphique WPF de Microsoft. Celle de droite présente la nouvelle interface de MySAP ERP, fruit d'un développement entre SAP et Adobe.

Glossaire

Il combine les avantages du client-serveur (puissance de traitement du PC, ergonomie, etc. ) et ceux du web (facilité et légèreté de déploiement) dans un socle d'exécution ouvert (RIA) ou propriétaire (RDA).

Application s'exécutant sur le poste client au-dessus d'un environnement d'exécution, tel le le framework .Net avec la machine virtuelle CLR, Apollo, Eclipse RCP, etc. Pour l'utilisateur final, un RDA ressemble à un binaire natif (accès au système fichiers, MDI, etc. ).

Application s'exécutant dans un navigateur et reposant en général sur trois architectures différentes : DHTML pour l'interface, Ajax pour les appels de services, et Flash pour les graphiques temps réel et le multimédia.

Architecture orientée autour de l'exposition de données et de traitements (ou processus) sous la forme de services métier. Puis ils sont consommés par d'autres services côté serveur, ou par des clients riches, qui les assemblent directement sur le poste de l'utilisateur.

Témoignage : Il a choisi Adobe - Emmanuel Biffiger (banque Lombard Odier Darier Hentsch) : ' le plug in Flash se fond sans peine à notre application client riche '

' Pour optimiser la gestion des fonds qu'administre notre banque et gagner en productivité, nous avons adopté dès 2004 une architecture de type client riche. Utilisée par 50 personnes, notre nouvelle application a nécessité cinq années-homme de développement, réparties entre deux développeurs Flex, un développeur EJB, et un développeur XSL. A l'époque ?" et cela reste vrai aujourd'hui ?", seul Flex était mature et répondait à nos exigences. Côté client, il se déploie aisément via le plug in Flash. La technologie de Microsoft n'offre pas le même degré de portabilité. Côté serveur, Flex Data Services est parfaitement compatible avec J2EE. Nous l'utilisons pour nous connecter à des services Java existants et profiter des mécanismes d'authentification et de montée en charge intégrés. '

Témoignage : Il a choisi Microsoft - Frédéric Cailhol (DSTI) : ' WPF a accru de 30 % notre productivité '

' Notre application WPF positionne 40 véhicules d'intervention en temps réel sur une carte grâce à leur position GPS. Elle réalise des calculs temps réel complexes sur le poste de l'utilisateur : durée entre deux passages sur le réseau supervisé, sélection d'un véhicule en cas d'incident, etc. Ces informations sont affichées sur la carte sous la forme d'un graphique interactif. Grâce à WPF, nous avons économisé environ 30 % des ressources de développement, tout en accédant à des fonctionnalités inexistantes avec Winforms ou GDI+ (outils de Win32 ?" NDLR). Il y a donc un réel intérêt à migrer vers la couche graphique de Windows Vista. L'approche homogène de Microsoft permet, en outre, d'utiliser les mêmes outils de développement quelle que soit la nature du projet. '

Avis d'expert : Carl Zetie, analyste chez Forrester Research

C'est l'un des spécialistes reconnus des questions d'architecture et de développement.

' Les applications internet riche comblent le fossé qui existe entre les départements informatiques et les utilisateurs '

' Les premiers ont toujours privilégié des architectures limitant l'effort de déploiement et de maintenance. Les seconds préfèrent les interfaces riches et ergonomiques, qui accroissent leur productivité. Flex (le c?"ur d'Apollo ?" NDLR) est explicitement conçu dans le but de construire des applications dentreprise. '

' Flex pourrait devenir le standard de facto des clients riches '

' Et cela, grâce à sa richesse fonctionnelle et au large déploiement du lecteur Flash. Mais les autres éditeurs ?" Microsoft en tête ?" ne lui laisseront pas le champ libre. Si les développeurs commencent à adopter Flex comme socle de client riche, Microsoft réagira, et imposera sa solution comme un deuxième standard de facto. '

publicité
Nos partenaires