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

AWT/Swing Java Discussion :

Etre notifié des changements dans Mysql


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 47
    Par défaut Etre notifié des changements dans Mysql
    Salut

    Nous avons construit une application avec java Swing et hibernate Mysql. L'application est developpé pour être utilisé par plusieurs utilisateurs:

    Nous cherchons un moyen pour que chaque utilisateur soit instantanément informe des changements appoté par les autres utilisateurs.

    Est ce qu' il y a un moyen pour connaitre les changements ( ajout, suppressions modifications )qui ont été apporte dans la base de donnée mysql à partir de hibernate ou java en generale?

    Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Je vois deux moyens possibles pour répondre à ce besoin:
    - chaque client informe les autres clients des modifications apportées. (JGroups peut aider pour cette solution)
    - chaque client s'informe régulièrement des modifications apportées par les autres clients; par exemple avec des trigger mysql pour logger les modifications puis les clients interrogent ces logs.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 52
    Par défaut
    si tu veux prendre les infos au niveau d'hibernate regarde du côté des Filter hibernate.
    Une autre piste serait les "Statistics" hibernate qui donnent des infos sur les changements mais je ne vois pas comment tu va les exploiter donc regarde plutôt les filter si tu veux faire par hibernate.

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Pour faire simple:

    Il te faut une application centrale qui a pour but d'effectuer les modifications en base de données (un serveur). Chaque appli Swing qui démarre doit se signaler au niveau du serveur. Et toute appli swing doit donner des ordres au serveur central pour que les modifs soient faites en base de données. Quand un ordre est reçu par le serveur central, ce dernier effectue la modification en base de données et envoie cette modification à tous les clients Swing qui se sont signalés. (tout ceci au moyen de web services, d'ejb ou que ne sais-je encore)

    C'est la seule façon possible pour avoir des modifications de base mise à jour en temps réel sur de multiples clients. Le SGBD n'est pas prévu pour ce genre de tâches.

    De toute façon avoir de multiples clients distants se connectant à une base de données est une erreur de design et une faille de sécurité.

  5. #5
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    De toute façon avoir de multiples clients distants se connectant à une base de données est une erreur de design et une faille de sécurité
    Je ne vois pas pourquoi : un SGBD est fait pour que plusieurs clients s'y connectent.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  6. #6
    Membre éclairé Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Par défaut
    Citation Envoyé par sinok Voir le message
    De toute façon avoir de multiples clients distants se connectant à une base de données est une erreur de design et une faille de sécurité.
    Salut sinok;
    Pourrais-tu être explicite s'il te plaît ?

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Il veut dire par là, qu'exposer sa base de données directement à l'utilisateur, est un risque de sécurité.
    Si tu passes par un serveur d'application comme intermédiaire, l'utilisateur n'aura aucune info pour se connecter à la base de données. Il lui faudrait déjà passer par le serveur d'application ce qui lui complique la tache.

    Utiliser la base de données en direct peut encore passer pour une application interne, mais ouvrir sa base de données sur l'extérieur est vraiment dangereux.

Discussions similaires

  1. Problème pour rentrer des données dans MySQL
    Par Sandara dans le forum Requêtes
    Réponses: 8
    Dernier message: 06/06/2006, 10h59
  2. probleme de trie des nombres dans mysql
    Par fwdavy dans le forum Administration
    Réponses: 3
    Dernier message: 23/03/2006, 21h31
  3. [C#] problème avec l'insertion des données dans MySQL
    Par madica dans le forum Accès aux données
    Réponses: 7
    Dernier message: 08/11/2005, 13h27
  4. Importer des données grace a des *.cvs dans MySQL
    Par Mic0001 dans le forum Installation
    Réponses: 3
    Dernier message: 05/01/2005, 19h26

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