VALA Creative Internet Solutions
ACTUALITES
 
 

Ajax supporte enfin le mode déconnecté

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.

 


 

 

Découvrez l'intégralité de l'article de Frédéric Bordage sur indexel.net

Actualités

17/04/2008 00:16:20
La version 0.1.7 de Vala est sortie. Inspiré du langage de programmation C#, Vala est destiné aux développeurs créant des applications sein de Gnome. >>
16/04/2008 23:48:57
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 >>
30/03/2008 20:46:13
Annuaire professionnel de qualité pour les entreprise. >>
Copyright © 2006 Vala NetWord . Tous droits réservés.
  1. traduction

    traduction
  2. technologies

    technologies
  3. soumission

    soumission
  4. mozbot

    mozbot
  5. linux

    linux
  6. hebergementweb

    hebergementweb
  7. dmoz

    dmoz
  8. architecteInternet

    architecteInternet
  9. Zend

    Zend
  10. Yahoo

    Yahoo
  11. Vala

    Vala
  12. URL

    URL
  13. UNIX

    UNIX
  14. Solutions

    Solutions
  15. SearchMicrosoft

    SearchMicrosoft
  16. Referencement

    Referencement
  17. PHP

    PHP
  18. OpenDirectory

    OpenDirectory
  19. Mirago

    Mirago
  20. Live

    Live
  21. Konbini

    Konbini
  22. Jeevesaskcom

    Jeevesaskcom
  23. Google

    Google
  24. Gnome

    Gnome
  25. Exalead

    Exalead
  26. Entreprise

    Entreprise
  27. Eclipse

    Eclipse
  28. E-entreprise

    E-entreprise
  29. E-commerce

    E-commerce
  30. E-Marketing

    E-Marketing
  31. Dmoz

    Dmoz
  32. Ask

    Ask
  33. Annuaire

    Annuaire
  34. Accoona

    Accoona
  35. AOL

    AOL