Présentation
générale
Prealable
Vous
devez installer l'environnement
netbean avec glassfish puis
faire le tutorial netbean
(http://netbeans.org/kb/docs/javaee/javaee-entapp-ejb.html).
Objectifs
L'objectif
est de mettre en oeuvre une application Web correspondant
à un site de commerce électronique. Le site doit permettre à un client de parcourir une base de dvds, de passer une commande et de régler ses achats.
Etape 1
Dans un premier temps, on suppose que les stocks sont suffisants.
- 1.a. On vous demande de concevoir la logique permettant d'éditer et de rechercher des dvds. On ne modélise pas
de relations à ce stade.
- 1.b. On vous demande de concevoir la logique permettant d'éditer et de rechercher des réalisateurs et des auteurs.
- 1.c. On vous demande d'établir les relations entre les réalisateurs, les auteurs et
les dvds. Ceci doit étendre les possibilités de recherche fournis aux clients.
- 1.d. On vous demande d'ajouter la gestion d'un
caddie.
- 1.e. On vous demande de gérer le paiement d'une commande.
Etape
2
Dans un deuxième temps,
les stocks peuvent être insuffisants et on considère que des commandes peuvent être mises en attente. Il faut donc connaitre
pour chaque dvd la quantité en stock. Ainsi lorsqu'un client règle ces achats, soit
la commande peut être traitée immédiatement, soit elle doit être
différée par manque de
stock. On considère ici
que le site de commerce ne dispose que d'un seul fournisseur. Il faut modéliser une commande et le cycle de vie associée :
Une commande n'existe que si le client a payé. Une commande peut être dans
les états suivants :
- en attente : Les stocks
ne sont pas suffisants
pour envoyer la commande
au client. Lorsqu'une commande
est en attente, elle est notifiée à un gestionnaire de commandes,
ce dernier va emmettre automatiquement
un mail à destination du fournisseur. Lorsqu'une livraison est reçue
par l'entreprise, le gestionnaire
est notifié au
travers d'une page web par un employé et la commande va passer de l'état en attente à en cours
et une notification va
être émise à un gestionnaire de commandes.
- en cours : Les stock sont suffisants, le gestionnaire de commandes envoie un mail à un employé
qui va preparer le colis
correspondant à la commande
et va l'expedier. Lorsque l'employé a envoyé le colis, il utilise une page web du gestionnaire de commande
pour lui signaler que
la commande a été effectuée.
- effectuée : Le colis correspondant à la commande
a été envoyé au
client.
Pour aller
plus loin:
Dans un troisième temps,
on considère que le site
de commerce dispose de plusieurs fournisseurs différents correspondant aux éditeurs des dvds. Il faut donc modéliser les éditeurs et les associer aux dvds. De plus, une commande en attente peut nécessiter de commander
des dvds chez des éditeurs
différents. Une commande est donc divisée en sous-commandes (une sous-commande par fournisseur). Le
cycle de vie d'une sous-commande
est le suivant :
- en attente : la sous-commande a été passée chez le fournisseur.
- recue : la sous-commande a été recue.
Lorsque
toutes les sous-commandes
d'une commande ont été reçues,
la commande globale passe dans l'état
en cours comme spécifier dans l'étape 2 et les sous-commandes
sont supprimmées de la
base.
Organisation
Chaque groupe a une plage de port pour le
domain glassfish plus un login pour mysql et une BD.
Logiciels
Glassfish et Netbeans
Glassfish est un serveur d'application Java EE 5 open-source, basé
sur le code source du serveur
d'application Sun
Java System Application Server PE 9.
Netbeans est un IDE open-source auquel
Glassfish et MySQL peuvent être
facilement intégrés.
HTML / CSS
La référence, le W3C, HTML 4 et CSS 2.
SGBD
: MySQL
|