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



Documents pareils
Module BD et sites WEB

Les Architectures Orientées Services (SOA)

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Mise en œuvre des serveurs d application

Programmation Web. Introduction

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

Architectures web/bases de données

1.2 - Définition Web 2.0 ( wikipedia )

Cours Bases de données

Java pour le Web. Cours Java - F. Michel

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

Business & High Technology

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

UE 8 Systèmes d information de gestion Le programme

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

Expert technique J2EE

Programmation Web. Madalina Croitoru IUT Montpellier

Introduction aux applications réparties

Formation en Logiciels Libres. Fiche d inscription

Annuaires LDAP et méta-annuaires

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Architectures en couches pour applications web Rappel : Architecture en couches

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Compte Rendu d intégration d application

Développement des Systèmes d Information

Les nouvelles architectures des SI : Etat de l Art

PostgreSQL, le cœur d un système critique

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Drive your success. «Un écosystème complexe implique une capacité de gestion temps réel des aléas»

Entreprises Solutions

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Merise. Introduction

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Messagerie asynchrone et Services Web

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

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

Architectures n-tiers Intergiciels à objets et services web

Fournir un accès rapide à nos données : agréger au préalable nos données permet de faire nos requêtes beaucoup plus rapidement

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Le 09 et 10 Décembre 09

Fiche de l'awt Intégration des applications

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

Architectures d'intégration de données

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

Cisco Certified Network Associate

Notre Catalogue des Formations IT / 2015

Mercredi 15 Janvier 2014

Etude de cas : PGE JEE V2

Architecture et infrastructure Web

Systèmes d'informations historique et mutations

CQP Développeur Nouvelles Technologies (DNT)

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

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

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Bases de données cours 1

Le e s tocka k ge g DAS,NAS,SAN

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP

W4 - Workflow La base des applications agiles

Description de la formation

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

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

TP architecture N-tiers en Java EE ou Java EE, Android : la synthèse. Le serveur GereCompteBancaireServlet

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Cours: Administration d'une Base de Données

CAHIER DES CHARGES D IMPLANTATION

Livre Blanc WebSphere Transcoding Publisher

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

Urbanisation des systèmes d information

ERP5. Gestion des Services Techniques des Collectivités Locales

Application web de gestion de comptes en banques

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

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Une famille d'applications permettant à toute organisation d'optimiser le suivi et la gestion de ses ressources internes vous présente

Programmation Internet Cours 4

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Présentation des CMS au CIFOM-EAA

Nouvelles Plateformes Technologiques

En savoir plus pour bâtir le Système d'information de votre Entreprise

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

CAHIER DE S CHARGE S Remote Workload Manager

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Environnements de Développement

Introduction MOSS 2007

Application Web et J2EE

OmniVista 2700 Application complémentaires pour l OmniVista 2500 Network Management

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

Introduction à la conception de systèmes d information

Hébergement MMI SEMESTRE 4

les techniques d'extraction, les formulaires et intégration dans un site WEB

Les ressources numériques

BES WEBDEVELOPER ACTIVITÉ RÔLE

Urbanisme du Système d Information et EAI

Gestion des documents associés

BUSINESS INTELLIGENCE

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

Transcription:

Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. L application émet un résultat sous forme de données qui sont, soit affichées, soit enregistrées sur un disque. Données en entrée Application Données en sortie Dans ce schéma, les traitements, les données d entrées, les données de sortie sont sur une seule machine. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 1

Architecture Multi-Tier On peut alors séparer l application en différentes parties : - La couche interface homme machine - La couche de traitement -La couche de gestion des données. Et toute application possède ces trois parties. On parle de couches, de niveaux ou de tier (de l anglais tier : étage). CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 2

Architecture Multi-Tier Jusqu au années 90, ces trois couches étaient la plupart du temps sur la même machine. L application utilisait les disques de la machine pour lire les données a traiter et stocker les données résultantes du traitement (sauf sur les gros systèmes). A partir des années 90, vu l explosion de la volumétrie des données, on a séparé les applications des données. Ces dernières étaient alors stockées dans des bases de données sur d autres machines. Les applications accédaient aux données à travers les réseaux sur des machines serveurs de données disposant d un SGBD. C est une architecture 2-Tier, ou encore client serveur. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 3

