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

JDBC Java Discussion :

[xml][xsl][sgbd][jsp]


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 46
    Points : 28
    Points
    28
    Par défaut [xml][xsl][sgbd][jsp]
    salut

    serveur d'application: tomcat5
    sgbd: mysql 3

    voilà j'aurais avoir un avis sur ceci:

    J'ai un ensemble d'enregistrement statique dans ma bd(c'est à dire qu'ils ne sont jamais modifiés ou très rarement) et j'aimerais les afficher dans une jsp.

    Est - il mieux en terme de performances (coût mémoire, temps de réponse,...):

    -> d'utiliser un fichier xml regroupant la liste des infos à afficher couplé à une feuille xsl. Sachant que dans ce cas je serais contraint d'utiliser la classe javax.xml.transformer dans ma servlet.

    -> de faire une requête pour récupérer les enregistrements dans ma bd et les afficher ensuite

    Merci d'avance

  2. #2
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    je ne vois pas le rapport avec ton histoire de "elles ne changent pas souvent".
    Si elles ne changent pas souvent, il faut surtout voir si tu peux les monter toutes en mémoire et uniquement une fois pour l'ensemble de ton application pour ensuite pouvoir les afficher. Pour la solution technique, c'est à toi de voir mais une représentation sous la forme d'objets c'est pratique avec JSP/JSTL

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 46
    Points : 28
    Points
    28
    Par défaut
    Etant donné qu'il y a plus de 2000 enregistrements et que le but suivant l'action de l'utilisateur n'est d'afficher qu'une 40 d'enregistrements. Sachant que l'on n'ajoute pas ou modifie pas ces enregistrements. Je voulais savoir s'il était préférable de les stocker sous forme xml et les afficher avec une feuille de style. ou de les stocker dans le sgbd et de faire des requêtes sur la bd et afficher le résultat.

    C'est justement toute la question savoir si je les stocke dans un ficheir xml et les affiche avec une feuille de style ou si je les stocke en mémoire via une requête. Quelles sont les critères pour le "bon choix" sachant que ce qui m'interresent est le coût mémoire et le temps de réponse

    Mais je pense que la technologie JSTL même si elle est plus comode consomme pas mal de ressources et augmente le temps de réponse non? En tout cas c'est ce que j'ai lu.

  4. #4
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Si tu as un problème de nombre, je te conseille de faire du stockage en SGBDR et de faire du chargement dynamique.
    Tu "mappe" tes données dans des objets et tu fais du "lazy-loading" si besoin. C'est à dire du chargement à la demande.
    Puis tu stockes les objets dans un cache pour ne pas à avoir à les recharger ensuite.
    Je ne crois pas que la solution xml/xsl soit plus performante.

    1- Quelle est la nature exacte de tes données ?
    2- Quels usages en sont fait dans ton application ?

    L'usage fait permettra de voir dans quelle mesure tu peux mettre un cache en oeuvre et quelle est la structure la plus appropriée.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 46
    Points : 28
    Points
    28
    Par défaut
    Merci d'avoir répondu


    Voilà mon appli est une appli de gestion de fiches de personnel. Chaque fiche contient une centaine d'informations de type divers(chaine de caractères, date , nombre). Toutes ces données sont stokées dans une vingtaine de tables de mon sgbd

    Je n'ai jamais créé de telles applications avec autant de données. Mon but c'est de pouvoir saisir et afficher une ou plusieurs fiches. Seulement j'ai peur que de manipuler autant de données prennent du temps et j'aimerais savoir comment bien mis prendre.

    D'autre part le problème que j'ai évoqué précédemment concernait la saisie d'une information. En fait je voulais créer 3 listes box. L'une contient les domaines (une vingtaine), la suivantes contient les sous domaine du domaine choisi (25 par domaine) et la troisième les sous sous domaines du sous domaine précédement choisi(ce qui représentent environ 5 par sous domaines). La nature des données sont des string. La liste de tous ces domaines sont prédéfini et se sont des données qui ne seront "jamais" modifiées. En fait lors de la saisie d'un domaine dans ma première liste, la seconde apparait contenant les sous domaines correspondants et de même pour la troisième

    La fréquence d'utilisation de ces listes n'est donc pas très importante puisqu'elles sont utilisées lors de la saisie d'une information d'une fiche. Par contre l'affichage d'une fiche est une opération assez fréquente.

    Je ne crois pas trop n'ont plus en la solution XML/XLS. Dans un premier temps j'étais aussi partie sur un objet pour mapper mes données. Mais j'ai un peu peur pour la mémoire surtout pour le stockage d'une fiche. Peut etre que je m'en fais pour rien. Je ne connaissais pas le concepte de lazy_loading et je suis en train de regarder. Comment fait on un cache?
    Merci encore pour l'aide

  6. #6
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    la notion de cache ici peut être très simple.
    Il te suffit de faire une classe de type "singleton" ou qui possède 3 listes, instances de classe (donc static en Java) et d'initialiser cette classe au démarrage de ton application. Les pages JSP n'ont plus qu'à aller lire ces 3 listes pour afficher ce qu'elles ont besoin d'afficher.
    En utilisant des listes "static" ou un singleton tu auras réalisé un cache de la base pour tes domaines, cache qui n'aura été alimenté qu'une fois pour tous les utilisateurs de l'application

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 46
    Points : 28
    Points
    28
    Par défaut
    Merci

    Je ne voyez pas ça comme ça. Je n'y avais pas pensé.

    Merci





    Tant que l'on y est pour les fiches de personnels qui regroupe plus d'une centaine d'infos.
    J'hésite entre le lazy-loading(si j'ai bien compris le concept) pour afficher qu'une partie des infos en fonction de l'onglet où l'on est(l'affichage d'une fiche est sous forme d'onglet correspondant à des rubriques). Mais dans ce cas toutes ma page doit être rechargé ce qui m'embête un peu.
    Ou alors je stocke toute les infos dans une instance de classe de type "personne". et je crée ma page de visualisation
    Tu peux me conseiller la dessus

  8. #8
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    j'ai du mal à croire qu'une Personne possède plus d'une centaine d'informations, comme cela, directement en tant qu'attributs de Personne. Il doit bien y avoir des groupes logiques d'infos qui justiferont ensuite le lazy-loading.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 46
    Points : 28
    Points
    28
    Par défaut
    Je sais cela peut paraitre bizarre mais c'est vrai. En fait il y a aussi des historiques, des suivis au niveau de la carrière.... Je ne peux pas trop en parler.

    Mais je vais opter pour le lazy-loading merci de m'avoir fait découvrir ce concept. En utilisant des iframes (je viens de m'appercevoir qu'elles étaient reconnues par pas mal de navigateurs aujourd'hui) cela va me permettre de ne pas recharger toute une page a chaque fois et va alléger mes traitements.

    Encore merci pour les conseils

    a++

  10. #10
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Pour bien comprendre le lazy-loading, tu peux regarder ce qu'en disent les frameworks Hibernate et SPRING

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. XML+XSL+JS vs JSP ?
    Par LeBabouin dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 06/06/2015, 18h14
  2. [ XML ][ XSL ][ JSP ] afficher du xml dans une JSP
    Par zozolh2 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 17/07/2009, 20h34
  3. JSP/XML/XSL
    Par MxPx_23 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 16/04/2006, 07h25
  4. [XML][XSL][Mozilla Firefox] Integraton dans une page JSP
    Par BANATACH dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 05/08/2004, 14h46
  5. xml -> xsl -> xml
    Par virgile04 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/10/2002, 16h53

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