Dans le modèle page par page traditionnel, les utilisateurs prennent vraiment conscience du temps de navigation d’une page à la suivante en voyant croître la barre de progression du navigateur. Le rafraîchissement d’une page complète demande beaucoup de temps de CPU et de bande passante (relativement parlant bien entendu). Ajax
Performance et évolutivité
améliore la performance de l’UI en mettant à jour, de manière incrémentielle et asynchrone, certaines parties d’une page plutôt que de rafraîchir une page complète.
D’un autre côté, un modèle basé sur Ajax peut infliger une charge supplémentaire au serveur en envoyant des requêtes en fonction d’événements clavier. Sous l’exemple du modèle de maintenance de base de données, appuyez sur les touches flèche haute et flèche basse pour naviguer d’un enregistrement dans la liste au suivant. La barre de surbrillance passe à l’enregistrement précédent ou suivant quand on actionne une touche flèche (la liste pourrait défiler), et une requête est envoyée au serveur lui demandant d’atteindre l’enregistrement complet et de mettre à jour le cadre contenu, ce qui se fait presque instantanément. Les utilisateurs aiment ce niveau d’interaction car ils ont le sentiment de maîtriser la situation.
Mais que se passe-t-il si des utilisateurs appuient sur une touche flèche et la maintiennent enfoncée ? Dans l’exemple d’application, la barre de surbrillance avance au rythme d’environ 25 lignes par seconde, déclenchant des requêtes vers le serveur à la même cadence. Les enregistrements sont extraits du fichier base de données et renvoyés au navigateur et ils passent dans le cadre contenu à un rythme humainement impossible à lire. Mais qu’advient-il si 10 utilisateurs font le même genre de chose au même moment ? Le serveur Web peut être submergé par quelque 250 requêtes par seconde, de quoi ébranler n’importe quelle architecture.
C’est un cas où les caractéristiques de performance du RPG et de ses méthodes d’accès au niveau enregistrement présentent un avantage par rapport à d’autres types d’architecture. J’ai développé une interface System i native qui traite des caractéristiques de chargement semblables à cela, mais cet article concerne Ajax, qui est une technologie côté client. Pour un exemple intéressant de la manière dont Yahoo a traité ce problème dans son client e-mail, voir l’encadré « Préextraire et mettre en cache dans client e-mail de Yahoo ».
Téléchargez cette ressource
![Guide inmac wstore pour l’équipement IT de l’entreprise](https://www.itpro.fr/wp-content/uploads/2024/04/Guide-inmac-wstore-Juillet-2024.jpg)
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre nouveau dossier thématique sur l’éco-conception et les bonnes pratiques à adopter pour réduire votre impact environnemental.