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 :

Question architecture / session


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 46
    Par défaut Question architecture / session
    Bonjour à tous,

    Je développe une application Web (déployée actuellement sous Tomcat).
    -> Mon besoin est le suivant :
    Les utilisateurs une fois connectés peuvent envoyer des messages entre eux. Le but est que dés qu'un utilisateur a un message non lu, une image "boite mail" apparaît, indiquant qu'au moins 1 message non lu est présent.

    -> Le problème :
    Je dois donc effectuer à chaque chargement de page, une requête vers la base de données pour savoir si au moins 1 mail non lu existe pour l'utilisateur. C'est assez lourd...

    -> Une solution possible :
    Une classe utilitaire stocke toutes les sessions utilisateur connectés dans une HashMap(couple Utilisateur / Session).
    Quand un utilisateur envoie un message, l'application modifie directement la session de l'utilisateur cible.

    Cela a toutefois plusieurs conséquences :
    - Si un jour la charge monte trop et que je suis obligé de créer un cluster, le système ne fonctionne plus du tout...
    - Si tomcat swap les sessions sur disque, les objets session mémorisés dans ma HashMap ne correspondront plus à la session utilisée par tomcat

    Bref quelqu'un a t'il une solution à me proposer pour ne pas avoir à faire de requêtes répétitives pour vérifier les nouveaux messages ?

    Merci d'avances

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2013
    Messages : 21
    Par défaut
    Le problème que tu décris est que tu veux un comportement "connecté" dans un environnement navigateur qui est par design déconnecté (il n'est connecté que lors qu'il fait une requête).
    La solution classique consiste à faire du polling : Sur le client, une boucle interroge le serveur régulièrement pour savoir si il a une réponse. Le serveur lui répond 99 fois sur 100 non. Bref pas super efficace.
    Il existe maintenant des solutions un peu plus malines (mais pas forcément aussi simples dans leur principe, et pour l'implémentation, c'est r'n'r ;-)). Tu devrais regarder PrimePush qui semble répondre à tes besoins (http://www.primefaces.org/showcase/push/index.jsf). Je ne l'ai pas utilisé, mais ça à l'air de tenir la route. J'ai entendu causer le contributeur principal. Il a l'air de connaître son sujet (notamment il a bien en vue les problèmes de scalabilité )

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    il existe aussi d'autres solutions avec JQuery, Richfaces... ou autres..ça dépend de ton environnement de développement.
    Je pense que tu peux aussi utiliser le javascript pour recharger la page, mais c'est un peu lourd pour l'utilisateur.

Discussions similaires

  1. question architecture, entity+session bean ?
    Par bricecol dans le forum Glassfish et Payara
    Réponses: 4
    Dernier message: 26/11/2009, 11h54
  2. Questions sur session version 2
    Par kuja2053 dans le forum Langage
    Réponses: 3
    Dernier message: 27/06/2007, 20h32
  3. [SQL Server 2005] question architecture
    Par phil89 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/06/2007, 09h26
  4. question : architecture en couches
    Par Spacy_green dans le forum Développement
    Réponses: 10
    Dernier message: 25/05/2006, 18h08
  5. [Sécurité] Question sécurité : sessions
    Par Alain15 dans le forum Langage
    Réponses: 3
    Dernier message: 08/05/2006, 15h28

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