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 Discussion :

Serveur/Clients avec Base SQL : organisation


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Par défaut Serveur/Clients avec Base SQL : organisation
    Bonjour,

    J'aimerais avoir vos conseils sur l'organisation que doit avoir un programme Java pour l'utilisation d'une base SQL liée au serveur qui sert à exécuter les requêtes (actions) et transmettre les résultats aux clients.

    Car j'ai une crainte sur le fait que le client affiche l'interface avant même que le serveur réponde (genre si le serveur prend 6 secondes pour répondre).

    Dois je "bloquer" l'affichage, ou bien rafraichir lorsque la réponse arrive ?
    Mais alors comment s'y prendre ?
    Comment savoir l'interface à rafraichir (utilisation des abstract ?) ?

    Si quelqu'un à un début de réponse, je suis preneur.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut
    Bonjour,

    Ta question est très imprécise car tu ne précises pas la façon dont ton application est connectée à la base et dans quel environnement cela se passe...

    Quoi qu'il en soit, tant que l'action de l'utilisateur est faite de manière classique, c'est à dire sans passer par un thread démarré explicitement, il n'y a pas de raison que l'utilisateur obtienne une réponse prématurée...

    Pour l'histoire de l'abstract, à moins que je n'ai rien compris à ce que tu cherches à faire, je dirais que c'est hors sujet.
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Par défaut
    lu,

    Désolé, je vais réessayer autrement :

    Avec java swing (avec une JFrame, ...), j'ai un thread client et un thread serveur qui se connect en TCP avec les sockets.

    Mon souci réside dans l'organisation que je dois appliquer pour que les réponses reçu du serveur soit bien pris en compte sur l'écran du client. Sachant que la requete au serveur est envoyé au moment ou l'interface cliente est en construction et donc en cours d'affichage.
    De plus pendant ce temps le client peut recevoir d'autres messages du serveur, pour d'autres interfaces.

    Donc actuellement j'applique le rafraichissement, toute les secondes avec un "timer" dédié, des interfaces client à l'écran, qui le nécessite, afin de remettre les données à jour (Risque d'occuper des ressources pour rien).

    Néanmoins j'aurai espéré faire autrement ; genre attribuer un "serial" au message client-serveur qui correspondrait au "serial" des interfaces à mettre à jour, si elles sont affichées bien sur. Résultat la mise a jour des données est effectué que si c'est nécessaire.
    Mais cela me semble compliqué et pas très viable.

    Une autre solution serait de "jouer" avec les ports de connexions au serveur. Mais la complexité de gestion est tout aussi ardu et peu viable.


    Hélas je ne vois pas d'autres façon "simple" de m'y prendre.

    @+

  4. #4
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut
    Citation Envoyé par aristeas Voir le message
    Avec java swing (avec une JFrame, ...), j'ai un thread clibent et un thread serveur qui se connect en TCP avec les sockets.
    Bien et la connexion JDBC à la base, c'est la partie serveur qui s'en charge, c'est bien ça ?
    Citation Envoyé par aristeas Voir le message
    la requete au serveur est envoyé au moment ou l'interface cliente est en construction et donc en cours d'affichage.
    Si c'est du constructeur que tu parles, il est plus propre de lancer la requête après.
    Citation Envoyé par aristeas Voir le message
    De plus pendant ce temps le client peut recevoir d'autres messages du serveur, pour d'autres interfaces.
    Ok, donc ça veut dire que tu as des traitements asynchrones ?
    Citation Envoyé par aristeas Voir le message
    Donc actuellement j'applique le rafraichissement, toute les secondes avec un "timer" dédié, des interfaces client à l'écran, qui le nécessite, afin de remettre les données à jour (Risque d'occuper des ressources pour rien).
    Si les données côté serveur ne sont pas susceptibles de changer de façon externe, il n'y a pas d'intérêt à avoir un thread pour rafraichir l'IHM, dans le cas contraire tu n'as pas trop le choix mais tout dépend de l'importance d'avoir un rafraichissement continu et fréquent ou pas.
    Citation Envoyé par aristeas Voir le message
    Néanmoins j'aurai espéré faire autrement ; genre attribuer un "serial" au message client-serveur qui correspondrait au "serial" des interfaces à mettre à jour, si elles sont affichées bien sur. Résultat la mise a jour des données est effectué que si c'est nécessaire.
    Mais cela me semble compliqué et pas très viable.
    Pourquoi ?
    Citation Envoyé par aristeas Voir le message
    Une autre solution serait de "jouer" avec les ports de connexions au serveur. Mais la complexité de gestion est tout aussi ardu et peu viable.
    Euh oui, je pense même que ça ne changerait pas grand chose au problème...

    Bon, je dirais que tes explications ne sont toujours pas suffisantes car il y a mille et une façon de procéder en fonction du contexte.

    Etudie la notion de Listener, si ce n'est déjà fait, car à mon avis ça te sera bien utile.
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/11/2008, 19h05
  2. Appli Web avec base SQL Server
    Par Baalberith dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/09/2007, 13h43
  3. InfoPath envoie et reception de données avec base SQL
    Par fanfan49 dans le forum InfoPath
    Réponses: 2
    Dernier message: 05/06/2007, 15h44
  4. Déploiement application c# avec base sql server
    Par davmaster62 dans le forum Accès aux données
    Réponses: 1
    Dernier message: 04/04/2007, 20h15
  5. Réponses: 3
    Dernier message: 11/12/2006, 19h57

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