Vous êtes sur la page 1sur 37

Systèmes répartis

 Un système réparti (SR) se compose d'un


ensemble d'ordinateurs reliés par un réseau
informatique et équipés d ’un logiciel réparti

 Le logiciel d ’un SR permet à des ordinateurs


de coordonner leurs activités et de partager
les ressources du système: équipement,
logiciel et données

A. Obaid © - Développement d'applications (INF4482) Introduction 1


Propriétés

 Caractéristiques des systèmes répartis:


– Partage de ressources
– Communication
– Ouverture (Openness)
– Concurrence (Concurrency)
– Transparence
– Tolérance aux pannes
– Mise à l’échelle (Scalability)

A. Obaid © - Développement d'applications (INF4482) Introduction 2


Propriétés
 Partage de ressources matérielles et logicielles:
– Chaque ressource est gérée par un gestionnaire de ressources
(RM) (SGBD, …)
 Ouverture:
– Permettre l’ajout d ’autres composantes logicielles ou
matérielles
 Concurrence:
– Plusieurs processus s’exécutant en parallèle .
 Transparence:
– Données, localisation,…
– Dissimuler la répartition des composantes

A. Obaid © - Développement d'applications (INF4482) Introduction 3


Propriétés
 Tolérance aux pannes:
– Pannes détectés et récupérés.
– Redondances matérielles et logicielles
 Mise à l ’échelle:
– Fonctionner efficacement à différentes échelles:
 De quelques postes à un grand nombre reliés par des
réseaux (LAN, WAN, Internet, …)

A. Obaid © - Développement d'applications (INF4482) Introduction 4


Élements de conception
 Nommage et répertoire:
– Espace de noms, service de nommage, de répertoire,
– Transparence,…
 Communication:
– Transfert des données
– Contrôle de flot
– Adressage
– Mode synchrone ou asynchrone
– Session: client/serveur
 Services spéciques:
– Répertoire, sécurité, temps,… (horizontaux)
– De métier (verticaux)

A. Obaid © - Développement d'applications (INF4482) Introduction 5


Élements de conception
 Structure de logiciel:
– Application
– Gestion des ressources par le du noyau: Mémoire,
Processus, Espace disque, IPC, Support à la
communication (RPC, Multicast,…)
– Patrons de conceptions
 Allocation de tâches
 Maintien de la cohérence:
– Propriété ACID (Atomicity, Consistency, Isolation, Durability)
 Interfaces graphiques (clients lourds, clients légers,
…)

A. Obaid © - Développement d'applications (INF4482) Introduction 6


Éléments de communications
 Requête-réponse (Pull, Push)
 APIs spécifiques (BD, Sockets,RMI,…)
 Protocoles de communication
 Transport :
– TCP, UDP,…
– HTTP
– Protocoles d'échange spécifique (ex. SOAP)
– Invocation de composants (RPC, RMI, …)
 Données échengées:
– Messages: Unités de données du protocole (PDU)
– XML

A. Obaid © - Développement d'applications (INF4482) Introduction 7


Environnement client-serveur

 Passage d’un environnement centralisé à un


environnement décentralisé
 Réduction des coûts
Mainframe

Mainframe
Downsizing

Réseau

Terminal Terminal Terminal


Serveur de fichier
Client

Client

A. Obaid © - Développement d'applications (INF4482) Introduction 8


Client-serveur
 Communication réalisée par un dialogue entre
processus un client et un serveur (Session)
 Le client émet des requêtes et reçoit les
réponses
 Le serveur reçoit les requêtes, les traite et émet
les réponses
R e q u ê te

A p p lic a tio n A p p lic a tio n


R éseau
c lie n te s e rv e u r

S ite C lie n t Réponse S ite S e r v e u r

A. Obaid © - Développement d'applications (INF4482) Introduction 9


Serveurs de fichiers

 Les requêtes sont des opérations de lecture


-écriture des fichiers
 Aucun filtrage n’est effectué sur les données
échangées
A p p e l d e fic h ie r s

F ic h ie r s

S e rv e u r

C lie n t

C lie n t

A. Obaid © - Développement d'applications (INF4482) Introduction 10


Serveurs de BD

 Les requête contiennent des commandes (ex.


SQL). Les données reçues sont le résultat de
l’exécution de ces commande
 L' exécution se fait par le serveur de la BD. (ou
un serveur d ’applications)
A p p e ls S Q L

D onnées
BD

S e rv e u rd e S G B D

C lie n t

C lie n t

A. Obaid © - Développement d'applications (INF4482) Introduction 11


Serveurs de transactions
 Implantent des systèmes transactionnels
