refonte front-office / back-office - architecture & conception...

23
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-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23

Upload: doanthien

Post on 09-May-2018

216 views

Category:

Documents


2 download

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

9 / 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-3 Valider son panier

16 / 23

Architecture et conception Pacific Northwest Shop

4-1-2-4 Sélectionner le transporteur

17 / 23

Architecture et conception Pacific Northwest Shop

4-1-2-5 Régler la commande

18 / 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