refonte front-office / back-office - architecture & conception...
TRANSCRIPT
Architecture et conception Pacific Northwest Shop
Refonte front-office / back-office- Architecture & Conception -
GLG204 - Architectures Logicielles Java – 2008/2009
Nom : Cédric Poisson Matricule : 06-49012Version : 1.0 Jeudi 28 mai 2009
1 / 23
Architecture et conception Pacific Northwest Shop
Table des matières1 Objectif du document..........................................................................................42 Architecture .........................................................................................................5
2-1 Contraintes techniques.......................................................................................................5
2-2 Packages et dépendances...............................................................................62-2-1 La couche de navigation Web.................................................................................................62-2-2 La couche de traitements métiers..........................................................................................72-2-3 La couche domaine.................................................................................................................72-2-4 L'accès aux données...............................................................................................................82-2-5 Dépendances...........................................................................................................................8
2-3 Déploiement........................................................................................................................13
3 Technologies utilisées.......................................................................................153-1 Serveur Web........................................................................................................................153-2 Stockage des données et couche de persistance..........................................................153-3 Couche métier.....................................................................................................................153-4 Couche service...................................................................................................................153-5 Couche présentation..........................................................................................................153-6 Environnement de développement..................................................................................163-7 Tests unitaires....................................................................................................................16
4 Les acteurs et le système..................................................................................164-1 Naviguer sur le site............................................................................................................17
4-1-1 Rechercher un article............................................................................................................174-1-1-1 Sélectionner une catégorie .......................................................................................................17
4-1-1-2 Sélectionner un produit..............................................................................................................18
4-1-1-3 Afficher les références d'un produit...........................................................................................18
4-1-1-4 Rechercher un article : description des classes........................................................................19
4-1-2 Effectuer une commande......................................................................................................204-1-2-2 Afficher le contenu du panier.....................................................................................................20
4-1-2-2 Ajouter une référence dans le panier.........................................................................................20
4-1-2-3 Valider son panier......................................................................................................................21
4-1-2-4 Sélectionner le transporteur.......................................................................................................22
4-1-2-5 Régler la commande.................................................................................................................23
2 / 23
Architecture et conception Pacific Northwest Shop
4-1-2-6 Effectuer une commande : description des classes..................................................................24
4-2 La gestion du catalogue par le gérant.............................................................................254-2-1 Ajouter une catégorie............................................................................................................254-2-2 Modifier une catégorie / un produit / une référence............................................................254-2-3 Supprimer une catégorie.......................................................................................................264-2-4 Ajouter un produit / une référence ......................................................................................264-2-5 La gestion du catalogue par le gérant : description des classes......................................27
Bibliographie..........................................................................................................28
3 / 23
Architecture et conception Pacific Northwest Shop
1 Objectif du document
Ce document est le troisième rédigé dans le cadre de la refonte du site pacificnorthwestshop.com . A l'aide de
diagrammes et de description, il détaille l'architecture technique et la conception de l'application. Le langage de
modélisation est UML - Unified Modeling Language - standardisé depuis 1997 par l'OMT - Object Mangement Group.
Ce document utilise deux diagrammes UML.
Le diagramme de séquence représente les interactions entre les objets d'un point de vue temporel. Nous
considérons dans ce document que ces interactions s'effectuent avec succès.
Le diagramme de classes liste les classes du système et leurs relations (instanciation, association, composition, ...).
Pour faciliter la clarté de ces diagrammes, la traduction en différentes langues des éléments du site n'est pas pris en
compte. En pratique, il faudrait ajouter les différents attributs et opérations correspondant à chaque langue retenue.
Suivi du planning :
2009 Février Mars Avril Mai Juin Juillet Août Septembre Octobre
Étude des besoins
Analyse
Conception
Codage
Finalisation et mise en ligne
Concernant le développement de l'application pendant les prochains mois, tout devra être mis en œuvre pour :
– assurer une mise en ligne en octobre 2009,
– garantir le fonctionnement du site e-commerce pour les fêtes de fin d'année.
Par rapport donc aux cas d'utilisation détaillés dans les précédents documents, les fonctionnalités suivantes seront
prioritaires dans le développement :
– pour l'internaute, rechercher un article, gérer son panier et effectuer une commande,
– pour l'administrateur, la gestion des catégories, des produits et des références.
Ces éléments sont détaillés dans ce document.
La gestion de la newsletter et des e-mailings peut être reportée à un second temps de développement. De même,
des technologies comme JSF ou JSTL peuvent être mises en place ultérieurement.
4 / 23
Architecture et conception Pacific Northwest Shop
2 Architecture
2-1 Contraintes techniques
Les dernières spécifications de la plateforme Java Enterprise Edition 5 devront être respectées. Ceci se traduira donc
par l'utilisation des technologies :
– Enterprise Java Beans 3.0 pour la gestion de la couche métiers,
– Java Persistence API pour assurer la persistance des objets,
– Java Server Faces pour l'organisation des pages Web.
Le site sera installé sur un serveur dédié chez un hébergeur américain. La sauvegarde des différentes données et
autres back-ups seront délégués à ce prestataire. La distribution Linux reste à définir. Les caractéristiques techniques
seront proches des éléments suivants :
– un processeur Intel Core2Duo E6550 2x 2.33 GHz,
– 4 Go de mémoire vive,
– 100 Mbps de bande passante pour un trafic illimité,
– 100 Go de disque dur.
Un serveur d'applications compatible JEE y sera configuré et MySQL sera le système de gestion de base de donnés.
Les utilisateurs du site - gérant ou clients - se connecteront à l'aide d'un logiciel de navigation. L'élaboration
graphique respectera les standards du W3C et les pages Web seront optimisées pour les dernières versions des
navigateurs, notamment :
– Microsoft Internet Explorer 7.0,
– Mozilla Firefox 2.0
5 / 23
Architecture et conception Pacific Northwest Shop
2-2 Packages et dépendances
2-2-1 La couche de navigation Web
Les pages Web au format XHTML seront générées dynamiquement à l'aide de JSP, JSF et JSTL. Les interfaces JSP
seront les suivantes :
Les managed beans seront chargés des traitements et des appels effectués par les pages JSP :
6 / 23
Architecture et conception Pacific Northwest Shop
2-2-2 La couche de traitements métiers
Cette couche traite les requêtes envoyées depuis la couche de présentation et retourne un résultat calculé. Dans
notre application, elle comprend donc les stateless beans et stateful beans qui manipuleront les entity beans :
2-2-3 La couche domaine
Ces classes représentent les objets métier manipulés par l'application. Sous forme d'entity beans, elles composent la
couche domaine. La persistence des objets est assuré par la couche de mapping objet/relationnel.
7 / 23
Architecture et conception Pacific Northwest Shop
2-2-4 L'accès aux données
Dans notre application, cette couche est en fait une couche de mapping objet/relationnel. L'accès aux données
s'effectue via les entity beans ci-dessus et JPA. Cette couche sauvegarde les informations d'un objet dans une
représentation physique et réciproquement.
2-2-5 Dépendances
2-3 Déploiement
Les machines représentées ci-contre sont :
– le serveur distant comprend le serveur d'applications GlassFish et la base de données MySQL,
– les serveurs des prestataires accessibles via les services Web,
– le poste d'un internaute qui se connecte au site à l'aide d'un client léger de navigation Web.
8 / 23
Architecture et conception Pacific Northwest Shop
3 Technologies utilisées
3-1 Serveur Web
L'API Java Servlet est une application Java qui permet de générer dynamiquement des données au sein d'un serveur
Web. Les servlets peuvent utiliser toutes les API Java. Le serveur d'applications open-source GlassFish intègre un
conteneur Web, permettant ainsi l'utilisation des servlets 2.5.
3-2 Stockage des données et couche de persistance
Le système de gestion de bases de données relationnelles retenu est MySQL. Une distribution du serveur
d'applications GlassFish intègre désormais la version 5.0 de MySQL et le pilote JDBC MySQL 5.1.6. Le serveur de
base de données sera donc installé sur la même machine que le serveur d'applications. La base de données sera
généré à l'aide de JPA. Il répondra aux besoins exprimés lors de la mise en relation des différents entity beans (voir le
diagramme des classes correspondant dans la seconde partie de cet exposé). La persistance des objets et le
mapping objet/relationnel seront assurés par JPA, à travers les entity beans.
3-3 Couche métier
La couche métier regroupe tous les entity beans. Depuis la spécification EJB 3, les entity beans ne sont plus des
composants lourds mais de simples POJO.
3-4 Couche service
Dans notre application, les stateless session beans et les stateful session beans traitent les requêtes effectuées
depuis la couche présentation. Ces composants remplacent donc les classes Service présentées dans le document
d'analyse.
3-5 Couche présentation
Pour l'application Web, les technologies retenues sont XHTML et CSS. Toutefois, ces pages Web seront générées à
l'aide de servlets, pages JSP et autres tags JSTL. L'architecture du client léger sera le modèle MVC, enrichi par JSF :
– les entity beans sont le modèle,
– les pages JSP représente la vue,
– le contrôleur est implémenté avec une servlet unique (la FacesServlet), chargée d'intercepter toutes les
requêtes HTTP, et le fichier faces-config.xml définit la navigation entre les pages. La FacesServlet déléguera
les traitements aux managed beans.
10 / 23
Architecture et conception Pacific Northwest Shop
3-6 Environnement de développement
Le développement de l'application s'effectuera à partir de l'IDE libre Eclipse for Java EE Developers.
Les diagrammes UML sont générés avec Visual Paradigm.
3-7 Tests unitaires
Pour tester les interactions entre les objets et le bon-fonctionnement de l'application, la bibliothèque Junit sera
utilisée. Pour tester les différents échanges HTTP, l'application intégrera également un module de tests développés
avec HttpUnit.
4 Les acteurs et le système
11 / 23
Architecture et conception Pacific Northwest Shop
4-1 Naviguer sur le site
4-1-1 Rechercher un article
4-1-1-1 Sélectionner une catégorie
12 / 23
Architecture et conception Pacific Northwest Shop
4-1-1-2 Sélectionner un produit
4-1-1-3 Afficher les références d'un produit
13 / 23
Architecture et conception Pacific Northwest Shop
4-1-1-4 Rechercher un article : description des classes
14 / 23
Architecture et conception Pacific Northwest Shop
4-1-2 Effectuer une commande
4-1-2-2 Afficher le contenu du panier
4-1-2-2 Ajouter une référence dans le panier
15 / 23
Architecture et conception Pacific Northwest Shop
4-1-2-6 Effectuer une commande : description des classes
19 / 23
Architecture et conception Pacific Northwest Shop
4-2 La gestion du catalogue par le gérant
4-2-1 Ajouter une catégorie
4-2-2 Modifier une catégorie / un produit / une référence
20 / 23
Architecture et conception Pacific Northwest Shop
4-2-3 Supprimer une catégorie
4-2-4 Ajouter un produit / une référence
21 / 23
Architecture et conception Pacific Northwest Shop
4-2-5 La gestion du catalogue par le gérant : description des classes
22 / 23
Architecture et conception Pacific Northwest Shop
Bibliographie
Ouvrages
Pierre-Alain Muller & Nathalie Gaertner, Modélisation objet avec UML, 2e édition, Eyrolles, 2000
C.T. Arrington, Enterprise Java with UML, John Wiley, 2001
Pascal Roques, UML 2 par la pratique, 5e édition, Eyrolles, 2006
Mike Keith & Merrick Schincariol, Pro EJB 3, Java Persistence API, Apress, 2006
Jonas Jacobi & John R. Fallows, Pro JSF and Ajax, Apress, 2006
Autre référence
Cours Cnam GLG204, Modélisation des besoins avec UML, 2007/2008
23 / 23