GICOM
Application de commerce électronique
Etape 1: Serveur eCOM étendu
Projet de M2GI thème SRR et RICM3 option SR
Année Universitaire 2007-2008
Université Joseph
Fourier –Grenoble 1
Contributeur(s)
étape : Sacha Krakowiak, David Felliot, Fabienne Boyer, Sébastien Chassande,
Didier Donsez
Encadrement M2GI/SRR : Didier Donsez, Sara Bouchenak, Johann Bourcier
Encadrement
RICM3/SR : Pierre-Yves Gibello, Didier Donsez
Plan
3.2 Fiabilisation
du MailerBean
3.3 Initialisation
des parités entre devises
3.4 Ajout
des terminaux mobiles
L’étape 1 consiste à réaliser le serveur de commerce électronique eCOM, sans se soucier de son interaction avec le sous-système bancaire et le sous-système fournisseur.
Cette étape reprend les résultats du projet eCOM mené au premier trimestre et y ajoute le support des terminaux mobiles ainsi que l’initialisation des parités des devises en usage dans eCOM.
Les différentes sous-étapes devront être réparties entre les membres du projet.
Le serveur GICOM doit rendre accessibles les fonctions de
commerce électronique au travers du Web, c'est à dire qu'un client doit pouvoir
utiliser ce serveur en lanceant un browser tel que
Netscape. Pour cette raison, le "noyau" de l'application de commerce
électronique sera mis en place sur un serveur Web, capable de recevoir et de
traiter des requêtes HTTP.
Les fonctions principales fournies par le serveur sont les suivantes :
· Sélection d'un magasin
· Consultation des produits d'un magasin donné
· Sélection d'un produit dans le but de le placer dans le caddie
· Modification du contenu du caddie
· Achat du contenu du caddie
Le bean Order doit être présent et comporter la devise utilisée et sa parité avec l'Euro ! En effet, la devise est fixée au moment du démarrage de la commande.
Le bean Account est supprimé et remplacé par un SessionBean FundsTransfer qui réalise l'opération de transfert de fond multi-comptes entre les serveurs bancaires CORBA. Le bean FundsTransfer sera le point d’intégration du sous-système bancaire développé aux étapes 2, 3, 4. De quel type sera donc ce SessionBean (Stateless, Stateful, SessionSynchronization) ?
Le bean MailBean doit être présent pour envoyer un mail de confirmation de la commande au client après l’achat.
Le bean MailerBean présent dans l’exemple de Jonas présente le problème de cohérence suivant : en effet, en cas d’échec de la transaction, le mail de confirmation est expédié à l’utilisation alors que la commande n’est pas validée dans la base (via un Entity Bean). D'autre part, le serveur peut crasher pendant l'envoi d'un mail de confirmation pour une transaction validée.
Vous devrez proposer une solution assurant la fiabilisation de l’envoi des courriers.
Pour cela, vous utiliserez l’interface javax.ejb.SessionSynchronization pour le Stateful Session Bean MailerBean.
Avant d’entreprendre tout développement, vous pourrez regarder et tester l’exemple fourni avec la distribution de JonAS qui illustre un javax.ejb.SessionSynchronization Stateful Session Bean.
Remarque : si vous ne disposez pas de serveur de mails pour vos expérimentations (par exemple en fonctionnement hors réseau (offline)),vous pouvez installer le serveur de mail JAMES (Java Apache Mail Enterprise Server)
· Claude Duguay, An introduction to Apache's James enterprise e-mail server, http://www-106.ibm.com/developerworks/java/library/j-james1.html
·
Claude
Duguay, Build e-mail based applications with Matchers
and Mailets, http://www-106.ibm.com/developerworks/java/library/j-james2.html
Transformer le bean EuroConvertor pour qu'il charge une table de parité initialisé journellement à partir du Web Service suivant http://www.webservicex.net/CurrencyConvertor.asmx?wsdl
Le rafraîchissement des parités pourra être déclenché par le service EJB Timer qui utilise les interfaces de javax.ejb (TimedObject, Timer, TimerHandle, TimerService). Vous pourez consulter le tutoriel pour les EJBTimer de J2EE 1.4 http://java.sun.com/j2ee/1.4/docs/tutorial/doc/NewEJB4.html#wp80692 pour en savez plus.
Si ce WS n’est plus disponible, une liste plus complète de Web Service pour la conversion peut être trouvé sur http://www.bindingpoint.com/services.aspx?tag=srch&val=currency
Avant tout développement, vous pourrez regarder et tester les exemples dans GICOM_ENS\exemples\webservices ainsi que l’exemple %JONAS_ROOT%\examples\webservices fournit dans la distribution de JOnAS.
eCOM doit supporter une large variété de terminaux mobiles (iMode, WAP/WML, J2ME/CDLC/MIDP)
Vous devez en conséquence modifier les Servlets/JSP d’eCOM pour servir de tels terminaux.
· Cours sur J2ME http://www-adele.imag.fr/~donsez/cours/j2me.pdf
· Cours sur WAP/WML http://www-adele.imag.fr/~donsez/cours/wap_wml.pdf
· Cours sur le iMode http://www-adele.imag.fr/~donsez/cours/imode.pdf