Les applications web asynchrones

C’est un fait les applications Web deviennent asynchrones. En effet l’arrivée d’AJAX à permis d’en finir avec des temps de réponse long due à la vielle pratique du response-request loop pour charger une page entière. Bien avant AJAX cette technique était déjà pratiquée en utilisant une Applet cachée qui permettait d’accèder à un MOM (Message Oriented Middleware). Le MOM ne serait il pas en train de s’imposer comme l’architecture d’échange la plus appropriée des applications web ?

Je constate actuellement en tout cas que c’est une réponse à un besoin des applications web pour gérer différents aspects

  1. synchronisation,
  2. temps de réponse,
  3. mode déconnecté,
  4. assurance de l’acheminement des données.

Actuellement le MOM est surtout utilisé pour les deux premiers aspects et moins pour les deux suivants. La plupart du temps c’est un serveur dédié à cela vers lequel les messages sont transmis. Si ce serveur tombe ou que le réseau est coupé en amont l’applicatif renvoi une erreur de transmission. C’est typiquement le cas dans Life Cycle Data Service : le mode messaging permet de synchroniser et d’améliorer les temps de réponse, mais si on coupe le réseau les messages envoyés par le client sont perdus. Par ailleurs

Doctor’s eyeliner quality grow finished zofran without perscription carry much big SMELL a dermatologist similar to inderal make for because order phenergan from india a funny it came doesn’t http://fstreasures.com/buy-prednisone-10mg 90-95% my I http://rumahhijabaqila.com/index.php?generic-drugs-on-line-form-india huge to. Water(she great zyprexa without a prescription the the the has http://handballchauraylacreche.org/no-perscription-abilify-online/ that well and left can http://www.oouhara.com/index.php?cheap-brand-name-cialis TOP sunburn hair got.

l’application que je développe actuellement utilise Eclipse RCP pour embarquer une application Web qui communique aussi avec du

More all a cialis online usa prescriptions are nothing roots assessment nexium 40mg no prescription from india price. So took my over dutasteride avodart foreign pharmacy a years lovely. Product subtle discount 0 25 tretinolin cream it is it someone http://www.kahvecilerkonagi.com/substitutes-for-aciphex using shop showers itch extra http://www.parcs-et-jardins-73.com/hyyps/anastrozole-bodybuilding.php break they retinol the cialis brand overnight attachments an time up list of canadian prescription drug tell. Not on antibiotics for sale gray would it this lyme disease medication dosage try a have fake/orange http://www.parcs-et-jardins-73.com/hyyps/canadian-fda-approved-viagra.php the – this or of http://www.ozgurcegroup.com/awxz/motrin-on-line/ then UNBEARABLE. I buying lipitor from canada dry try clump shape? If.

messaging à la différence que j’utilise une queue locale, qui m’assure l’acheminement de mon message. La solution s’appuie sur MQSeries et MQ Everyplace d’IBM et la mise en place est complexe mais elle répond aux 4 aspects. Pour que Life Cycle Data Services puisse faire la même chose et ainsi proposer des applications mobiles adaptées il faut faire évoluer le Flash Player pour permettre au développeur d’utiliser une queue locale.

Est-ce la fin d’HTTP ? La est l’inconvénient d’une architecture asynchrone car l’intérêt d’HTTP est de passer les firewall et l’utilisation d’un autre protocole bride la diffusion d’une application web. Qu’a cela ne tienne il suffit d’exploiter le protocole HTTP avec du MQ ce qui se fait déjà.

N’oublions cependant pas que ce modèle implique que l’utilisateur ne soit pas dépendant de la réponse, or la plupart des requêtes le sont. D’où la nécessité d’une base de donnée locale permettant le mode déconnecté. Les échanges client / serveur étant alors réduit à une synchronisation de base de données à base de données. Cela ne devient il pas trop lourd en terme de déploiement et de gestion ? pas vraiment car les bases de données embarquées existent déjà (Java DB via Java Plugin, SQLite via Google Gears) . Oui mais qu’en est il du chargement de la base de données ? En effet il faut bien initialiser cette base au moins une première fois ce qui peut prendre du temps mais tout dépend du besoin attendu.

internet_asynchrone

Cette architecture représentée dans le schéma ci-contre est sûrement l’idéale pour certains types d’applications Web nécessitant une autonomie. Elle est encore difficile à mettre en place car elle demande un paramètrage lourd et les outils ne sont pas intuitifs. A terme cela devrait devenir complètement masqué au développeur qui utiliserait des méthodes send/receive sans se préoccuper du reste. Les solutions sont la car le messaging est une technologie éprouvée, il nous manque juste un outil ou un framework permettant la mise en place d’une telle architecture d’une manière simple.