ARCHITECTURES 3-
TIERS
heithem.abbes@gmail.com2014-2015
De l’arch. 2-tiers aux 3-tiers
2
 Limites des arch. 2-tiers
 Charge importante du poste client qui réalise
l'ensemble de...
Présentation de l’arch. 3-tiers
3
 L'arch. 3-tiers, ou C/S de 2ème génération,
sépare l'application en 3 niveaux
 Niveau...
Exemple
4
Présentation
Traitements
locaux
Traitements
globaux
Données
Fonctionnement
5
Client léger
6
 Dans l’arch 3-tiers le client est léger, prend en
charge
 présentation de l'application
 traitements lo...
Niveau web dans l’arch. 3-tiers
11
 Le poste client prend la forme d'un navigateur Web
 Le serveur d’application nécessi...
Niveau web dans l’arch. 3-tiers
12
Les technologies web
Les technologies web : coté
client14
 Javascript
 Langage Interprété, orienté objet
 Code s’insère dans le code HTML
 ...
 CGI (Common Gateway Interface)
 Technologie la plus ancienne
 Tout langage possible
 Langage Perl le plus utilisé
 C...
 JSP (Java Server Pages)
 Technologie Java
 Langage de scripts
 Fichier .jsp remplaçant les fichiers .html
 Combine l...
Synthèse
17
 Avantages
 Déploiement immédiat
 Evolutions transparentes pour l'utilisateur
 Caractéristiques du poste c...
Prochain SlideShare
Chargement dans…5
×

Architectures 3-tiers (Web)

317 vues

Publié le