Architecture 2-Tier Ce type d application permet d utiliser toute la puissance des ordinateurs présents sur le réseau et permet de fournir à l utilisateur une interface riche, tout en garantissant la cohérence des données qui restent gérées de façon centralisée. La gestion des données est prise en charge par un SGBD centralisé sur un serveur dédié. On interroge ce serveur à travers un langage de requête, le plus courant étant SQL. Le dialogue entre le client et le serveur se résume donc à l envoi de requêtes et aux données en réponse. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 4

On distingue donc deux parties : Architecture N-Tier Architecture 2-Tier 1. Le client 2. Le serveur qui se contente de répondre aux requêtes du client. Le client provoque l établissement d une conversation afin d obtenir des données ou un résultat de la part du serveur. Cet échange de messages transite à travers le réseau reliant les deux machines. Il met en œuvre des mécanismes complexes qui sont en général pris en charge par un intergiciel appelé middleware. Le middleware est l'ensemble des couches réseau et services logiciels qui permettent le dialogue entre différents composants d'une application répartie. Ce dialogue s'établie sur des protocoles applicatifs communs, défini par l'api du middleware. Le middleware se contente d'unifier, pour les applications mises en jeu, l'accès et la manipulation de l'ensemble des services disponibles sur le réseau, afin de rendre l'utilisation de ces derniers presque transparente. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 5

Limite de l architecture 2-Tier L'architecture client-serveur de première génération présente les inconvénients suivants : - on ne peut pas soulager la charge du client qui supporte déjà tous les traitements applicatifs ; - le poste client est fortement sollicité, il devient de plus en plus complexe et nécessite des mises à jour régulière, ce qui est contraignant ; - le client et le serveur sont assez bruyants, ce qui s'adapte mal à des bandes passantes étroites ; ce qui cantonne ce type d'application à des réseaux locaux ; -il est difficile de modifier l'architecture initiale, les applications supportent donc mal les fortes montées en charge ; - la relation forte et étroite entre le programme du client et l'organisation de la partie serveur complique les évolutions de cette dernière ; - ce type d'architecture est grandement rigidifié par les coûts et la complexité de maintenance. Néanmoins, on peut noter quelques avantages non négligeables de ce type d'architecture : - elle permet l'utilisation d'une interface utilisateur riche ; - elle a permis l'appropriation des applications par l'utilisateur ; - elle a introduit la notion d'interopérabilité. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 6

Architecture 3-Tiers Avec l apparition des technologies Web, il est possible de séparer la couche présentation de la couche applicative (aussi appelée couche métier) : CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 7

Architecture 3-Tier : Couche Présentation Elle correspond à la partie de l application visible et interactive avec les utilisateurs. On parle d IHM. Elle peut être réalisée par une application graphique ou textuelle, en HTML, en WML (on parle alors de clients légers). Cette interface peut prendre de multiples facettes sans changer la finalité de l'application. Dans le cas d'un système de distributeurs de billets, l'automate peut être différent d'une banque à l'autre, mais les fonctionnalités offertes sont similaires et les services identiques (fournir des billets, donner un extrait de compte, etc.). Toujours dans le secteur bancaire, une même fonctionnalité métier (par exemple, la commande d'un nouveau chéquier) pourra prendre différentes formes de présentation selon qu'elle se déroule sur Internet, sur un distributeur automatique de billets ou sur l'écran d'un chargé de clientèle en agence. La couche présentation relaie les requêtes de l'utilisateur à destination de la couche métier, et en retour lui présente les informations renvoyées par les traitements de cette couche. Il s'agit donc ici d'un assemblage de services métiers et applicatifs offerts par la couche inférieure. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 8

Architecture 3-Tier : Couche applicative ou couche métier ou encore serveur d applications Elle correspond à la partie fonctionnelle de l application, celle qui implémente la «logique», et qui décrit les opérations que l'application opère sur les données en fonction des requêtes des utilisateurs, effectuées au travers de la couche présentation. Les différentes règles de gestion et de contrôle du système sont mises en œuvre dans cette couche. La couche métier offre des services applicatifs et métier à la couche présentation. Pour fournir ces services, elle s'appuie, le cas échéant, sur les données du système, accessibles au travers des services de la couche inférieure. En retour, elle renvoie à la couche présentation les résultats qu'elle a calculés. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 9

