Vous êtes sur la page 1sur 21

Applications Réparties

Architecture Client/Serveur

Atef Ben Ismail

INSAT 2009-2010
Client/Serveur
One Tier (History)

+ Simple

+ Performante

+ Sécurisé

- Pas d’accès distant

3 Application Réparties INSAT 2010


Organisation des Applications Réparties (Rappel)

Application Répartie

Application

Middleware

Machine OS Système de Communication

Support Physique de Communication


Réseau

Interface

4 Application Réparties INSAT 2010


Services et interfaces

 Définition
• Un système est un ensemble de composants qui interagissent
• Un service est “un comportement défini par contrat, qui peut être implémenté et
fourni par un composant pour être utilisé par un autre composant, sur la base
exclusive du contrat” (*)
 Mise en oeuvre
• Un service est accessible via une ou plusieurs interfaces
• Une interface décrit l’interaction entre client et fournisseur du service
– Point de vue opérationnel : définition des opérations et structures de
données qui concourent à la réalisation du service
– Point de vue contractuel : définition du contrat entre client et
fournisseur

(*) Bieber and Carpenter, Introduction to Service-Oriented Programming, http://www.openwings.org

5 Application Réparties INSAT 2010


Définitions d’interfaces 1/2

 La fourniture d’un service met en jeu deux interfaces


• Interface requise (côté client)
• Interface fournie (côté fournisseur )
 Le contrat spécifie la compatibilité (conformité) entre ces interfaces
• Au delà de l’interface, chaque partie est une “boîte noire” pour l’autre (principe
d’encapsulation)
• Conséquence : client ou fournisseur peuvent être remplacés du moment que le
composant remplaçant respecte le contrat (est conforme)

Contrat

Conformité

Client Fournisseur

6 Application Réparties INSAT 2010


Définitions d’interfaces 2/2

 Partie “opérationnelle”
• Interface Definition Language (IDL). Pas de standard, mais s’appuie sur un langage
existant
 Partie “contractuelle”
• Plusieurs niveaux de contrats:
– Sur la forme : spécification de types -> conformité syntaxique
– Sur le comportement (1 méthode) : assertions -> conformité
sémantique
– Sur les interactions entre méthodes : synchronisation
– Sur les aspects non fonctionnels (performances, etc.) : contrats de
QoS

7 Application Réparties INSAT 2010


Le modèle client-serveur

 Définition
• Un schéma général d’interaction au niveau application
• Mis en oeuvre sous des formes diverses (différents protocoles)
– RPC, Java RMI, Services Web, etc.
 Propriétés
• Le client demande l’exécution d’un service ; le serveur réalise le service
• Client et serveur sont (en général, pas nécessairement) localisés sur deux machines
distinctes
• Indépendance interface-réalisation

8 Application Réparties INSAT 2010


Modèle client-serveur : Principes 1/2

Client 1 Requête Service 1

Réponse Service 2
Serveur …

Client 2 Service n

Client Serveur
Emet des requêtes (demandes de Ensemble de services exécutables
service)
Exécute des requêtes émises par des
Mode d'exécution synchrone clients –
Le client est l'initiateur du dialogue -> exécution des services (exécution
client-serveur séquentielle ou parallèle)

9 Application Réparties INSAT 2010


Modèle client-serveur : Principes 2/2

 Communication par messages (plutôt que par partage de données, mémoire


ou fichiers)
• Requête : paramètres d’appel, spécification du service requis
• Réponse : résultats, indicateur éventuel d’exécution ou d’erreur
• Communication synchrone (dans le modèle de base) : le client est bloqué en
attente de la réponse

10 Application Réparties INSAT 2010


Modèle Client-Serveur : Partage du serveur

 Vu du Client

 Vu du serveur
• Gestion des requêtes (priorité)
• Exécution du service (séquentiel, concurrent)
• Mémorisation ou non de l’état du client

11 Application Réparties INSAT 2010


Intérêt du modèle Client-Serveur

 Structuration
• fonctions bien identifiées
• séparation interface du service - réalisation
• client et serveur peuvent être modifiés (remplacés) indépendamment
 Protection
• client et serveur s’exécutent dans des domaines de protection différents
 Gestion des ressources
• le serveur peut être partagé entre plusieurs clients

12 Application Réparties INSAT 2010


Mise en oeuvre du schéma client-serveur

 Par des opérations de “bas niveau”


• Utilisation de primitives du système de communication
• Exemple : sockets
– Mode non connecté (UDP)
– Mode connecté (TCP)
 Par des opérations de “haut niveau”
• Utilisation d’un middleware spécialisé
• Contexte : langage de programmation
– Appel de procédure à distance
• Contexte : objets répartis
– Appel de méthodes, création d’objets à distance

13 Application Réparties INSAT 2010


Architecture Client-Serveur (2-Tier) 1/3

14 Application Réparties INSAT 2010


Architecture Client-Serveur (2-Tier) 2/3

 Processus coopérant pour exécuter une tâche

 Caractéristiques principales d’un client


• Consommateur de service
• Proactif: à l’origine de la demande
 Caractéristiques principales du serveur
• Fournisseur de service
• Réactif
• Traitement de plusieurs clients
• Contrôle d’accès
• Garant de l’intégrité globale

15 Application Réparties INSAT 2010


Architecture Client-Serveur (2-Tier) 3/3

+ Design Modulaire
+ Minimum de trafic Réseau
+ HMI peut être séparé de la logique métier
+ Pas de duplication de données (état global observable)
+ Gestion simple de la cohérence et de l’intégrité des données
+ Maîtrise globale des traitements

- Concevoir/Implémenter un Protocol de Communication solutions propriétaires


- Concevoir/Implémenter la persistance des données
- Economiquement trop coûteux
Client 1
Serveur
Client 2

Client 3

16 Application Réparties INSAT 2010


Architecture 3-Tier 2/3

Serveur Serveur
IHM traitement données

17 Application Réparties INSAT 2010


Architecture 3-Tier 2/3

 Composée de trois éléments (3 couches)


• La couche présentation (HMI)
• La couche fonctionnelle liée au serveur (ex. Web server)
• La couche de données liée au serveur de base de données (SGBD)

18 Application Réparties INSAT 2010


Architecture 3-Tier 2/3

+ Flexibilité des requêtes client

+ Client léger

+ Flexibilité dans l’allocation des ressources

+ meilleure répartition de charge

+ économiquement moins cher

+ évolutif

- Administration plus compliquée

- Mise en oeuvre plus compliquée

- Mapping Objet – Relationnel difficile

19 Application Réparties INSAT 2010


N-Tier

 Nombre illimité de parties

 Supporte plusieurs applications

20 Application Réparties INSAT 2010


www.alcatel-lucent.com
INSAT 2009-2010

21 | A look Forward | January 2010