IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java EE Discussion :

Conseil sur un developpement j2ee


Sujet :

Java EE

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 135
    Points : 46
    Points
    46
    Par défaut Conseil sur un developpement j2ee
    Je suis en train de développer un service (elle sera stocké dans un ear sous weblogic 8.1) qui retourne une liste d'élément depuis la base de données (db2 v8).
    Cette liste doit être présenté sous une ihm (weblogic 6) avec des boutons pages précédentes ou suivantes.

    Le problème est comment optimiser le traitement d'affichage en limitant les accès bases ?

    Est ce que le service (weblogic 8) retourne une portion de liste en fonction de la page demandé donc autant d'accès en base que l'on click sur précédant ou suivant (quantité d'accès en base énorme).
    Ou on retourne une liste totale et on met en cache dans la session, mais comme la liste est grande on explose la bande passante.

    Avez-vous une idée ?

  2. #2
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Bonjour,

    Tout dépend de la taille des données véhiculées et de l'utilisation de celles-ci par l'application. Il n'est pas envisageable de charger des millions d'enregistrements en mémoire pour n'en afficher que 10 sur une page, d'autant plus si l'utilisateur pagine peu souvent dans les résultats, comme lors d'une recherche par mot clé avec des résultats de recherche triés par pertinence. Outre le besoin de bande passante, il faut voir la mémoire utilisée lors d'un chargement en masse.
    A l'autre extrémité, si il y a 3 pages de résultat, et que de toute façon l'utilisateur devra toutes les visualiser, on pourrait préférer un chargement de données unique. Toutefois, attention à l'utilisation de ces données, car le chargement unique constitue un cache. Si les données affichées changent alors qu'un utilisateur pagine, il ne verra pas les modifications, ce qui peut être en contradiction avec le besoin métier.
    Tu peux envisager une stratégie mixte dans certains cas, avec le chargement en une fois de plusieurs pages de données, par exemple 1 à 5, ce qui permettra de gagner du temps si l'utilisateur pagine rarement plus loin. D'autre part, il faut faire attention au temps de chargement d'une page de données. Si le chargement de 5 pages prend autant de temps qu'une seule, il y aura également un gain de performances dans la navigation.

    Pas de réponse donc, mais l'éternel "ça dépends".
    Je te recommande donc d'utiliser un composant qui se charge de l'appel de ton service de données, dans lequel tu puisses implémenter les différentes stratégies évoquées plus haut. Ainsi, selon les cas, tu pourras appliquer la meilleur stratégie en fonction des besoins, et ton code sera capable de s'adapter très simplement aux changements (exemple : le volume de données de telle entité à explosé cette année ...)

    En espérant que cette réflexion t'aide à mener la tienne.

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/08/2007, 16h23
  2. Réponses: 6
    Dernier message: 15/03/2006, 20h54
  3. cherche conseil sur livre pour jbuilder
    Par med1 dans le forum JBuilder
    Réponses: 3
    Dernier message: 09/06/2004, 13h33
  4. [débutant] conseils sur contraintes et alter table
    Par maysa dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 26/05/2004, 09h03
  5. Recherche Livre / Conseils sur la conception de Base
    Par Yeuma dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 02/01/2004, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo