Éviter les obstacles des applications Internet riches

Nous connaissons tous les multiples avantages des RIA pour l’entreprise. Les défis qu’il pose tiennent en un mot : complexité. Abordons la manière de les résoudre.

Les entreprises s'interrogent à propos des solutions de PaaS (Platform as a service) comme Force.com ou Google, où leurs données résident dans le Cloud. Jusqu'à peu, pour se doter de fonctions RIA elles devaient le faire elles-mêmes avec un outil de type Adobe AIR/Flex, JavaFX, ou Silverlight.

Le concept d'Enterprise RIA (Applications Internet Riches) est assez séduisant pour inciter les DSI à le considérer. Il ne faut cependant pas oublier que les plates-formes RIA actuelles impliquent essentiellement le côté client. Cachée sous une interface utilisateur séduisante - la partie émergée de l'iceberg - la complexité est immense. Ce client dissimule une multitude de composants en constante mutation, qui peuvent  vite anéantir les efforts et les espoirs placés dans cette technologie. Inadmissible, quand on veut améliorer les services et la compétitivité de son entreprise dans un climat économique tendu.

Le défi caché du couplage
Une architecture client/serveur est assez simple. Elle s'appuie sur une connexion permanente entre le serveur et le client. Lorsque ce couplage est fort, il n'est pas utile de gérer ou préserver de manière explicite les différents  états logiques. Dans une application Web, les traitements sont centralisés sur le serveur et le couplage avec le client est faible, voire inexistant. Lorsqu'elle s'appuie sur des processus courts et simples et que son interaction est limitée, une architecture Web standard et une gestion simplifiée des sessions suffisent. Les bandes passantes sont de plus en plus larges alors que les applications Web disposent de plus de ressources.

Avec Ajax par exemple, nous approchons le niveau d'interaction du client/serveur ou LAN. Google Suggest en est un bon exemple, qui suggère les termes les plus populaires au fur et à mesure de la saisie d'un mot dans le champ de recherche.

Il faut plus qu'une large bande passante pour faire fonctionner les applications métier à couplage fort et avec des dizaines champs interactifs par écran. Pour repousser cette limite, le traitement doit être réparti entre le serveur et le client.

In fine, vous retrouvez deux jeux de logiques séparés, physiquement et logiquement, et exécutés parallèlement sur le client et le serveur.

Ce nouveau client est certes plus intelligent. La gestion des états et des sessions est plus sophistiquée. Mais il a besoin de séquences continues d'instructions du serveur. Résultat : alors que les applications client/serveur traditionnelles s'appuyaient sur le savoir-faire d'un développeur métier, une application RIA non hébergée utilisant une plate-forme cliente, a aussi besoin de l'expertise de programmation système. Les coûts grimpent.

Suivre un seul chemin
Ne soyons pas pessimiste. Une nouvelle génération de plates-formes répond de manière globale au défi posé par cette navigation périlleuse entre les obstacles du RIA. Le choix "être ou ne pas être" existe aussi dans le Cloud. La différence réside dans le fait que ce type de plate-forme contient tous les composants de la solution, dont la partie immergée de l'iceberg. Il n'est pas nécessaire de les développer séparément. D'où "le bout en bout".

Il suffit de décrire la logique de l'application et de concevoir l'interface utilisateur. La plate-forme s'occupe du reste, sans les limitations de l'hébergement. Les utilisateurs choisissent le mode de déploiement. Avec une solution cohérente de bout en bout, il n'a jamais été aussi facile et gratifiant de surmonter les défis du RIA d'entreprise : mieux que les applications client/serveur les plus riches, disponible via HTTP. Où que résident leurs utilisateurs, employés ou partenaires, ils disposent de toutes les fonctionnalités. C'est un scénario où tout le monde gagne.