Présentations des architectures 3-tiers

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
317
Sur SlideShare
0
Issues des intégrations
0
Intégrations
11
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Il est coûteux et contraignant de réaliser l'ensemble des traitements applicatifs et de les maintenir par le poste client.
    Il n’est pas possible de soulager la charge du poste client, qui supporte la grande majorité des traitements applicatifs
    Le poste client doit installer une application assez complexe

    La conversation entre client et serveur est assez bruyante et s'adapte mal à des bandes passantes étroites.
    Ce type d’architecture est souvent réservé au réseau local de l'entreprise


  • ou C/S distribué
  • Aucune connaissance des traitements applicatifs globaux ou de la structure des données exploitées
    Client léger ou Thin client
  • Prend en charge l'ensemble des fonctionnalités de l’application

    Gestion des connexions des utilisateurs
    Gestion des montées en charge et reprise sur incident
    Connexion à la base de données
  • À modifier !!! Voir d’autres fonctionnalités

    La plupart des serveurs d'application génèrent un identifiant unique pour chaque nouveau client et transmettent cet identifiant lors de chaque échange HTTP par URL longs, variables cachées ou cookies.

    (même si dans la grande majorité des cas, on se contente d'une gestion des montées en charge au niveau réseau - boîtier de répartition, DNS round-robin, reverse proxy...).

    On s'attend également à ce qu'il fournisse des mécanismes performants tels que le pooling de connexion base de données.
  • Architecture standardisée, facile à comprendre pour l’extérieur
    portabilité : peut passer d’un serveur d’applications J2EE à un autre sans problèmes
    Inconvénients :
    le code doit être écrit en Java
    la portabilité entre serveurs d’application J2EE n’est pas totale
  • Avantage: unité, cohérence


    plusieurs langages possibles : C#, Visual Basic, F#, J#, etc.
    compilés dans un langage commun : “Common Language Infrastructure” qui est ensuite compilé en langage machine

    ASP.NET permet de créer des pages Web dynamiques

  • Le marché des serveurs Web est largement dominé par Apache
    Une fois, le traitement effectué, le serveur d'application renvoie la page HTML (ou autre format) au serveur Web qui se charge de la router vers le client.

  • Animer cette figure
  • Modifier cette figure !!!
  • Dans JavaScript, j’ai remplacé Page par Code
    (1 fichier .class par classe définie)

    Appel de l’applet dans le code HTML
    <APPLET CODE= … > </APPLET>
  • Jetty est utilisé dans Google App Engine

    Lien entre serveur et machine virtuelle


    Exécuté par un moteur de servlet (Tomcat)

    CGI : Programme sur le serveur (précompilé)
    Placé dans un répertoire particulier

    étendre les classes
    javax.servlet.GenericServlet
    javax.servlet.http.HttpServlet
  • Avantage
    Accès bases de données
    Composants Java (servlets, JavaBeans)
    Réutilisabilité
    PHP
    Langage de scripts
    Orienté Objet
    S’intègre au code HTML
    Permet un accès facile aux bases de données
  • Les contraintes semblent inversées par rapport à celles rencontrées avec les architectures deux tiers : le client
    est soulagé, mais le serveur est fortement sollicité. Le phénoméne fait penser à un retour de balancier.

    et il est difficile de répartir la charge entre client et serveur
  • Architectures 3-tiers (Web)

    1. 1. ARCHITECTURES 3- TIERS heithem.abbes@gmail.com2014-2015
    2. 2. De l’arch. 2-tiers aux 3-tiers 2  Limites des arch. 2-tiers  Charge importante du poste client qui réalise l'ensemble des traitements applicatifs  Maintenance et mises à jour difficiles à gérer  Conversation entre client et serveur est assez bruyante  Ces limites proviennent de type du client : client lourd  Frontal complexe et non standard (Windows, Linux, Mac,…)  Middleware entre client et serveur n'est pas standard Solution : utilisation d'un poste client simple communicant avec le serveur par le biais d'un protocole standard
    3. 3. Présentation de l’arch. 3-tiers 3  L'arch. 3-tiers, ou C/S de 2ème génération, sépare l'application en 3 niveaux  Niveau 1 : l'affichage et les traitements locaux (contrôles de saisie, mise en forme de données... ) sont pris en charge par le poste client  Niveau 2 : les traitements applicatifs globaux sont pris en charge par le service applicatif : serveur d’application  Niveau 3 : les services de base de données sont pris en charge le serveur de données Traitements globaux Présentati on Traitemen ts locaux Données Niveau 1 Niveau 2 Niveau 3
    4. 4. Exemple 4 Présentation Traitements locaux Traitements globaux Données
    5. 5. Fonctionnement 5
    6. 6. Client léger 6  Dans l’arch 3-tiers le client est léger, prend en charge  présentation de l'application  traitements locaux permettant une vérification immédiate de la saisie et la mise en forme des données  Les évolutions de l'application ne nécessitent pas la modification de la partie cliente  Éviter l'installation des applications sur le poste utilisateur  Utiliser un navigateur web  Communiquer avec le serveur d’application via une façade web
    7. 7. Niveau web dans l’arch. 3-tiers 11  Le poste client prend la forme d'un navigateur Web  Le serveur d’application nécessite une couche web, appelé serveur web, pour communiquer avec le navigateur  Fonctionnement  Le serveur web transmet au client, lui ayant fait une demande HTTP via URL , les fichiers statiques présents sur son disque dur (pages HTML , images, fichiers CSS,...)  Lorsque le client demande un traitement, page dynamique, le serveur web aiguille cette demande vers la couche applicative dans le serveur d'application  Une fois le traitement effectué, le serveur d'application renvoie la page HTML au serveur web qui se charge de la router vers le client  Remarque : Le marché des serveurs web est dominé par Apache
    8. 8. Niveau web dans l’arch. 3-tiers 12
    9. 9. Les technologies web
    10. 10. Les technologies web : coté client14  Javascript  Langage Interprété, orienté objet  Code s’insère dans le code HTML  Gère les évènements principaux de la souris et la saisie au clavier  Code envoyé au client, puis interprété  Applets  Langage java  Ensemble de fichiers .class  Le code est exécuté dans une JVM  ActiveX  Composants Microsoft  Fichiers stockés sur disque dur (.VBX, .OCX, .DLL, .EXE)  Créés avec Visual basic, Delphi ou C++
    11. 11.  CGI (Common Gateway Interface)  Technologie la plus ancienne  Tout langage possible  Langage Perl le plus utilisé  C, C++, Fortran, etc...  Servlets  Classes Java  Exécutés par un moteur de servlet (Tomcat ou Jetty)  La classe doit générer tout le code html Les technologies web : coté serveur
    12. 12.  JSP (Java Server Pages)  Technologie Java  Langage de scripts  Fichier .jsp remplaçant les fichiers .html  Combine l’utilisation d’html et de java  ASP (Active Server Pages)  Technologie Microsoft  Même principe que JSP  PHP  Langage de scripts  Orienté Objet  S’intègre au code HTML Les technologies web : coté serveur
    13. 13. Synthèse 17  Avantages  Déploiement immédiat  Evolutions transparentes pour l'utilisateur  Caractéristiques du poste client libres  Limites  Le serveur d’application réalise la majorité des traitements  Problème de gestion de la montée en charge

    ×