1 JEE 2010 Architectures n-tiers F.Pfister
2 JEE 2010 Structuration en niveaux Partie Métier Partie Métier Le niveau métier doit être pérenne
3 JEE 2010 Evolution de la technologie Modèle d'exécution Application desktop 2 ou 3 niveaux Application web client léger Application web client lourd Service web Modèle de persistance Sérialisation Base de données objet Base de données relationnelle (SGBDR) Mapping objet + SGBDR Objet persistant distant (EJB)
4 JEE 2010 Séparation des préoccupations Le modèle métier doit rester indépendant des couches techniques De l'interface utilisateur Lorsque cette condition est réalisée le coeur des applications peut migrer d'une technologie informatique à la suivante Les fonctionnalités métier peuvent être testées et validées par des procédures automatisées (tests unitaires et tests d'intégration)
5 JEE 2010 Démarche d'ingénierie Un langage UML, Unified modeling Language Un procesus UP, Unified Process XUP, Extreme Unified Process 2TUP, Two Track Unified Process etc..
6 JEE 2010 Le processus du projet UP est à base de composants UP utilise UML UP est piloté par les cas d’utilisation UP est centré sur l’architecture UP est itératif et incrémental UP sépare les préoccupations Les aspects techniques Solution de persistance Nature du client (lourd -léger) Le modèle métier Classes métier
7 JEE 2010 Les cas d'utilisation Point d'entrée de la démarche L'approche est purement fonctionnelle Spécifient le besoin Point de vue de l'utilisateur Forme: Scénarii textuels Diagrammes de cas (use cases)
8 JEE 2010 Trouver les cas d'utilisation Exemple: modélisation d'un GAB Client Effectuer un retrait Consulter un compte Operateur
9 JEE 2010 Trouver et Réaliser les cas d'utilisation Trouver les cas d’utilisation Réaliser les cas d’utilisation – Modéliser les scénarii – Identifier les entités du système et leurs interactions
10 JEE 2010 Réaliser les cas d'utilisation Vue dynamique – Objets, rôles et interactions Client Consulter un compte Operateur Alimenter le GAB en billets :Client :InterfaceGuichet:Distributeur:Retrait:Compte identifier() demandeRetrait(montant) valider(montant) effectuerRetrait(montant) distribuer(montant) delivrerBillets() Effectuer un retrait
11 JEE 2010 Structurer le système en objets – Trouver les entités du système – Définir leurs attributs – Définir leurs relations (associations, héritage) Trouver les cas d’utilisation Réaliser les cas d’utilisation Structurer le système en objets
12 JEE 2010 Découverte des classes candidates Vue statique du système – Classes et associations Client Guichet Automatique Bancaire Consulter un compte Operateur Alimenter le GAB en billets Guichet Automatique Bancaire :Compte Effectuer un retrait :Client interfaceGuichet:distributeur::Retrait identifier() demandeRetrait(montant) valider(montant) effectuerRetrait(montant) distribuer(montant) delivrerBillets() distribuer() Client InterfaceGuichet Distributeur Retrait Compte * demandeRetrait() valider() effectuerRetrait() identifier() solde
13 JEE 2010 Implémentation et tests d'intégration Trouver les cas d’utilisation Réaliser les cas d’utilisation Implémenter les composants de déploiement du système Tester les cas d’utilisation ok ? Guichet Automatique Bancaire Guichet Automatique Bancaire * Structurer le système en objets
14 JEE 2010 Notre projet Réaliser une application de gestion bancaire Le modèle d'exécution est le client léger avec serveur applicatif La technologie utilisée est JEE aka Java Enterprise Edition (ex J2EE) Le modèle métier est partiel et simplifié, car notre propos est de faire de l’architecture technique Mais nous n'oublions pas que le modèle métier est au coeur du projet
15 JEE 2010 La démarche Appréhender les outils de développement Rédiger une spécification fonctionnelle simplifiée Concevoir un modèle métier simplifié (6 classes) Banque Client Compte Compte-epargne Compte-courant Ville Implémenter les classes Réaliser des jeux de test unitaire Concevoir le tiers web (choisir les technologies) Mettre en place le serveur d’applications Concevoir l'interface utilisateur Choisiret implémenter la technologie de persistance des objets métier Intégration et tests
16 JEE 2010 Modalités Outils utilisés: Eclipse, Jboss Technologie: JEE, Jsp, Servlets, Jsf, Web- services Durée: 30 heures cours + tp Evaluation: dossier de projet et démo lors de la dernière séance.