Refonte front-office / back-office - Architecture & Conception -



Documents pareils
Cours en ligne Développement Java pour le web

Refonte front-office / back-office - Expression des besoins -

Compte Rendu d intégration d application

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Mise en œuvre des serveurs d application

Formation en Logiciels Libres. Fiche d inscription

Auto-évaluation Aperçu de l architecture Java EE

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Environnements de Développement

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

CQP Développeur Nouvelles Technologies (DNT)

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

les Cahiers du Programmeur 2 e édition EJB 3.0 JPA JSP JSF Web Services JMS GlassFish Ant Antonio Goncalves

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

CAHIER DES CHARGES D IMPLANTATION

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Java pour le Web. Cours Java - F. Michel

JOnAS Day 5.1. Outils de développements

Application web de gestion de comptes en banques

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Visual Paradigm Contraintes inter-associations

1. Installation d'un serveur d'application JBoss:

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

10. Base de données et Web. OlivierCuré

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

Architectures en couches pour applications web Rappel : Architecture en couches

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Expert technique J2EE

Un serveur d'archivage

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Notre Catalogue des Formations IT / 2015

Pré-requis installation

EXA1415 : Annotations

PROSOP : un système de gestion de bases de données prosopographiques

Catalogue des Formations Techniques

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Introduction à la plateforme J2EE

MEMOIRE DE STAGE DE FIN D ETUDE

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

LE CENTRE DE RÉFÉRENCE PROFESSIONNELLE TIC DE BRUXELLES TAKE I.T. EASY FORMATION TECHNIQUES IT & WEB POUR INFORMATICIENS

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Configuration matérielle et logicielle requise et prérequis de formation pour le SYGADE 6

FileMaker 13. Guide ODBC et JDBC

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]

Devenez un véritable développeur web en 3 mois!

JOnAS 5. Serveur d application d

LICENCE : INFORMATIQUE GENERALE

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Evaluation Idéopass Cahier d analyse technique

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

J2EE - Introduction. Développement web - Java. Plan du chapitre

Président d Inotekk Gestion de la société, développement du portefeuille clients, gestion et réalisation des projets informatiques

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Le passage à l échelle de serveur J2EE : le cas des EJB

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche

Configuration Interface for MEssage ROuting

Logiciel de conférence Bridgit Version 4.6

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

Programmation Web. Introduction

Outil de Demande de Backup Système

Architecte Logiciel. Unité de formation 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Formation : Langues : Types d Intervention et Secteurs d Activité :

WEBSPHERE & RATIONAL. Jacques Rage

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

Burckel Thomas. Formation. Compétences

Pré-requis installation

Module BD et sites WEB

Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.

Configuration Matérielle et Logicielle AGORA V2

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Pré-requis installation

Exigences système Edition & Imprimeries de labeur

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Point sur les solutions de développement d apps pour les périphériques mobiles

Cahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD)

CALENDRIERS DES FORMATIONS LILLE

Création d une application JEE

Introduction aux «Services Web»

Transcription:

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

Table des matières 1 Objectif du document...4 2 Architecture...5 2-1 Contraintes techniques...5 2-2 Packages et dépendances...6 2-2-1 La couche de navigation Web...6 2-2-2 La couche de traitements métiers...7 2-2-3 La couche domaine...7 2-2-4 L'accès aux données...8 2-2-5 Dépendances...8 2-3 Déploiement...13 3 Technologies utilisées...15 3-1 Serveur Web...15 3-2 Stockage des données et couche de persistance...15 3-3 Couche métier...15 3-4 Couche service...15 3-5 Couche présentation...15 3-6 Environnement de développement...16 3-7 Tests unitaires...16 4 Les acteurs et le système...16 4-1 Naviguer sur le site...17 4-1-1 Rechercher un article...17 4-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...20 4-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

4-1-2-6 Effectuer une commande : description des classes...24 4-2 La gestion du catalogue par le gérant...25 4-2-1 Ajouter une catégorie...25 4-2-2 Modifier une catégorie / un produit / une référence...25 4-2-3 Supprimer une catégorie...26 4-2-4 Ajouter un produit / une référence...26 4-2-5 La gestion du catalogue par le gérant : description des classes...27 Bibliographie...28 3 / 23

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

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

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

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

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

9 / 23

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

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

4-1 Naviguer sur le site 4-1-1 Rechercher un article 4-1-1-1 Sélectionner une catégorie 12 / 23

4-1-1-2 Sélectionner un produit 4-1-1-3 Afficher les références d'un produit 13 / 23

4-1-1-4 Rechercher un article : description des classes 14 / 23

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

4-1-2-3 Valider son panier 16 / 23

4-1-2-4 Sélectionner le transporteur 17 / 23

4-1-2-5 Régler la commande 18 / 23

4-1-2-6 Effectuer une commande : description des classes 19 / 23

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

4-2-3 Supprimer une catégorie 4-2-4 Ajouter un produit / une référence 21 / 23

4-2-5 La gestion du catalogue par le gérant : description des classes 22 / 23

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