Ceci est une ancienne révision du document !


Projet TIW5 2013

Scénarios

Commande de vins

On considère un site de ventes de vins en ligne “Les vins du monde chez vous” (vinsdumondechezvous.com). Ce site permet de consulter son catalogue de vins et de procéder à une commande. Le scénario de déroulement d'une commande est le suivant:

  • Un client créée et rempli un panier en naviguant sur le site web
  • Lorsqu'il est satisfait, il effectue une commande
  • Cette commande n'est validée que lorsque l'utilisateur a payé. Pour cela:
    • il est redirigé vers le site d'une banque (rapidbank.com) sur lequel il saisi son numéro de carte et son cryptogramme visuel;
    • après vérification, son compte qui est hébergé dans un autre établissement (mabanque.com) est débité;
    • vinsdumondechezvous.com est alors prévenu et la transaction est validée;
    • un message est envoyé au client avec une date de livraison
  • Une fois la livraison effectuée, le client la confirme sur le site Web

Approvisionnement

Il se peut qu'un certain vin soit en rupture de stock: si on s'en aperçoit à la création de la commande, cette dernière ne peut pas être effectuée. Si c'est à la confirmation de la commande, une demande d'approvisionnement est effectuée et la date de livraison est modifiée en fonction des délais d'approvisionnement.

Un approvisionnement est une commande d'un certain nombre de bouteilles d'un vin particulier chez un fournisseur.

Le fonctionnement de l'approvisionnement d'un vin est le suivant:

  • A l'arrivée d'une demande d'approvisionnement, on vérifie si un approvisionnement est déjà en cours. Dans ce cas, la quantité de bouteilles est augmentée1). Sinon un nouveau processus d'approvisionnement est démarré.
  • Le délai d'approvisionnement dépend du vin choisi.
  • L'approvisionnement consiste à ajouter le bon nombre de bouteilles à la date de fin (déterminée par la date de demande d'approvisionnement et le délai)

Passage du temps

Afin de pouvoir simuler le temps qui avance un service tick permet de faire “avancer” le temps d'une journée. Cet avancement aura des conséquences sur les approvisionnements et les confirmations de livraison.

Services fournis

Les services et interfaces web de rapidbank.com et mabanque.com sont fournis dans tiw5-2012-fourni.zip.

Cette archive contient des projets maven et peuvent être construits via mvn install à la racine de l'archive.

MaBanque.com

Le site de mabanque.com est simulé par un serveur qui démarre sur localhost:8082. Il peut être démarré via java -jar mabanque.com/target/mabanque.com-2012.0-jar-with-dependencies.jar.

  • Il fourni une interface web http://localhost:8082/admin qui permet de gérer les comptes hébergés
  • Il fourni un service web destiné à être utilisé par rapidbank.com et permettant de débiter le compte d'un client
  • Il conserve ses données en mémoire. Ces données peuvent être sauvée dans un fichier mabanque.xml et être ainsi rechargées au prochain démarrage.

RapidBank.com

Le site rapidbank.com est simulé par un serveur qui démarre sur localhost:8083

1)
peu réaliste, mais bon …