2/4
3 EJB
(6 points)
Cet exercice concerne la définition d’un site de commerce en ligne développé avec des EJB.
Le site propose un ensemble d’articles organisés par catégories (livres, DVD, etc.). Les clients peuvent
passer des commandes et on souhaite conserver leurs coordonnées et leurs commandes. Chaque com-
mande peut concerner un ou plusieurs articles.
Le scenario type d’utilisation du site est le suivant :
- consultation des pages présentant les articles ou recherche d’un article
- choix d’un ou plusieurs articles
- saisie des coordonnées ou identification à l’aide d’un couple login/password attribué lors d’une
commande précédente
- acceptation de la commande et paiement
3.1 Proposer un ensemble d’EJB pour mettre en œuvre ce site. Pour chaque EJB, préciser, en français,
sa nature (session/entité) et les méthodes principales des interfaces Home et Remote. On ne de-
mande pas le code.
3.2 Proposer, en français, une solution pour gérer le panier des clients, i.e. pour gérer le mécanisme qui
permet à un client de sélectionner plusieurs articles avant de saisir ses coordonnées et d’accepter la
commande.
3.3 En fonction des éléments mis en place précédemment, donner le code Java du mécanisme qui per-
met de calculer le montant d’une commande. Il ne s’agit pas de donner tout le code de l’application,
mais seulement la partie nécessaire à ce calcul.
3.4 On souhaite ajouter au site un mécanisme qui permet de déclencher automatiquement des réappro-
visionnements lorsque la quantité d’un article en stock franchit un certain seuil. Décrire, en français,
les éléments à mettre en place pour réaliser cela.
Partie Web Services
À rédiger sur une copie séparée.
4 Questions de cours
(3 points)
4.1 Certains Web Services possèdent des binding HTTP POST, HTTP GET, et HTTP SOAP. Quelles
sont les différences entre ces binding ? Quels sont les intérêts pour un service web de proposer si-
multanément plusieurs binding ?
4.2 Lorsqu’un client souhaite utiliser un Web Service, faut-il obligatoirement qu’il possède la descrip-
tion WSDL du service ? Si oui, pourquoi ? Si non, quelles sont les alternatives ?