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

WinDev Discussion :

projet nouveau : gestion des lock


Sujet :

WinDev

  1. #1
    Membre actif
    Inscrit en
    Octobre 2013
    Messages
    274
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 274
    Points : 248
    Points
    248
    Par défaut projet nouveau : gestion des lock
    Bonjour

    sur un nouveau projet (gestion commerciale avec commande achat, commande vente, BL, réception, facturation... pas de compta)

    quelle serait selon vous la meilleure gestion des lock sachant que :
    - développement partant de 0 (tout est donc permis)
    - environ 50 utilisateurs (dont 10 en terminal serveur)
    - on veut savoir qui bloque un enregistrement
    => si je veux faire une entrée en stock pour un article, savoir que machin est sur la fiche article en mode modif.
    - si on modifie le stock d'un article, on aimerait alerter ceux qui sont sur la fiche article en mode consultation

    en partant de 0 et avec ces "règles", vous feriez quelle méthode?

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    je me suis inspiré de l'exemple de WinDev sur la gestion des blocages. Au moins tu auras toutes tes attentes concernant les blocages. Il faudra juste ajouter les consultations donc tu auras besoin d'ajouter un champ pour le mode d'accès (modification ou consultation).

    Bref tu as une table verrou avec la table concernée, l'id de l'enregistrement, le nom de la personne, la date de verrou, ... et tu ajoutes un flag pour modification.

    Tu peux aussi envoyer des messages pour prévenir la personne que tu veux l'accès.

    Bref, penches toi sur l'exemple pour voir le fonctionnement, c'est déjà un bon pas en avant.

    à bientôt,

    Nicolas

  3. #3
    Membre actif
    Inscrit en
    Octobre 2013
    Messages
    274
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 274
    Points : 248
    Points
    248
    Par défaut
    bonjour

    en effet on avait pensé à un truc du genre.
    je vais regarder l'exemple dont tu parles.


    mais que se passe t'il si l'utilisateur ne ferme pas correctement l'application? (ou si l'appli plante?)

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    les entrées en bases de données restent et le verrou est maintenu.
    Il te faut faire un traitement de suppression la nuit ou à un moment où personne n'est connecté pour vider la table en automatique.

    Ensuite, tu as également une interface d'administration où tu peux faire sauter ces verrous à la demande.

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    j'avais essayé de supprimer les verrous en ouverture de l'appli mais si l'utilisateur l'ouvre une 2e fois (si c'est possible), les verrous posés par la première ne sont plus actifs ...

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 136
    Points : 241
    Points
    241
    Par défaut
    Citation Envoyé par Nicolas_Jeanneau Voir le message
    j'avais essayé de supprimer les verrous en ouverture de l'appli mais si l'utilisateur l'ouvre une 2e fois (si c'est possible), les verrous posés par la première ne sont plus actifs ...
    Dans ce cas, en rajoutant un test avec la fonction "ExeLancé", il devrait être possible d'éviter ce problème.

    EDIT : Sauf peut-être pour le lancement en TSE.

  7. #7
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Citation Envoyé par ErwanA Voir le message
    Sauf peut-être pour le lancement en TSE.
    Ce qui est mon cas ... !

  8. #8
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    On peut tout à fait envisager de passer par une table de suivi pour tenir à jour ce que fait chaque instance de l'application.

    Par contre cela ne permet pas d'informer automatiquement les autres instances qu'une nouvelle information est disponible dans la table de suivi, sauf à faire du pulling d'information sur la table, ce qui me paraît être une mauvaise idée. Pour pallier à ce problème et si l'on est en réseau local (pas de routage), on peut très bien envisager de faire du broadcast udp d'un signal indiquant toute modification de la table de suivi.

    Concernant les locks de la table de suivi, il ne me semble pas intéressant de passer par les locks bdd, surtout que ce n'est pas une fonctionnalité disponible sur tout les serveurs de BDD. La solution que je préconiserais serait de passer par un dossier partagé sur un serveur et chaque instance qui se lance créée un fichier texte dans ce dossier et le lock. Si l'instance meurt le lock est enlevé par l'os, il suffit d'avoir un process qui tourne sur le serveur et épure la table de suivi des process mort.

    Le tout me paraît un peu lourd, mais semble répondre à la demande.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

Discussions similaires

  1. projet de gestion des exigences
    Par karim_sousse dans le forum Qualité
    Réponses: 21
    Dernier message: 08/02/2012, 12h17
  2. [ASE] Gestion des locks
    Par Oraman dans le forum Adaptive Server Enterprise
    Réponses: 1
    Dernier message: 19/11/2007, 14h19
  3. [Hibernate] Gestion des Lock
    Par DjGonk dans le forum Hibernate
    Réponses: 2
    Dernier message: 05/02/2007, 09h46
  4. [forms 6i] Gestion des locks mortels
    Par sylvanians dans le forum Forms
    Réponses: 1
    Dernier message: 24/08/2006, 17h46

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