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

Développement Web en Java Discussion :

Demande conseils conception application web J2EE


Sujet :

Développement Web en Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Avide d'apprentissage
    Inscrit en
    Avril 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Avide d'apprentissage
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 80
    Par défaut Demande conseils conception application web J2EE
    Bonjour à toutes et à tous,

    Je viens solliciter votre expérience en matière de conception et de réalisation d'une application web.
    Voici le tableau :
    Je suis en train de concevoir une application J2EE suivant le pattern MVC avec comme principaux technos, les classiques :
    - Framework Spring + Hibernate + MySQL + JSP + JavaScript
    L'application est destinée à accueillir un grand nombre d'utilisateurs (ce n'est pas un réseau social), avec chacun ayant un espace dédié où il peut configurer son compte (style Facebook).
    Je dois donc pouvoir manipuler beaucoup de données.

    Le problème est que je trouve la solution manipulation de tables SQL "limitée" et fastidieuse. Fastidieuse dans le sens où on doit stocker la moindre donnée dans une table et ça me prend un temps fou pour bien concevoir mes tables et définir les bonnes relations entre elles.
    Un exemple de donnée : Lorsqu'un utilisateur se déconnecte, je récupère la date et l'heure de sa déconnexion, la stocke dans une table et lors de sa prochaine connexion je lui affiche sa dernière date de connexion.
    Je trouve que ça fait beaucoup d'opérations pour stocker cette simple donnée.

    L'une de mes questions est donc de savoir est-ce qu'il n'y a pas d'autres façons de stocker et de manipuler des données plus simplement ?
    Est-il possible de garder en mémoire certaines données (comme ma date de déconnexion) sans devoir passer par une table SQL ?

    Comment fait Facebook ou Tweeter pour gérer autant de données avec une aussi grande fluidité ? (Sans vouloir viser leur niveau, pour l'instant )

    Je suis issu d'une formation mécatronique donc programmation orientée micro-contrôleur, je ne suis pas du tout un spécialiste des technos touchant le monde du web mais plus j'avance plus ça me plait du coup je cherche à améliorer mes connaissances.

    Autre question : quels autres outils pourrais-je utiliser pour améliorer la performance d'une application multi-utilisateurs ?

    Je vous remercie pour vos éclaircissements.

  2. #2
    Membre émérite
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Par défaut
    Salut,

    pour répondre à ta question, je dirais oui et non... non parce que tu peux difficilement stocker tes données autrement qu'avec une base. Tu peux, mais au final tu te retrouverai vite à reconstruire un système de base de données perso, moins performant que l'existant. Oui parce que tu peux stocker tes données autrement qu'avec du SQL, avec les bases NOSQL. Essentiellement, tu as les bases orientées documents, qui stockent des document, en json le plus souvent, plutôt que des tables sql, et les bases orientés graph, qui stocke des noeuds et des relations. Pour te faire une petite idée, jette un œil à MongoDB pour le doc et Neo4J pour le graph.

    Après soyons clair, la série d'opérations que tu décris avec l'horaire de déconnection est ultra basique et inévitable. Quel que soit le système que tu utiliseras, tu devras mes coder...

    Pour t'orienter mieux ou te donner des conseils sur les perfs, il faudrait plus de détails sur ton appli...

  3. #3
    Membre confirmé
    Homme Profil pro
    Avide d'apprentissage
    Inscrit en
    Avril 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Avide d'apprentissage
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 80
    Par défaut
    Salut,
    Merci pour cet apport d'informations.
    Citation Envoyé par Cafeinoman Voir le message
    [...] Oui parce que tu peux stocker tes données autrement qu'avec du SQL, avec les bases NOSQL. Essentiellement, tu as les bases orientées documents, qui stockent des document, en json le plus souvent, plutôt que des tables sql, et les bases orientés graph, qui stocke des noeuds et des relations. Pour te faire une petite idée, jette un œil à MongoDB pour le doc et Neo4J pour le graph.
    Je vais dès ce pas me renseigner sur ces 2 outils et voir ce que je peux en faire.
    Une question : En terme de sécurité, ces outils valent-ils le coup ? Aussi, est-ce qu'on peut les coupler au SQL, i-e avoir ces 3 outils (SQL, NoSQL et Graph) dans une même application ?

    Citation Envoyé par Cafeinoman Voir le message
    Pour t'orienter mieux ou te donner des conseils sur les perfs, il faudrait plus de détails sur ton appli...
    Pour résumer, c'est une application qui doit accueillir plusieurs utilisateurs (estimation : 1000/mois), ensuite ces utilisateurs sont réunis par groupe (10 utilisateurs maxi/groupe).
    Chaque utilisateur a un compte personnel dédié ou il peut le configurer (ex. ajouter des photos, etc...) et un groupe a un compte dédié également où un seul membre peut apporter des configurations.
    Je reviendrai avec plus d'informations lorsque j'aurai une première maquette fonctionnelle (très prochainement).

    Là où je doute sur les performances c'est sur la gestion de ce flux d'utilisateurs, beaucoup d'utilisateurs c'est beaucoup d'opérations notamment sur les bases de données.
    Lors de mon apprentissage (toujours en cours d'ailleurs) du J2EE, il est conseillé d'utiliser un pool de connexions pour la gestion des opérations aux bases de données mais quand bien même,
    je trouve cette solution pas suffisante dans le sens où elle n'est pas dynamique (i-e qu'elle ne s'adapte pas aux nombres de demandes de connexions mais elle est pré-configurée et peut mettre en attente un utilisateur si toutes les connexions sont prises).
    C'est peut-être ma faible connaissance en la matière qui me fait douter. Je ne pense pas que facebook utilise des pool de connexions ^^ (enfin je crois).
    Il n'y aurait-il pas d'autres alternatives ?

    Merci

Discussions similaires

  1. Conception UML d'une application Web J2EE
    Par amnass dans le forum UML
    Réponses: 2
    Dernier message: 07/04/2009, 16h06
  2. developpement d'une application web J2EE
    Par cybercrisp dans le forum Développement Web en Java
    Réponses: 8
    Dernier message: 23/04/2007, 22h54
  3. demande de conseil conception site web e-commerce
    Par jsdar dans le forum E-Commerce
    Réponses: 4
    Dernier message: 10/04/2007, 16h38
  4. [VB2005] Demande conseils pour application réseau
    Par arno2000 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/02/2007, 12h42
  5. Réponses: 0
    Dernier message: 17/10/2005, 08h05

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