Samedi 16 décembre 2017
NASDAQ : 0.0 0   nasdaq0 %
RECHERCHE
OK
 
NEWSLETTER
newsletter
Abonnez-vous gratuitement
à notre newsletter
hebdomadaire - Cliquez ICI
Indexel
  • DOSSIERS
  • PRATIQUE
pub Publicité
 

APPLICATIONS

Ajax supporte enfin le mode déconnecté

Imprimer Envoyer à un ami Contacter la rédaction
Par Frédéric Bordage le 22/11/2006 - indexel.net
 

Les frameworks Ajax les plus avancés commencent à proposer un cache local de données pour faciliter le travail hors connexion. Utile pour travailler dans le train, l'avion ou au bout du monde.

 

Alors que de plus en plus d'applications web reposent sur l'architecture Ajax (Asynchronous Javascript And XML), une question fondamentale reste en suspend : comment proposer aux utilisateurs un mode déconnecté ? C'est-à-dire, comment leur permettre d'utiliser leurs applications favorites sans aucune connexion internet ? La réponse à cette question est fondamentale car elle influence souvent le choix d'une technologie de RDA (Flex, Eclipse RCP par exemple) plutôt qu'une technologie de RIA (Ajax). Pour bien comprendre le problème, rappelons que les cookies sont théoriquement le seul mécanisme permettant de stocker jusqu'à 4 Ko de données dans un fichier texte écrit dans une zone réservée et sécurisée du système de fichier de l'ordinateur cible.

 

Des solutions commencent à émerger

 

Heureusement, face à l'intérêt d'un cache de données local, des solutions commencent à émerger. La première est le fruit des ingénieurs de Tibco qui ont inclus à leur framework General Interface un système de cache de session reposant sur un fichier XML. Les données sont écrites dans le cache du navigateur, dans un fichier XML facilement manipulable. Bien entendu, cette approche nécessite une machine puissante pour "parser" rapidement les données XML. Mais le principal inconvénient consiste dans le fait que l'utilisateur peut facilement faire varier la taille du cache de son navigateur de 1 Mo à plusieurs Go.

 

La seconde méthode repose sur la capacité des Shared Objects (FSO) du lecteur Flash Player à stocker 100 Ko de données en local sans rien demander à l'utilisateur (réglage par défaut du lecteur Flash. Avec son accord, il est possible de stocker des Go de données en local. La librairie Javascript Ajax MAssive Storage System (AMASS) repose sur ce principe. Elle utilise une applet Flash cachée pour stocker ses données. Grâce à cette approche, l'information persiste sur le disque dur même après la fermeture du navigateur. Côté sécurité, les données sont privées et ne peuvent être manipulées que par le domaine qui a permis de les sauvegarder. Cette librairie fonctionne au sein d'Internet Explorer 6 et Firefox lorsque qu'un lecteur Flash 6 (ou supérieur) est installé (95 % des ordinateurs). A noter aussi l'Ajax Client for Flex Data Services qui permet de relier un objet Javascript avec un service web sous-jacent via le bus d'échange d'Adobe. L'intérêt est que FDS prend en charge la synchronisation du cache FSO.

 

Enfin, certains éditeurs comme Sun n'hésitent pas à proposer aux développeurs d'exécuter directement la base de données relationnelle Sun Java DB (basée sur Apache Derby) directement au sein de la JVM du navigateur. Sun propose même une démonstration assez concluante pour peu que la machine cible soit puissante et déjà équipée d'une machine virtuelle Java. Il existe aussi un moteur SQL écrit en Javascript, TrimQuery.

 

Vers une standardisation des méthodes ?

 

La dernière approche repose sur la capacité d'Internet Explorer (5 et versions supérieures) à stocker 64 Ko de données par page (640 Ko au total par domaine) dans un fichier XML en dehors du cache officiel. Ce mécanisme s'appuie sur un "comportement DHTML" standard du navigateur de Microsoft. La preuve par l'exemple. A noter que Mozilla propose aussi un accès direct (via Javascript) depuis ses navigateurs à une base de données relationnelle.

 

Bref, les possibilités ne manquent pas et les développeurs les explorent toutes pour le moment. Pour leur simplifier la tâche, certains frameworks Ajax commencent à intégrer ces méthodes au sein de leurs APIs (Application Programming Interfaces). C'est le cas notamment de Dojo Toolkit - l'un des plus utilisés au monde - avec Dojo.storage. Cette API propose un moyen simple pour stocker des informations en local, sur le disque dur du PC de l'utilisateur. C'est une couche d'abstraction qui propose une API unifiée quelle que soit la méthode de stockage retenue et le contexte de l'application (Javascript dans un navigateur, plug-in Firefox, ActiveX, etc.). En plus, Dojo.storage sélectionne automatiquement la meilleure solution de stockage parmi les nombreuses options qu'elle supporte : cookies, SharedObject Flash, API COM et XPCOM, 64 Ko d'Internet Explorer, travaux du WHAT sur la persistance des données de session, etc.

 

Grâce à l'intégration progressive de runtime Javascript de qualité au sein des navigateurs, ces approches devraient progressivement gagner en performance et en stabilité. De là à ce que les navigateurs intègrent un jour un cache de données local ? Il n'y a qu'un pas à franchir.

 

 
Partager :
 
pub Publicité

CloudStack by IkoulaCloudStack by Ikoula

Cloud Computing : Atouts et freins, acteurs du marché, conseils et témoignages