(OLPT: On line Transaction Processing)
 Le client invoque une procédure que le
serveur (Moniteur) de transactions exécute
 Les moniteur intégre d ’autres fonctions:
communication, distribution, ...
A p p e ls d e p r o c é d u r e S Q L

BD

S e rv e u rd e S G B D
M o n ite u r d e T r a n s .
A p p lic a tio n

A p p lic a tio n
A. Obaid © - Développement d'applications (INF4482) Introduction 12
Serveurs de groupeware

 Mettre en commun et/ou faire circuler des


documents au sein d’une entreprise
 Utilsation de règles d'accès
M e s s a g e d u g ro u p e w a re

BD

S e rv e u r d e g ro u p e w a re

A p p lic a tio n

A p p lic a tio n

A. Obaid © - Développement d'applications (INF4482) Introduction 13


Serveurs d ’informations

 Mettent des documents (HTML, images,…) à


la disposition des clients (ex. HTTP, FTP, …)
 Peuvent utiliser des compsantes auxiliaires
pour augmenter leur fonctionnalité
R e q u ê te H T T P

Docum ent

S e rv e u r H T T P

B ro w s e r

B ro w s e r

A. Obaid © - Développement d'applications (INF4482) Introduction 14


Serveurs de répertoire
 Mécanisme de nommage transparent (DNS,
LDAP, UDDI,…)
 Stockage d'objets avec leurs attributs
 Interrogation grâce à des méthodes de
requêtes
Requête (Lookup, bind,…)

Références

Serveur Répertoire

Client

Client

A. Obaid © - Développement d'applications (INF4482) Introduction 15


Serveurs d ’objets

 Permettre à des objets de communiquer entre


eux via un courtier d’objets (ORB)
 Invocation d' objets distants
 Objets localisés de manière transparente
In v o c a tio n s d e m é th o d e s
d is ta n te s

O RB
O bj
O RB
O bj

O RB S e rv e u r

A p p lic a tio n
O bj

A p p lic a tio n

A. Obaid © - Développement d'applications (INF4482) Introduction 16


Serveurs P2P

 Un client est aussi serveur (Peer-to-Peer)


 Les données sont partagées (réparties,
dupliquées,… ) sur les nœuds du réseau
 Mécanisme d'adressage, de stockage et d'accès
spécifiques.

Noeud

Requête-réponse
Noeud
Noeud

A. Obaid © - Développement d'applications (INF4482) Introduction 17


Modèle de l’ISO
Protocole d'application
7 Application Application Message

6 Présentation Protocole de présentation Présentation Message

5 Session Protocole de session


Session Message

4 Transport Protocole de transport Transport Message

3 Réseau Réseau Réseau Réseau Paquet

Liaison de Liaison de Liaison de


2 Liaison de Trame
données données données données

1 Physique Physique Physique Physique Bit

Hôte B Sous-Réseau Hôte B

A. Obaid © - Développement d'applications (INF4482) Introduction 18


Modèle de service

Hôte A Hôte B
Protocole de la couche N+1
Couche N+1 Couche N+1

Interface couche N+1/N


Protocole de la couche N
Couche N Couche N

A. Obaid © - Développement d'applications (INF4482) Introduction 19


Équipements d’interconnexion
 Les équipements de différentes couches
– Répéteur, amplificateur, concentrateur
– Pont (bridge) Application

– Routeur Présentation
Passerelle

– Brouteurs
Session
– Passerelle (gateway)
Transport

Réseau Routeur

Liaison Pont

Physique Répeteur

A. Obaid © - Développement d'applications (INF4482) Introduction 20


La passerelle

A. Obaid © - Développement d'applications (INF4482) Introduction 21


Les réseaux IP

 Réseaux locaux reliés par des routeurs à travers


des réseaux backbones (ex. RISQ, CA*Net,…):
Internet
Hôte

Routeur
Internet

A. Obaid © - Développement d'applications (INF4482) Introduction 22


La couche réseau IP

IP IP IP IP

Liaison Liaison Liaison Liaison

Physique Physique Physique Physique

Hôte Routeur Hôte

A. Obaid © - Développement d'applications (INF4482) Introduction 23


Les protocoles TCP/IP

FTP, TELNET, SMTP, HTTP,...


APPLICATIONS

TCP UDP TRANSPORT

IP RÉSEAU

802.2 LLC HDLC, PPP,… LIAISON DE DONNÉES

IEEE 802.3, IEEE 802.5, ... PHYSIQUE

A. Obaid © - Développement d'applications (INF4482) Introduction 24


