EcommerceDEV. Développement, optimisation et sécurisation des sites de commerce électronique.
arrowAccueil arrow Optimisation arrow Performance arrow Utilisation de la librairie OSCache avec les JSP
Dimanche 7 sept 2008
Nom d'utilisateur     Mot de passe      Conserver       Mot de passe perdu ?  Inscription
Menu
Accueil
A propos du site
Carte du site
Moteur de recherche
Nouvelles
Contactez-nous
Evénements
- - - - - - -
Analyse
Conception
Optimisation
Programmation
Sécurité
Produits/Services
Dec 21 2005
Utilisation de la librairie OSCache avec les JSP Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 2
FaibleMeilleur 
Optimisation - Performance
Ecrit par Kamal AOUDA   
21-12-2005
Utilisation de la librairie OSCache avec les JSP

L’assemblage des vues composites est une opération très pénalisante pour les performances surtout sur les sites à forte affluence. Les filtres que nous avons présentés dans cet article sont particulièrement adaptés pour mettre en cache l’intégralité d’une page. Toutefois lorsqu’il s’agit de mettre en cache les différents blocs des vues composites ces filtres perdent leur efficacité.


La librairie OSCache d’OpenSymphony apporte une solution simple et élégante à ce problème. Elle fournit un ensemble préconçu de tags qui libèrent les développeurs d’une majeure partie des tâches liées à l’utilisation des filtres. Cette librairie Open Source peut être utilisée pour cacher aussi bien des fragments de JSP que des JSP entières.

Le package OSCache est disponible gratuitement sur le site d’OpenSymphony (www.opensymphony.org). Pour l’installer sous Tomcat, il suffit de copier l'archive oscache.jar dans le répertoire WEB-INF/lib de l’application et de placer les fichiers oscache.tld et oscache.properties dans le répertoire WEB-INF/classes. Une fois ces fichiers copiés il faut modifier le deployement descriptor (web.xml) de la manière suivante :

<taglib>
<taglib-uri>oscache</taglib-uri>
<taglib-location>classes/oscache.tld</taglib-location>
</taglib>

Pour cacher un fragment particulier dans une page, il faut l'entourer avec le tag <cache :cache …> comme le montre l’exemple suivant :

<%@ page import="java.util.*" %>
<%@ taglib uri="oscache" prefix="cache" %>
<html>
<head><title>OsCache demonstration</title></head>
<body>
Non cached portion : <%= new Date() %><p>
<cache:cache time="10">
Cached portion: <%= new Date() %> <! (Refreshed every 10 seconds)>
</cache:cache> </body> </html>

Pour tester le fonctionnement du tag il faut charger la page à plusieurs reprises (bouton refresh du navigateur). La date non cachée s’incrémente alors que la date cachée reste fixe. Cependant s’il s’écoule un délai de plus de 10 secondes entre chaque rafraîchissement la date cachée est automatiquement mise à jour.


Il est également possible de cacher le contenu dans le cadre d’une session utilisateur:

<cache:cache time="10" scope="session">
...
</cache:cache>

OSCache est aussi capable d’associer des identifiants uniques aux tags de façon à pouvoir les référencer dans d’autres JSP (voir exemple).

Example1.jsp

<%@ page import="java.util.*" %>
<%@ taglib uri="oscache" prefix="cache" %>
<html>
<head><title>Example 1</title></head>
<body>
Non cached portion: <%= new Date() %><p>
<cache:cache key="associatedkey">
Cached portion: <%= new Date() %> <p>
</cache:cache>

<a href="Example2.jsp">Rafraîchir</a>
</body>
</html>

Example2.jsp

<%@ taglib uri="oscache" prefix="cache" %>
<html>
<head><title>Example2.jsp</title></head>
<body>
Flushing the cache...<p>
<cache:flush key="associatedkey" scope="application"/>
<a href="Example1.jsp">Retour</a>
</body>
</html>

La JSP Example1.jsp cache une portion du code en lui associant la clé " associatedkey". La JSP Example2.jsp utilise cette clef pour vider le cache. Sur un site de commerce électronique, la clé peut être calculée dynamiquement pour cacher les informations et les images des produits.

OScahe permet également de limiter le nombre d’objets placés dans le cache. Par défaut, ce nombre est de 1000 dans la version 1.7.5 mais une fois atteint, la mémoire est réutilisée selon l’algorithme LRU (Least Recently Used) . Pour augmenter la taille du cache, il suffit d’éditer le fichier oscache.properties et d’ajuster la valeur du paramètre cache.capacity. Il est d'autre part possible de configurer OSCache pour cacher les fragments de page sur disque. Pour cela il suffit de modifier le paramètre cache.path en lui donnant comme valeur le chemin du répertoire disque où on souhaite conserver les données.

Cela dit, la librairie OSCache a dépassé le stade d’expérimentation. Aujourd’hui elle est utilisée par des sites aussi prestigieux que theserverside.com et bénéficie du support d’une communauté de programmeurs de plus en plus grandissante.
 

Dernière mise à jour : ( 25-04-2006 )
< Précédent   Suivant >
Livre gratuit sur l'optimisation des applications Java/MySQL pour les besoins d'ecommerce
New Page 1

Kamal AOUDA a le plaisir de vous informer de la publication de son livre gratuit sur l'optimisation des applications Java/MySQL pour les besoins du commerce électronique. Ce livre  propose un référentiel pour l'intégration du management des performances aux trois premières phases du cycle de développement (analyse, design, codage). Comme son titre l'indique, ce livre ne traite que des problèmes de performance qui sont dus à des anomalies dans l'analyse, le design et le codage des applications de commerce électronique et des bases de données auxquelles elles sont adossées. Sont exclues du périmètre du livre les anomalies attribuables :

* Au réseau qui connecte l'application à l'Internet.
* Au serveur web et au serveur d'application.
* A la version de la Java Virtual Machine utilisée.
* A tout matériel utilisé par l'application localement ou à distance.
* Aux scripts exécutés du côté du client (Vbscript, Javascript).

Notons par ailleurs que le livre ne couvre que les phases d'analyse, de design et de codage. Les phases de test, de déploiement et de maintenance ont été sciemment exclues parce qu'il existe déjà un nombre conséquent de livres et d'articles qui traitent du management des performances dans ces 3 phases.

 

Pour télécharger gratuitement ce livre cliquez sur ce lien. Pour être au courant des mises à jour apportées à ce livre, nous vous recommandons de vous inscrire gratuitement à notre site en cliquant sur ce lien.
 

 

Moteur de recherche
Recommander ce site
Collaboration
Téléchargements
Derniers événements
Aucun événement
Sondages

Comment évaluez-vous la qualité des documents publiés sur ce site ?

  
Blogs Ecommerce
Blog de capitaine commerce
top

Ce site a été crée avec le CMS Mambo. Un logiciel gratuit disponible sous licence GPL.

Copyright Ecommerce DEV 2006.

Hosted by SiteGround