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 :
- cliente, chargée de la présentation des informations
- applicative, qui contient la logique de l'application
- données, qui fournit les informations exploitées par la logique applicative.
Conception
Les solutions d'architecture à 3 couches mettent généralement en œuvre :
- 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.
- un serveur applicatif, segmenté lui même en couches de
- présentation, qui construit l'IHM (souvent Web) destinée au client
- métier qui réunit l'ensemble des processus exécutés par l'application
- intégration, chargée des échanges entre serveur applicatif et serveur(s) de données.
- 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 :