SUPPORT DE COURS & TRAVAUX DIRIGES Programmation N-TIERS Adressé aux étudiants

SUPPORT DE COURS & TRAVAUX DIRIGES Programmation N-TIERS Adressé aux étudiants en troisième année de Licence Appliquée en Technologies de l’Informatique Parcours Multimédia et Développement Web Elaboré par : Fatma zahra BOUZIDI Assistante technologue REPUBLIQUE TUNISIENNE MINISTERE DE L ’ENSEIGNEMENT SUPERIEUR, DE LA RECHERCHE SCIENTIFIQUE ET DES TECHNOLOGIES DE L'INFORMATION ET DE LA COMMUNICATION DIRECTION GENERALE DES ETUDES TECHNOLOGIQUES INSTITUT SUPERIEUR DES ETUDES TECHNOLOGIQUES DE KASSERINE Contact : Fatmazahra.bouzidi85@gmail.com Année Universitaire 2013/2014 Avant-propos Cet ouvrage « PROGRAMMATION N-TIERS » est à l’intention des étudiants de troisième année en Licence appliquée en technologies de l’informatique à l’Institut Supérieur des Etudes T echnologique de Kasserine, parcours Multimédia et Développement Web . L’étudiant trouvera dans cet ouvrage une initiation à la programmation N- tiers en prenant comme exemple la plateforme JavaEE, il s’agit de préparer l’étudiant à apprendre les compétences théoriques nécessaires pour programmer une application faisant la distinction entre la présentation, le traitement et les données en imbriquant quelques API de javaEE . Après avoir compris les différentes architectures et la plateforme JavaEE, l’étudiant sera capable à la fin de cet ouvrage de créer une application simple selon le modèle MVC et de s’approfondir sur la programmation N- Tiers. Ce cours nécessite des prérequis: des notions en développement Java et des notions en langages HTML sont nécessaires. L’ouvrage est divisé en cinq chapitres : Le premier chapitre décrit les niveaux d’abstraction d’une application. Le découpage de ces niveaux en couches définit son architecture. Ce chapitre présente rapidement différent architectures applicatifs ainsi que leurs inconvénients et avantages. Le deuxième chapitre présente la plateforme JavaEE, ses API, son architecture, et son environnement d’exécution : l’étudiant sera capable de distinguer entre les différentes couches d’une architecture JavaEE et les API qui les composent ainsi que le mode d’assemblage et de déploiement de chaque module d’une application JavaEE. Le troisième chapitre introduit les API Servlet et JSP en présentant les concepts nécessaires pour comprendre chaque composant : définition, radiographie, cycle de vie. Le quatrième chapitre représente le noyeau de ce cours en décrivant une implémentation simple d’une architecture MVC imbriquant les API servlet, Jsp et un objet Java : l’étudiant sera capable de collaborer entre une servlet et une Jsp, de savoir transmettre des données issues d’un client et des données issus d’un serveur et de comprendre un exemple implémentant le modèle MVC. Le dernier chapitre introduit l’API javaBean et présente une implémentation de modèle MVC imbriquant les composants JSP, Servlet et javaBean. Domaine de Formation : Sciences et Technologies Mention TI Mention : Technologies de l’Informatique (TI) Spécialité MDW Parcours : Multimédia et Développement Web Semestre S5 UNITÉ D’ENSEIGNEMENT (UE) : PROGRAMMATION N- TIERS Crédits : 5 Coef : 5 Volume Horaire par Semestre : 90 Semaine : 6 Fiche Matière Élément Constitutif (ECUE) Vol. Horaire / Semestre Coeffici ent Crédit s Évaluati on PROGRAMMATION N- TIERS Cours TD TP 1.5 1.5 Contrôle continu 11.2 5 11.2 5 0 22.5 Ventilation / Semaine 0.75 0.75 0 1.5 Objectif(s) Génér(al)/(aux) Le cours vise à donner à l’apprenant les compétences théoriques nécessaires pour programmer des applications faisant la distinction entre l'aspect métier et les aspects non fonctionnels. Objectifs Spécifiques - Comprendre l’architecture client serveur. - Comprendre l'architecture N-Tiers: Tiers présentation, tiers métier, tiers données. -Comprendre l’architecture MVC - Comprendre La plate-forme Java: J2EE -savoir programmer des servlets -savoir programmaer des jsps -savoir programmer des javabeans -Etre capable de mettre en œuvre une architecture MVC Mots-Clés Client, Serveur, Métier, Plate-forme, Architecture, J2EE, MVC, N-Tiers, JSP, Servlet, JavaBean etc. Pré-requis UE : Développement Web 1. Éléments de Contenu - Architecture Client Serveur. - Architecture N-Tiers. - Architecture MVC - Plate-forme J2EE - JSP,Servlet,JavaBean - Implémentation de MVC Moyens et Outils Pédagogiques - Cours, Travaux dirigés, mini-projet Table des matières Chapitre IPrésentation générale.............................................................................1 1 Les trois niveaux d'abstraction d'une application.........................................2 2 L'architecture 1-tiers.....................................................................................2 2.1 Présentation...........................................................................................2 2.2 Limitations..............................................................................................3 3 L'architecture 2-tiers.....................................................................................4 3.1 Présentation...........................................................................................4 3.2 Avantages et inconvénients de l'architecture 2-tiers.............................4 4 L'architecture 3-tiers.....................................................................................5 4.1 Présentation...........................................................................................5 4.2 Avantages et inconvénients de l'architecture 3-tiers..............................6 5 Les architectures N-tiers...............................................................................7 5.1 Présentation...........................................................................................7 5.2 Avantages et inconvénients de l'architecture N-tiers :..........................8 6 L’architecture Modèle-Vue- Contrôleur (MVC) :............................................8 6.1 Présentation...........................................................................................8 6.2 Avantages et inconvénients..................................................................10 6.3 Différence avec l’architecture 3-tiers....................................................10 Chapitre II Présentation de la plateforme Java EE...............................................12 1 La présentation de Java EE.........................................................................13 2 Les API de Java EE.......................................................................................13 3 Architectures en Java EE.............................................................................14 3.1 Les composants clients ou tiers Client..................................................15 3.2 Les composants Web ou tiers Web.......................................................17 3.3 Les composants métier ou tiers Métier.................................................17 3.4 Enterprise Information System Tier......................................................18 4 Les conteneurs Java EE...............................................................................18 5 L'assemblage et le déploiement d'applications J2EE...................................20 Chapitre III Introduction aux Servlets et pages JSP..............................................22 1 Introduction aux Servlets............................................................................23 1.1 Qu’est-ce qu'une servlet.......................................................................23 1.2 Cycle de vie d’une servlet....................................................................23 1.3 Radiographie d’une première servlet....................................................27 2 Introduction aux JSP....................................................................................30 2.1 Pourquoi une JSP?.................................................................................30 2.2 C’est quoi une JSP?...............................................................................30 2.3 Cycle de vie d'une JSP..........................................................................31 2.4 Radiographie d’un Script JSP................................................................33 2.5 Les Balises JSP......................................................................................35 2.6 Les variables prédéfinis :......................................................................39 Chapitre IV Implémentation de MVC....................................................................40 1 MVC et Java EE............................................................................................41 2 Collaboration entre JSP et servlets : l’interface requestdispatcher.............41 3 Transmission de données: les paramètres et les attributs..........................43 3.1 Différence entre paramètres et attributs..............................................43 3.2 Transmission des attributs : méthodes setAttribute() et getAttribute() 44 3.3 Transmission des paramètres : méthode getParameter().....................45 4 Exemples d’applications du design pattern MVC :.....................................46 4.1 Exemple1 :............................................................................................46 4.2 Exemple 2 :...........................................................................................55 Chapitre V JavaBeans et Scope...........................................................................60 1 JavaBeans...................................................................................................61 1.1 C’est quoi un Javabean.........................................................................61 1.2 Structure d’un Javabean.......................................................................61 1.3 Comment utiliser des beans ?..............................................................61 2 Implémentation du MVC (avec les JavaBeans)............................................62 3 Les Scopes d’un bean.................................................................................66 3.1 Partage de données sur requête...........................................................66 3.2 Partage de données sur session...........................................................67 3.3 Partage de données sur application (Rare)...........................................68 Travaux dirigées...................................................................................................70 TD N°1 : Les bases.................................................................................................71 Correction TD N°1 : Les bases..................................................................................73 TD N°2 : Introduction aux Servlets et pages JSP.............................................................79 Correction TD N°2 : Introduction aux Servlets et pages JSP...............................................81 TD N°3: Implémentation de MVC..............................................................................95 Correction TDN°3 : Implémentation de MVC..............................................................100 DEVOIR SURVEILLE.............................................................................................109 EXAMEN..................................................................................................................1 REFERENCES..........................................................................................................1 Liste des figures Figure I-1 : Schéma explicatif du modèle MVC.....................................................11 Figure II-1 Architecture Java EE standard..............................................................17 Figure II-2 : Tier client, Tier web et Tier métier.....................................................18 Figure II-3 : Tiers Web et Tiers Métier Java EE.......................................................20 Figure II-4 : Serveur Java EE et conteneurs...........................................................21 Figure III-1 : L’interface Servlet.............................................................................26 Figure III-2 : cycle de vie d’une Servlet.................................................................27 Figure III-3 : cycle de vie détaillé d’une servlet....................................................29 Figure III-4 : traitement de deux requêtes par le serveur.....................................30 Figure III-5 : recherche de la Ssevlet dans le fichier web.xml...............................33 Figure III-6 : CorrespondanceJSP/Servlet...............................................................34 Figure III-7 : Cycle de vie d’une JSP......................................................................36 Figure IV-1 : Collaboration entre JSP et servlets...................................................45 Figure IV-2 : Liste des promos..............................................................................51 Figure IV-3 : Étape 1 du modèle MVC...................................................................51 Figure IV-4 : Étape 2 du modèle MVC...................................................................53 Figure IV-5 : Étape 3 du modèle MVC...................................................................54 Figure IV-6 : Étape 4 du modèle MVC...................................................................56 Figure IV-7 : Étape 5 du modèle MVC..................................................................57 Figure IV-8 : Liste des promos..............................................................................58 Figure IV-9 : Formulaire HTML...............................................................................59 Figure IV-10 : pages d'affichage des données de formulaire................................59 Figure V-1 : implémentation du MVC....................................................................67 Liste des tableaux T ableau II-1 : Les différents types d'archives........................................................23 CHAPITRE I : PRESENTATION GENERALE Chapitre I Présentation générale OBJECTIFS L’objectif de ce chapitre est de :  Comprendre le découpage en couches d’une application ;  Comprendre l’architecture Client/serveur ;  Connaitre les architectures 1-Tiers, 2-Tiers, 3-Tiers et N-Tiers ;  Comprendre l’architecture MVC. 1 Les trois niveaux d'abstraction d'une application En général, une application informatique peut être découpée en trois niveaux d'abstraction distincts : La présentation, encore appelée IHM permet l'interaction de l'application avec l'utilisateur. Cette couche gère les saisies au clavier, à la souris et la présentation des informations à l'écran. Dans la mesure du possible, elle doit être conviviale et ergonomique. La logique applicative, les traitements, décrivant les travaux à réaliser par l'application. Ils peuvent être découpés en deux familles : Les traitements locaux, regroupant les contrôles effectués au niveau du dialogue avec l'IHM, visant essentiellement le contrôle et l'aide à la saisie, Les traitements globaux, constituant l'application elle-même. Cette couche, appelée Business Logic ou couche métier, contient les règles internes qui régissent une entreprise donnée. Les données, ou plus exactement l'accès aux données, regroupant l'ensemble des mécanismes permettant la gestion des informations stockées par l'application. 1 CHAPITRE I : PRESENTATION GENERALE Ces trois niveaux peuvent être imbriqués ou répartis de différentes manières entre plusieurs machines physiques. Le découpage et la répartition de ces niveaux permettent de distinguer les architectures applicatives suivantes :  l'architecture 1-tiers ;  l'architecture 2-tiers ;  l'architecture 3-tiers ;  les architectures n-tiers. 2 L'architecture 1-tiers 2.1 Présentation Dans une application 1-tiers, les trois couches applicatives sont fortement liées et s'exécutent sur le même ordinateur. On ne parle pas ici d'architecture client-serveur, mais d'informatique centralisée. Dans un contexte multi-utilisateurs, on trouve les applications sur site central : les utilisateurs se connectent aux applications exécutées par le serveur central (le mainframe) à l'aide de terminaux passifs se comportant en esclaves. C'est le serveur central qui prend en charge l'intégralité des traitements, y compris l'affichage qui est simplement déporté sur uploads/Ingenierie_Lourd/ cours-et-td-ntiers-repare.pdf

  • 28
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager