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

JSF Java Discussion :

Gestion de stocks et commandes


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut Gestion de stocks et commandes
    Bonjour à tous,

    Ayant commencé depuis peu le J2EE et notamment en me servant de JSF, JPA (EclipseLink), j'aimerais développer une petite et simple application de gestion de stocks et de commandes.

    Pour ce projet, je dispose donc d'une base de données de produits et mes "clients" peuvent commander ces produits en différentes quantités.
    Pour mettre en situation, disons que je ne dispose que de 5 télévisions dans mon catalogue.
    Il y a donc 3 situations possibles que je gère de la façon suivante :

    1°) Un client commande 4 télévisions. Lorsqu'il clique sur le bouton 'commander', j'effectue donc un retrait de 4. Pour cela mon objet Produit (télévision) est mis à jour en faisant : produit.setQuantite(5-4). Et je mets à jour ma base de données (?) en faisant par l'intermédiaire de mon EntityManager em : em.merge(produit).

    2°) Un client commande 10 télévisions. Mon application détecte que le client commande + qu'il n'y a en stock. J'affiche un message d'erreur en lui signalant.

    3°) C'est ce troisième cas qui me pose soucis. 2 clients commandent en même temps des télévisions. Le client1 commande 4 télévisions et le client2 commande 2 télévisions.

    Je voulais savoir comment était géré ce cas ? Est-ce que de tout de manière l'application ne va traiter qu'une requête à la fois ?
    Si non, est ce que l'application va signaler à un des 2 clients un message d'erreur ?

    Si ce problème doit être géré par le développeur, comment ?

    En espérant que vous pourrez m'aider,

    Rhada.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Cas 3)

    Dans la mesure où on ne fait pas de transactions longues dans une application web, je ferais un traitement particulier dans l'application.
    Une manière simple de traiter ce cas consiste à ne pas toucher à la quantité en stock mais de soustraire les quantités réservées dans une table qui représente le "panier".
    En gros, la quantité disponible = quantité en stock de l'article - quantité dans les paniers de l'article.

    Au démarrage de l'application, il suffit de remettre à blanc la table "panier" pour retrouver la situation nominale...
    Quand tu valides l'ajout au panier, de préférence utiliser une transaction bloquante, comme ça, si un utilisateur arrive en même temps, il patientera et à la libération de la transaction, le calcul sera fait sur les valeurs réelles.
    Lorsque la commande part, il faut déduire la quantité du stock...

    Bref, un truc dans le genre
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Bonjour Obutterlin et merci beaucoup pour ta réponse.

    En effet, cette histoire de table représentant le panier semble tout à fait convenir à mon problème, super idée

    Par contre, je n'ai pas la moindre idée de comment utiliser une transaction bloquante. Si j'ai bien compris, une fois que le client1 a validé son panier et donc fait la commande, le client2 est "en attente, bloqué" jusqu'à ce que la requête du client1 a été réalisée.

    Ce serait une sorte de 'barrière' comme en Java? En fait je ne vois comment le faire en J2EE :s. En attendant ton éventuelle réponse, je vais chercher de mon côté.

    Encore merci de ton aide !

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Quand tu vas ajouter l'article au panier, ce qu'il faudrait faire, c'est verrouiller l'enregistrement de la table qui contient la valeur du stock de l'article.
    Avec JPA 2.0, tu as la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void lock(Object entity, LockModeType lockMode);
    Idem pour la méthode qui récupère la quantité disponible en stock
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Je viens de lire quelques trucs là dessus. Je te remercie encore pour ton aide et vais de ce pas me renseigner sur cette méthode.

    Je passe le sujet en résolu.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Ok, à une prochaine
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Choix du langage pour logiciel de gestion de stock et commandes
    Par plex dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 15/09/2017, 17h29
  2. gestion stock et commandes
    Par Cheorches dans le forum Modélisation
    Réponses: 2
    Dernier message: 17/08/2007, 15h47
  3. Gestion de stock - Prix Moyen Pondéré
    Par hugo69 dans le forum Access
    Réponses: 33
    Dernier message: 28/10/2005, 18h03
  4. Analyses du progiciel de gestion de stock COSWIN CS 5.2
    Par africanroseonlyone dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 13/10/2005, 16h01
  5. gestion des stocks
    Par gekondo dans le forum Access
    Réponses: 1
    Dernier message: 30/09/2005, 12h41

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