Paquet IP
15 31
0
Longueur
Version Type de service Longueur totale du paquet IP
En-tête
Identification du paquet Fanion Position relative

Compteur du Zone de contrôle des erreurs de l'en-tête


Protocole (Checksum)
temps de vie

Adresse source

Adresse destination

Options Bourrage

Données

A. Obaid © - Développement d'applications (INF4482) Introduction 25


Le protocole TCP

 TCP (Transmission Control Procedure) est un


protocole de transport bout-en-bout (Host-To-
Host)
 Ajoute les fonctions que le réseau ne peut
offrir et qui sont demandées par les
applications
 Service de transport fiable

A. Obaid © - Développement d'applications (INF4482) Introduction 26


Paquet TCP
15 31
0

Adresse du port source Adresse du port destination

Numéro de séquence
Zone de conrôle d'erreur
Numéro d'accusé de(Checksum)
réception

Long. U A S P R F
d ’entête Réservée R C Y S S I Fenêtre coulissante
G K N H T N

Champ de contrôle des erreurs Zone d'urgence

Options Bourrage

Données
Données

A. Obaid © - Développement d'applications (INF4482) Introduction 27


Les ports

 Les ports correspondent aux points d'accès


de service associés aux applications

 TCP désigne une application par son numéro


de port
A B Application
A B
Port

Transport
TCP TCP

IP IP

A. Obaid © - Développement d'applications (INF4482) Introduction 28


Paquet UDP

0 15 31

Numéro de port source Numéro de port destination

Longueur Checksum

Données

A. Obaid © - Développement d'applications (INF4482) Introduction 29


Client / Serveur

 Communication entre deux processus par un


dialogue
 Ces deux processus forment un système
coopératif et échangent des données
 À la fin de l’échange, le client reçoit les
informations du serveur.
R e q u ê te

A p p lic a tio n A p p lic a tio n


R éseau
c lie n te s e rve u r

S ite C lie n t Réponse S ite S e r v e u r

A. Obaid © - Développement d'applications (INF4482) Introduction 30


Le middleware

 Complément de services du réseau permettant la


réalisation du dialogue client/serveur :
– Prend en compte les requêtes de l’application cliente,
– Les transmet au serveur de manière transparente
– Prend en compte les résultats du serveur vers le client.

Application Serveur

Middleware

Réseau

A. Obaid © - Développement d'applications (INF4482) Introduction 31


Le middleware
 Fait le lien avec la couche Transport.
 Réalise la synchronisation du dialogue entre
client et serveur,
 Définit le format des données échangés,
Application
API

Présentation Middleware
Session
Transport Ex: TCP
Réseau Ex: IP

Liaison Ex: Ethernet

Physique Ex 10Base5

A. Obaid © - Développement d'applications (INF4482) Introduction 32


Le client

 Une application cliente est moins complexe


qu'une son application serveur :
– la plupart des applications clientes ne gèrent
pas d'interactions avec plusieurs serveurs
– la plupart des applications clientes sont traitées
comme un processus conventionnel. Alors que
le serveur nécessite des accès privilégiés de
connexion au middleware.

A. Obaid © - Développement d'applications (INF4482) Introduction 33


Le serveur

 Processus serveur:
– Offre une connexion sur le réseau
– Entre indéfiniment dans un processus
d’attente des requêtes des clients
– Lorsqu’une requête arrive, le serveur
déclenche les processus associés à cette
requête, puis émet la ou les réponses
vers le client

A. Obaid © - Développement d'applications (INF4482) Introduction 34


Types de serveurs

 Deux types de serveurs


– Itératifs: ne gèrent qu’un seul client à la fois
– Parallèles : fonctionnent «en mode concurrent».

Serveur parallèle

Thread ou Serveur itératif


S processus lourd

C P2 C C S C
P1

A. Obaid © - Développement d'applications (INF4482) Introduction 35


Mode de serveur itératif

 Mode non-connecté:
– Services qui nécessitent très peu de traitement
par requête (pas de concurrence).
 Serveurs itératifs en mode connecté :
– Services qui nécessitent très peu de traitement
par requête mais requièrent un transport fiable.

A. Obaid © - Développement d'applications (INF4482) Introduction 36


Mode de serveurs parallèles

 Mode non-connecté :
– Temps de création d’un processus faible par
rapport au temps de traitement d’une requête,
– Les requêtes nécessitent des accès
périphériques importants.
 Mode connecté :
– Les processus de service aident à compenser la
lenteur du traitement imposés par TCP et
réduisent les temps de réponse.

A. Obaid © - Développement d'applications (INF4482) Introduction 37

Vous aimerez peut-être aussi