Client / Serveur
Benjamin JOGUET & Julien TESSIER
DESS QUASSI 2002/2003
1
Plan de la présentation
1 – Principes Client / Serveur
2 – Composition d’une architecture Client / Serveur
3 – Evolution des architectures Client / Serveur
4 – Rôle du middleware
5 – Exemple
2
Principes Client / Serveur
1
!Faire fonctionner des applications en réseau
!Dissocier le développement pur des contraintes
techniques
!Optimiser les performances de l’application en
définissant des choix techniques judicieux
3
Principes Client / Serveur
1
!Processus coopérants pour exécuter une tâche
!Caractéristiques principales du client:
"Consommateurs de services
"Proactif : à l’origine de la demande
!Caractéristiques du serveur
"Fournisseur de services
"Réactif
"Traitement de plusieurs clients simultanément
"Contrôle d’accès
"Garant de l’intégrité globale
4
Principes Client / Serveur
1
!Un dialogue qui repose sur trois éléments :
"Une couche technique de communication
"Un protocole applicatif de communication
"Le Middleware
!Le middleware : l’intelligence du réseau
"simplification
"ouverture
"Indépendance
5
1 – Principes Client / Serveur
2 – Composition d’une architecture Client / Serveur
3 – Evolution des architectures Client / Serveur
4 – Rôle du middleware
5 – Exemple
6
Composition d’une architecture C / S
2
!Trois modules composent une architecture C /S
!Ces modules sont répartis sur le client et sur le serveur :
"Un module interface utilisateur ou de présentation
"Un module de traitement ou de logique applicative
"Un module de gestion de données
!Un modèle de référence : le modèle du Gartner Group
7
Composition d’une architecture C / S
2
Gestion des Gestion des Gestion des Gestion des Gestion des Gestion des
données données données données données données
Logique Logique Logique Logique
applicative applicative applicative applicative
Présentation Middleware
Gestion des Gestion des
données données
Logique Logique Logique Logique
applicative applicative applicative applicative
Présentation Présentation Présentation Présentation Présentation Présentation
Présentation Présentation Application Accès aux Base de Données et
distribuée déportée de traitements données données applications
distribués distantes distribuées distribuées
8
1 – Principes Client / Serveur
2 – Composition d’une architecture Client / Serveur
3 – Evolution des architectures Client / Serveur
4 – Rôle du middleware
5 – Exemple
9
Evolution des architectures C / S
3
Architectures centralisées - 1970
Terminaux passifs
Non ergonomiques
Ordinateur Hôte
C/S 1ère génération Réseau
• Client : Gestion présentation propriétaire
• Serveur : Réalisation
SGBD
10
Evolution des architectures C / S
3
Architectures décentralisées - 1980
Postes de travail
ergonomiques Serveur UNIX
Serveur Routeur SGBDR
C/S 2ème génération LAN WAN LAN Serveur UNIX
• Client : Gestion présentation
Portage traitements
applicatifs
LAN : Large Area Network
• Serveur : Gestion accès BD
WAN : Wide Area Network
SGBDR SGBDR
11
Evolution des architectures C / S
3
Architectures distribuées - 1990
Firewall Firewall
Internet
Client Internet Serveur
Serveur web
SGBD
C/S 3ème génération
• Client : Gestion présentation Client Unix
• Serveur applicatif : lien entre client Intranet
et plusieurs serveurs de BD
Serveur Serveur
• Serveur de données : Gestion accès BD Client Windows
Client Windows
ANNU MESSAG
12
1 – Principes Client / Serveur
2 – Composition d’une architecture Client / Serveur
3 – Evolution des architectures Client / Serveur
4 – Rôle du middleware
5 – Exemple
13
Rôle du middleware
4
Middlewares Orientés Transactionnels
• Transaction = regroupement d’instructions
qui répond au propriétés suivantes : ACID
Atomicité : transaction = unité d’œuvre indivisible
Cohérence : prend un système dans un état stable
et le rend dans un état stable
Isolation : ne connaît pas son contexte d’exécution
Durabilité : persistance des modifications
• Exemple : Débit-Crédit bancaire
Réservation d’un voyage
14
Rôle du middleware
4
Middlewares Orientés Transactionnels
• Se situe entre Client et procédures Serveurs
" Exécution des procédures dans un mode transactionnel
" Equilibrage de la charge du serveur
" Forte disponibilité du système
• Environnement de développement
" réduction des coûts
• Services intégrés
" annuaire, authentification, sécurité
15
Rôle du middleware
4
Middlewares Orientés Messages
• Mode déconnecté
" désynchronise l’exécution des processus
• Asynchronisme
" Pas de retour d’exécution
• Interopérabilité
• Garantie de livraison
• Garantie de traitement
16
Rôle du middleware
4
Enterprise Application Integration
• Evolution naturelle des MOM
" interfaçage des applications de l’entreprise
" indépendance garantie
• Interconnecter des SI d’entreprises via hub applicatif
qui assure routage et transformation des messages
• Caractéristiques :
" Conversion de format (XML)
" Construction et modification des messages transitant
par différents noeuds
" Routage des messages suivant leur contenu
17
1 – Principes Client / Serveur
2 – Composition d’une architecture Client / Serveur
3 – Evolution des architectures Client / Serveur
4 – Rôle du middleware
5 – Exemple
18
Exemple
5
- 20 agences en Europe/Afrique
- Agence principale à Amsterdam Pas de Problèmes !!!
- 5 postes par agence Je vous propose
- 10 postes à Amsterdam 3 solutions …
19
Exemple : solution 1
5 Amsterdam
10 Postes
Utilisateur
20 agences
WAN
5 Postes
Serveur Métier
Utilisateur par agence
Serveur Base de données
!Temps de réponse utilisateur de 3s +
temps de traitement
!2.4 Go de transit par jour pour toutes
les agences
20
Exemple : solution 2
5 Amsterdam
20 agences
5 Postes
Serveur Métier
Utlisateur par agence
WAN
Serveur Base de données Serveur Base de données
Serveur Métier
10 Postes
Réplication différée Utlisateur
!Temps de réponse utilisateur = temps
de traitement
!3 Go de transit par jour pour toutes
les agences
21
Exemple : solution 3
5
Amsterdam
20 agences Serveur Base de données
WAN
5 Postes
Serveur terminal Serveur Métier
Utlisateur par agence
10 Postes
Utlisateur
!Temps de réponse utilisateur = 1s +
temps de traitement
!800 Mo de transit par jour pour toutes
les agences
22
Bilan sur les solutions proposées
5
!La solution 1 : la plus simple
!La solution 2 pour une meilleure performance
!La solution 3 pour limiter les coûts télécoms
23
Conclusion
6
!un grand niveau de fiabilité
!des ressources centralisées
!une meilleure sécurité
!une administration au niveau serveur
!un réseau évolutif
!un coût élevé dû à la technicité du serveur
!un maillon faible (au revoir !)
24
Questions ?
25