Architectures NTiers Paradigme MVC

Slides:



Advertisements
Présentations similaires
- Formation STRUTS 1 1.
Advertisements

Présentation de frameworks J2EE
JEE 5 - JSF F.Pfister 2 institut eerie Les technologies du web Servlets JSP MVC Model 1 : servlets + JSP MVC Model.
Exposé de Système - Informatique et Réseau
Cours 5.3 : XML et les architectures N-tiers – Tier Présentation
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
Toolkit Web Framework Java pour les IHMs Cédric Dumas mars 2008 contrat Creative Commons Paternité-Pas d'Utilisation Commerciale- Partage.
Design Pattern MVC En PHP5.
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
Environnement Premier projet.
Servlet JAVA.
Sécurité Informatique
Oct.-2000DESS IIDEE © B. BAH 1 ASP Caractéristiques dun fichier ASP Son extension : « *.asp » La balise: Son indépendance vis à vis de toute plate–forme,
PROJET HANDICAPS Certificat de Qualification Professionnelle
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Intégrer IdRef dans les applications documentaires de votre université. Pourquoi ? Comment ? Atelier JABES2011.
JAVA SERVER FACES (JSF)
Architectures Web - N-Tiers
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
pour les applications Web :
Présentation Struts1-JaxB
JAVASERVER FACES Un framework Java pour le développement Web.
SERVLETS PRESENTATION
Développement Rapide dApplications Web avec.NET « Mon premier site »
Normandy JUG Présentation de JSF.
Une base de données XML sur le net
Les instructions PHP pour l'accès à une base de données MySql
Projet JAVA EE Approfondi
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Gestion des bases de données
Framework Play 2.0 Démonstration du proof of concept
Clients riches RIA (Rich Internet Application) / RDA
PROJET DE GENIE LOGICIEL 2005
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
JSP (Java Server Pages)
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Adaptée du cours de Richard Grin
Chapitre 3 Les bibliothèques de balises JSP et la JSTL
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Découverte des Framework : SPRING & JAXB
Lyda tourisme Process en PHP. Objectif Il s’agit de construire un segment de process dans un système d’information touristique.
Annexe 2 entêtes HTTP et cookies. Accéder aux objets requêtes et réponses Ces objets sont disponibles dans les classes clé depuis la méthode awake les.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
GESTION DE COMPOSANTS ELECTRONIQUES
Auvray Vincent Blanchy François Bonmariage Nicolas Mélon Laurent
1TD Urbanisation des Systèmes d'information - le SI de la mission Mars Exploration Rover Les documents et les sections qui contiennent des informations.
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Struts.
JAOO Octobre JAOO 2007 Evènement annuel au Danemark depuis 10 ans, 15 ème édition 3 jours de conférence  Sessions organisées en « Tracks.
 Formulaires HTML : traiter les entrées utilisateur
Initiation au JavaScript
Initiation au web dynamique Licence Professionnelle.
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Serveurs Web à contenu dynamique Emmanuel Cecchet INRIA Rhône-Alpes, Projet Sardes Rice University, Systems lab
13/07/2015 JSF Java Server Faces Master 2 Pro GLR TER David Mihura Eric Le Merdy.
Les Java Server Pages Dans ce chapitre, nous allons :
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Dreamweaver (2) ● les calques (layers) ● les comportements
DREAMWEAVER MX2 - Séance 2 Les calques Les comportements Les scénarios Les formulaires Les feuilles de style Les modèles Les cadres Mise en ligne Jérôme.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Diagrammes de comportement Présentation. Diagramme de séquence  Permet de modéliser les envois de messages entre objets chronologiquement.  Modélisation.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Architecture J2EE Web Jean-Jacques LE COZ. J2EE Web Container JSP Page Servlet J ava 2 Standard Edition APIs EJB Container EJB JDBCJMS JNDI JTA JavaMail.
MVC et applications Web
Transcription de la présentation:

Architectures NTiers Paradigme MVC francois.pfister@mines-ales.fr 2012-2013

Architecture 4Tiers – MVC2 simplifié serveur web (tiers 2) Client (tiers 1) serveur données (tiers 4) Serveur métier (tiers 3) Contrôleur CustomerServlet BankServlet Account.jsp Bank.jsp Customer.jsp AccountServlet Customer.java Bank.java Account.java CustomerDao AccountDao BankDao session 1 2 3 4 5 6 7 8 9 persistance Stocké à long terme Stocké temporairement Modèle Vue NB: les séquences 2,4,7 et 8 schématisées comme des relations 1-1 peuvent être croisées

