12/10/2020 1 Cours Architectures n-tiers et orientées Architectures n-tiers et
12/10/2020 1 Cours Architectures n-tiers et orientées Architectures n-tiers et orientées services NAHLA NAHLA HADDAR HADDAR MAÎTRE ASSISTANT, ISIM MAÎTRE ASSISTANT, ISIM-SFAX, UNIVERSITÉ DE SFAX SFAX, UNIVERSITÉ DE SFAX MEMBRE DU LABORATOIRE MIRACL MEMBRE DU LABORATOIRE MIRACL AUDITOIRES: LFIIM3, LATMW3 AUDITOIRES: LFIIM3, LATMW3 © © 2018 2018-2021 2021 Avant propos 1 L’objectif de ce cours est d’initier les étudiants à l’implémentation de différents types d’architectures (1, 2, 3 et n tiers) en utilisant les technologies Java, JEE, et JAX-RS 12/10/2020 2 2 Architectures Web CHAPITRE 1 : EVOLUTION DES ARCHITECTURES WEB Plan du chapitre 3 1ère génération- Architecture centralisée (1-tiers), 2ème génération- Architecture client-serveur (2-tiers) 3ème génération- Architecture client-serveur (3-tiers) 4ème génération- Architecture n-tiers et orientées services services 12/10/2020 3 Rappel 4 Les trois couches d’une application: o Présentation o Traitement o Données Le découpage et la répartition de ces couches permettent de distinguer les architectures applicatives suivantes : architectures applicatives suivantes : o L'architecture 1-tiers, o l'architecture 2-tiers, o l'architecture 3-tiers, o les architectures n-tiers. 1ère génération- Architecture centralisée (1-tiers) 5 Avantages: o Assure la haute disponibilité et l’intégrité des données, et offre à l’entreprise un système cohérent et fiable. o Coût d’administration faible Inconvénients: o Interface utilisateur en mode caractères o Interface utilisateur en mode caractères o La performance du système tout entier repose sur les capacités de traitement de l'ordinateur central, c'est la raison pour laquelle ce modèle est parfois qualifié d'« informatique lourde ». Présentation + Traitement 12/10/2020 4 2ème génération- Architecture client- serveur (2-tiers) 6 La gestion des données est prise en charge par un SGBD centralisé, s’exécutant le plus souvent sur un serveur de BD. L’ensemble des traitements sont applicatifs par le poste client. Présentation + Traitement applicatifs par le poste client. Avantage: interface utilisateur riche Inconvénients: o Client lourd o Mauvaise sécurité: exposition du schéma des BDs aux clients 3 ème génération - Architecture client- serveur (3-tiers) (1/5) 7 Lorsque nous accédons à un site Internet, nous utilisons la technologie Client- serveur. Il nous faut : o Une application cliente (navigateur Web : Mozilla Firefox, Google Chrome, Internet Explorer) auquel nous fournissons l’adresse du site recherché du type http://www.unsite.net. http://www.unsite.net. o Une application serveur (serveur Web : AppacheHTTP Server, IIS-Internet Information Server, Tomcat). o Un protocole HTTP (HyperText Transfer Protocol): Le protocole HTTP décrit les mécanismes d’organisation et de transmission des données numériques lors d’un échange entre un client (le navigateur) et un serveur Web 12/10/2020 5 3 ème génération - Architecture client- serveur (3-tiers) (2/5) 8 L’application Cliente envoie une requête au serveur Web désigné par l’URL (Uniform Resource Locator) . 3 ème génération - Architecture client- serveur (3-tiers) (3/5) 9 Le serveur Web contacté répond au client en affichant l’ensemble des informations stockées et organisées sur son disque dur à l’URL donnée. 12/10/2020 6 3 ème génération - Architecture client- serveur (3-tiers) (5/5) 10 Tier 1 Tier 2 Tier 3 Les données sont toujours gérées de façon centralisée, Serveur web Ou Serveur d’applications Requête HTTP Réponse HTTP Poste Client Serveur BD Tier 1 Tier 2 Tier 3 Présentation Traitement Les données sont toujours gérées de façon centralisée, La présentation est toujours prise en charge par le poste client, La logique applicative est prise en charge par un serveur web ou un serveur d’applications, Avantages: client léger, sécurité (pas d’exposition du schéma de la BD). Inconvénient: importante charge pour le serveur d’applications. Serveur de BD 11 C’est un système entièrement dédié à la gestion des données en gérant les accès concurrents et la confidentialité des données. Un outil d’administration des informations de façon centralisée. MySQL est un exemple de serveur de bases de données libres MySQL est un exemple de serveur de bases de données libres fiables et très performants. Oracle, Sybase et Microsoft (SQLServer) se répartissent le marché des serveurs de bases de données. 12/10/2020 7 Serveur web VS. Serveur d’application 12 Un Serveur web c’est pour les sites web. o Un serveur web = serveur http + interpréteur (par exemple interpréteur pour le langage PHP) Un Serveur d’applications c’est pour les applications web o Un serveur d’applications = serveur http + conteneur web Un site Web est un ensemble de pages Web stockés dans un Un site Web est un ensemble de pages Web stockés dans un serveur , alors qu’une application web est une application informatique classique. La seule différence est qu'elle doit formater son résultat (ses informations de sortie) en HTML au lieu de les écrire sur la console ou dans une interface graphique. Serveur d’applications 13 Exemples: il en existe plusieurs sur le marché, que l'on peut découper en deux secteurs. o les solutions propriétaires et payantes : WebLogic et WebSphere, respectivement issues de chez Oracle et IBM, sont les références dans le domaine. Massivement utilisées dans les banques et la finance notamment, elles sont à la fois robustes, utilisées dans les banques et la finance notamment, elles sont à la fois robustes, finement paramétrables et très coûteuses. o les solutions libres et gratuites : Apache Tomcat, JBoss, GlassFish et Jonas en sont les principaux représentants. 12/10/2020 8 Protocole HTTP (1/3) 14 Protocole HTTP (2/3) 15 Principe du fonctionnement du protocole HTTP : 1. En tapant l’URL d’un site, l’internaute envoie une requête au serveur. 2. Une connexion s’établie entre le client et le serveur sur le port 80. 3. Le navigateur envoie une requête à l’aide de la méthode Get, Post qui précise comment l’information est envoyée. Le serveur répond à la requête en envoyant une réponse HTTP composé d’un code 4. Le serveur répond à la requête en envoyant une réponse HTTP composé d’un code (200 pour un accord, 400 pour une erreur due au client, 500 pour une erreur due au serveur) et les données à afficher. 5. La connexion est fermée. Pour afficher une nouvelle page du site, une nouvelle connexion doit être établie 12/10/2020 9 Protocole HTTP (3/3) 16 Les méthodes GET() et POST(): o GET( ) : requête avec des valeurs (paramètres). Lorsque les paramètres sont visibles dans l’URL, cela signifie que la méthode utilise pour envoyer la requête est la méthode GET. L’URL http://www.unsite.net/rechercher?nom=karim&prenom=saleh Inconvénients : Inconvénients : Rendre visible des données sensibles telles qu’un mot de passe ou un code de carte bancaire. La longueur de la chaîne transférée est limitée. o POST( ) : envoie les paramètres dans le corps de la requête et non via l’URL. Aucune valeur n’apparaît dans l’URL 4ème génération- Architecture n-tiers et orientées services 17 Principe Principe: Répartir la charge du serveur applicatif sur n serveurs d’applications. Requête HTTP Réponse HTTP Poste Client Serveur BD Serveurs web ou d’applications Présentation Traitement Principe Principe: Répartir la charge du serveur applicatif sur n serveurs d’applications. Avantage Avantage: capacité de répondre à un grand nombre de requête dans un temps optimisé. Inconvénient Inconvénient: problème d’interopérabilité (exprime la capacité du serveur d’application à communiquer et à utiliser les ressources d'autres serveurs comme, par exemple, les documents créés par une certaine application). 12/10/2020 10 Références R. Courdier, cours «Urbanisation des Systèmes d’Information », Laboratoire d’Informatique et de Mathématique (LIM), 2015, URL: 18 R. Courdier, cours «Urbanisation des Systèmes d’Information », Laboratoire d’Informatique et de Mathématique (LIM), 2015, URL: http://lim.univ-reunion.fr/staff/courdier/old/cours/si/2_Urbanisme_des_SI.mht W3C Working Group Note, Web Services Architecture, 2004, URL: https://www.w3.org/TR/ws-arch/ C. Plumejeaud, EAI (Enterprise Application Integration), Urbanisation des SI - NFE107, Fiche de lecture, 2008, URL: http://lig-membres.imag.fr/plumejeaud/NFE107-fichesLecture/EAI.ppt Y. Pollet, Architectures : du client-serveur à la SOA (Introduction aux architectures réparties), CNAM, Chaire d’intégration des systèmes. Humberto Cervantes, thèse « Vers un modèle à composants orienté services pour supporter la disponibilité dynamique », LSR, équipe Adèle. T. Zlitni, cours « développement web 2.0 » , université de Sfax, ISIMS, 2013. Xebia Business Integration Architect, Comprendre et Savoir utiliser un ESB dans une SOA, Xebia, 2007, URL: http://xebia.developpez.com/tutoriels/java/esb-soa/ Chapitre 2 – Gestion de Chapitre 2 – Gestion de bases de données en Java Java COURS ARCHITECTURE N-TIERS ET ORIENTÉES SERVICES DR. NAHLA HADDAR OUALI AUDITOIRES: LFIIM3, LATMW3 © 2019-2020 12/10/2020 11 Plan du Chapitre 20 Introduction Étapes d’accès à une base de données Exception SQLException Établir une connexion à la base Établir une connexion à la base Gestion des requêtes et récupération des résultats Introduction JDBC : Java Data Base Connectivity 21 JDBC : Java Data Base Connectivity o Est une API fournie avec Java (depuis sa version 1.1) permettant de se connecter à des bases de données. o L'API JDBC a été développée de telle façon à permettre à un programme de se connecter à n'importe quel serveur de base de données en utilisant la même syntaxe, c'est-à-dire que l'API JDBC est indépendante du SGBD. o Seule la phase de connexion au SGBD change Permet de faire tout type de requêtes o Sélection de données dans des tables, création de tables et insertion d'éléments dans les tables, etc. Packages : java.sql 12/10/2020 12 Étapes d'accès à une BDD Première étape 22 Première étape o Précisez le type de « driver » que l'on veut utiliser o Le Driver permet de gérer uploads/Ingenierie_Lourd/ cours-architecture-n-tiers-chap1-2.pdf
Documents similaires










-
34
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Fev 05, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 1.3602MB