Architecture 3-Tier : Couche données Elle consiste en la partie gérant l'accès aux gisements de données du système. Ces données peuvent être propres au système, ou gérées par un autre système. La couche métier n'a pas à s'adapter à ces deux cas, ils sont transparents pour elle, et elle accède aux données de manière uniforme, on dit qu il y a un faible couplage. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 10

Données propres au système Architecture N-Tier Architecture 3-Tier : Couche données Ces données sont pérennes, car destinées à durer dans le temps, de manière plus ou moins longue, voire définitive. Les données peuvent être stockées indifféremment dans de simples fichiers texte, fichiers XML, ou encore dans un SGBD Quel que soit le support de stockage choisi, l'accès aux données doit être le même. Cette abstraction améliore la maintenance du système. Le DATA ACCESS OBJET (DAO ou design pattern) consiste à représenter les données du système sous la forme d'un modèle objet. Par exemple un objet pourrait représenter un contact ou un rendez-vous. La représentation du modèle de données objet en base de données (appelée persistance) peut être effectuée à l aide d outils tel que HIBERNATE. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 11

Données gérées par un autre système Architecture N-Tier Architecture 3-Tier : Couche données Les données peuvent aussi être gérées de manière externe. Elles ne sont pas stockées par le système considéré, il s'appuie sur la capacité d'un autre système à fournir ces informations. Par exemple, une application de pilotage de l'entreprise peut ne pas sauvegarder des données comptables de haut niveau dont elle a besoin, mais les demander à une application de comptabilité. Celle-ci est indépendante et pré-existante, et on ne se préoccupe pas de savoir comment elle les obtient ou si elle les sauvegarde, on utilise simplement sa capacité à fournir des données à jour. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 12

Architecture n-tier L'architecture n-tiers est aussi appelée architecture distribuée ou architecture multi-tiers. L'architecture n-tiers qualifie la distribution d'applications entre de multiples services et non la multiplication des niveaux de service : les trois niveaux d abstraction d une application sont toujours pris en compte. Cette distribution est facilitée par l'utilisation de composants métier, spécialisés et indépendants, introduits par les concepts orientés objets. Elle permet de tirer pleinement partie de la notion de composants métier réutilisables et modulables. Ces composants rendent un service, si possible, générique et clairement identifié. Ils sont capables de communiquer entre eux et peuvent donc coopérer en étant implantés sur des machines distinctes et hétérogènes. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 13

Les technologies : Architecture N-Tier Architecture n-tier : Technologies Le tier client : - Un navigateur Web - Un PDA ou SmartPhone Le tier Applicatif : - CGI - ASP - Java Servlets - JSP - PHP, Python - JavaScripts CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 14

Les technologies : Architecture N-Tier Architecture n-tier : Technologies Le tier données : - Base de données via SQL, JDBC,.NET - J2EE - ERP (Enterprise Resource Planning) - EAI (Enterprise Application Integration) CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 15

L architecture présentée en purement logicielle. Architecture N-tier : Point de vue matériel En conséquence, chaque étage peut être implémenté sur n importe quelle machine. Ainsi, Les trois étages peuvent être réunies sur une seule ou sur plusieurs machines. L intérêt de répartir les différents étages sur plusieurs machines permet un accroissement de la sécurité comme nous allons le voir au travers d un exemple. CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 16

Partenaires Reseau entreprise 192.168.X.X P O S T E U T I L I S A T E U R S Architecture N-Tier Architecture N-Tier : Matériel exemple Solution de micro-payement FW FW FW Network Address Translation Serveur Web Serveur Applications Serveur Data FW FW FW Internet Réseau non routable 10.0.0.x Réseau non routable 10.0.1.x Réseau non routable 10.0.2.x CNAM 2009-2010 Patrick Arlaud - Jérome Dupire 17