Cycle requête-réponse nominal 1 2 3 4 5 6 7 8 9 Une requête http est émise par le navigateur web à partir du poste client La requête est reçue par le serveur web et transmise à la servlet concernée La servlet détermine l'action à exécuter, et envoie un message aux objets d'accès au domaine (DAO) Les DAO extraient les objets voulus de la couche de persistance, les modifient (RG) et les restockent La servlet reçoit en retour ces objets modifiés par l'action exprimée par la requête La servlet stocke les objets métier dans le contexte de session La servlet transmet la requête, ainsi que le flux de réponse à la jsp (vue) La jsp extrait le (les) objet métier modifiés du contexte pour constituer la page La jsp retoune la réponse à l'utilisateur, en réponse à sa requête

Une séquence requête-réponse avec gestion d’erreur et gestion de la navigation 1 Une requête http est émise par le navigateur web à partir du poste client 2 La requête est reçue par le serveur web et transmise à la servlet concernée 3 La servlet détermine l'action à exécuter, et envoie un message aux classes d'accès au domaine (DAO) 4 Les DAO extraient les objets voulus de la couche de persistance, appliquent les règles de gestion et les restockent En cas d’erreur (conversion, validation des règles métier, autre…), fin du cycle nominal pas de restockage, poursuivre le cycle avec les beans erronés + messages pour correction par l’utilisateur 5 La servlet reçoit en retour ces objets modifiés par l'action exprimée par la requête (ou erronés) 6 La servlet stocke les objets métier dans le contexte de session 7 La servlet transmet la requête, ainsi que le flux de réponse à la jsp (vue) la servlet décide la vue cible (interprète le diagramme de navigation) (compte-tenu des erreurs) 8 La jsp cible extrait le (les) objet métier modifiés du contexte pour constituer la page 9 La jsp retoune la réponse à l'utilisateur, en réponse à sa requête

Notre implémentation du cycle requête-réponse étape 1: (il existe une session) décoder les événements depuis les paramètres de la requête http étape 2: reconstituer l'objet de domaine depuis les paramètres de la requête http (formBean), et créer des copies: oldBean (sauvegarde) et newBean(objet final) étape 3: retrouver la valeur de l'objet du domaine avant l'action, de préférence dans la couche de persistance, sinon dans notre contexte web, sinon prendre le 1° objet de la liste étape 4: en cas de modification de l'objet conformément à une règle de gestion: 4a appliquer les règles de gestion 4b gérer les erreurs de validation, générer les messages d'erreur 4c appliquer la nouvelle valeur sur le modèle si les règles sont vérifiées et faire persister l'objet modifié 4d préparer l'objet validé en tant que résultat, ou invalidé pour correction, à représenter dans la vue (newbean) étape 5: appliquer les règles de navigation, déterminer la vue pour présenter le résultat de la requête étape 6: diriger la requête vers la vue

Architecture JSF Source: tutorial primefaces ftp://ftp-developpez.com/tahe/fichiers-archive/jsf2-pf-pfm.pdf

Cycle requête-réponse pour JSF

Cycle requête-réponse pour JSF • en [A - RestoreView], grâce au champ caché javax.faces.ViewState la vue initialement envoyée au navigateur client est reconstituée. Ici, les composants de la page retrouvent la valeur qu'ils avaient dans la page envoyée. • en [B - ApplyRequests], les valeurs postées par le navigateur client sont utilisées pour mettre à jour les composants de la vue. Désormais la vue reflète la page telle que l'a modifiée l'utilisateur . • en [C- ProcessValidations], les valeurs postées sont vérifiées. (conversions String -> Types), mais aussi validations (intervalles de saisie, etc..). .Si la conversion échoue, fin du cycle request-response et la page P construite en [B] est renvoyée au navigateur client avec des messages d'erreur si l'auteur de la page P les a prévus. • en [D-UpdateModelValues], si tous les composants de la page P passent l'étape de conversion et de validation, leurs valeurs vont être affectées au modèle M de la page P. Si la valeur du champ de saisie généré à partir de la balise suivante : <h:inputText value="#{form.inputText}"/> est "jean", alors cette valeur sera affectée au modèle form de la page par exécution du code form.setInputText("jean"). • en [E-InvokeApplication], calcul de la clé de navigation (nom de la page XHTML à afficher) ; ou alors chercher une clé dans le document faces-config.xml. • en [F-RenderResponse], c’est la génération du flux en retour vers le navigateur.

MVC1 vs MVC2 Source: http://www.devmanuals.com/tutorials/java/struts/struts2/MVC1vsMVC2.html

MVC1 vs MVC2 MVC1 MVC2 Associates the presentation logic with the business logic Isolates or disassociates the presentation logic from business logic Only one component is responsible for receiving request and sending response Separate components for receiving and  sending response. i.e. Controller & View Business logic and presentation Logic is combined so web designer and web developer cannot work simultaneously Since both logics are separate that's why designer and developer can work together Doesn't support reusability of application components Reusability of components Controller and model,both are JSP Controller is servlet and model is java class Tight coupling between page and model as data access is usually done using Custom tag or through java bean call One controller receives the request for the application and is responsible for taking appropriate action in response to each request