Inscrivez-vous gratuitement à la Newsletter BFM Business
La nouvelle génération de client lourd de type Rich Desktop Application s'intègre dans une architecture SOA de manière efficace. Elle se différencie grâce à sa souplesse pour travailler en mode connecté ou déconnecté et pour ?"uvrer avec différents protocoles réseau.
Quelle place accorder au poste client dans une architecture orientée services ? D'un côté, les applications serveur gagnent en souplesse grâce au couplage lâche apporté par les ' web services ', et grâce à la généralisation des bus interapplicatifs. Toutefois, cette architecture ne dicte pas son choix quant à la technologie cliente. Si les clients Rich Internet Application semblent indiqués, le client lourd est une option possible. André Nedelcoux, architecte senior chez Octo Technology, souligne : ' Les architectures SOA donnent plus de souplesse quand à la localisation des services, mais on peut parfaitement mettre en place les technologies RDA sur les architectures SOA. '
Microsoft découple le client du serveur
Toutes les plates-formes Rich Desktop Application modernes ont les capacités à consommer des services web, peu importe s'ils sont Soap ou Restful. Mac OS X dispose d'un framework complet pour y accéder, et, depuis sa mouture 6, Java s'est beaucoup amélioré quant à l'invocation des services web Soap ou Restful. La librairie JAX-WS invoque des services web délivrés par les serveurs, mais également d'en exposer. ' Un miniserveur web expose facilement un service web sans avoir besoin de Java EE, mais aussi l'utilisation de services web asynchrones, ce qui peut être très important pour ne pas bloquer une IHM en attente des données du serveur ', explique Alexis Moussine-Pouchkine, architecte Web Services Java chez Sun Microsystems.Avec Vista et sa couche de communication WCF (ex-Indigo), Microsoft a cherché à introduire plus de souplesse au niveau du client quant à l'accès aux ressources réseaux. Une application qui a recours à WCF pour échanger des données avec un serveur peut désormais le faire selon divers modes définis par des contrats de données et de services. Une approche intéressante, même si Sami Jaber, architecte chez DNG Consulting, souligne qu'un tel couplage lâche entre client et serveur n'est pas encore une des priorités des entreprises : ' Beaucoup de SI sont encore structurés autour d'outils tels Tuxedo, MQSeries, Tibco, JMS, Corba-RMI, etc. Une approche qu'on peut qualifier de pragmatique. 'Si l'architecte reconnaît la qualité du socle Microsoft, il en souligne aussi la lourdeur : ' WCF s'appuie encore et surtout sur un couplage lâche qui met les services web au centre du socle. Il demande au développeur un paramétrage plus complexe que par le passé et doit écrire un contrat de données et un contrat de services, pour finalement n'utiliser que le protocole. ' André Nedelcoux, d'Octo Technology, ajoute : ' Si avec WCF on peut optimiser les échanges avec la sérialisation binaire et le mode asynchrone, il n'est pas un point de passage obligé. De même, les standards WS* sont très peu utilisés dans les entreprises : pourquoi faire compliqué quand on peut faire simple ? '
Google et Adobe en mode déconnecté
Les nouveaux entrants ont suivi une démarche inverse en adaptant leurs technologies RIA à un fonctionnement autonome. Avec le plug in Gears, Google a d'ores et déjà consacré la fusion d'Ajax et du client riche en proposant un moyen d'exécuter des applications en mode déconnecté. Adobe a bien saisi l'intérêt d'intégrer une technologie de synchronisation des données à son runtime AIR, qui inclut une base locale SQLite assurant le rôle de cache de donnée jusqu'à la reconnexion du poste et sa synchronisation. Un atout indéniable pour les utilisateurs mais aussi pour les applications serveur. ' Disposer d'une base en local permet de réduire la bande passante consommée, assure Enrique Duvos, évangéliste plate-forme SR d'Adobe. Seules les données nouvelles sont envoyées sur le réseau et, du même coup, on abaisse la charge des serveurs. 'En outre, Adobe s'appuie sur AMF, protocole binaire par opposition aux échanges XML des services web. ' La taille des paquets XML est supérieure et l'échange de données XML impose un encodage puis une analyse des flux de données très gourmandes en ressources machine '. Adobe a récemment annoncé la publication de ce protocole ainsi qu'Adobe Cast, son mécanisme pour pousser des messages vers le poste client.
Votre opinion