3 couches.

Besoin

Définir un modèle d'architecture C/S :

  • plus simple à déployer
  • supportant une forte charge
  • adapté au Web

Analyse

Les architectures en 3 couches tentent de résoudre les limitations du C/S traditionnel en répartissant l'application entre des couches :

  1. cliente, chargée de la présentation des informations
  2. applicative, qui contient la logique de l'application
  3. données, qui fournit les informations exploitées par la logique applicative.

Conception

Les solutions d'architecture à 3 couches mettent généralement en oeuvre :

  1. un client
    • souvent léger car facile à déployer (typiquement un navigateur Web dont tout le monde dispose et sur lequel il n'y a rien à installer)
    • pouvant être multiple (lourd, léger, Java, non Java, etc.) car dans une couche indépendante du serveur applicatif, où se trouve la logique de l'application.
  2. un serveur applicatif, segmenté lui même en couches de
    1. présentation, qui construit l'IHM (souvent Web) destinée au client
    2. métier qui réunit l'ensemble des processus exécutés par l'application
    3. intégration, chargée des échanges entre serveur applicatif et serveur(s) de données.
  3. un serveur de données (souvent un SGBDR) qui fournit les données au serveur applicatif.

Notes

  • Le serveur applicatif permet diverses optimisations :
    • mutualisation (pooling) des ressources demandées par les clients (connexions, threads)
    • cache les données nécessaires (données pour les clients, authentification)
  • On parle parfois d'architecture n-tiers pour signifier :
    • la distinction de couches (souvent logiques) au sein du serveur applicatif :
      • application
      • métier (commun à plusieurs applications)
      • intégration (accès aux données via JDBC, JCA ou logiciel d'EAI)
    • la multiplication de couches derrière le serveur applicatifs, telles que :
      • TPM/MOT (Tuxedo)
      • autres serveurs applicatifs
      • Annuaires
      • SGBDR
      • logiciels d'EAI

Limitations

  • Exploite peu la puissance du poste client
  • Le serveur est un point central de défaillance, souvent palié par des solutions de clustering

Exemples

Des exemples d'architectures en 3 couches sont :