Professional Documents
Culture Documents
Architectures Client-Serveur
Bernard ESPINASSE
1980-1990
1985-1995
1995-2000
2011
hirarchique
hirarchique
rparti
et centralis
et dcentralis
(entreprise virtuelle)
Pourquoi le Client-Serveur ?
Pourquoi le Client-Serveur ?
Inversion de la pyramide :
serveur
central
central
serveur
dept.
! le client-serveur :
gestion
rseau
principes gnraux :
poste de travail multi-fonction
possibilit d'accs multi-serveur
localisation des donnes
rpartition des traitements
pilotage par l'utilisateur
consquences :
serveur
local
Dept.
Dept.
Dept.
gestion
rseau
poste de
travail
Enjeux stratgiques :
gestion de la
prsentation
Prsentation
logique de la
prsentation
coeur de l'application
Enjeux organisationnels :
logique des
traitelents
Traitements
gestion des
traitements
Enjeux humains :
logique des
donnes
Donnes
gestion des
donnes
Enjeux techniques :
cohrence technique : libres changes des applications et des
informations,
dfinition d'architectures modulaires : serveurs, poste de travail,
dification de normes et standards : chartes, guides, rgles d'hygine ,
Bernard ESPINASSE - Architecture Client-Serveur
application
interface de programmation (API)
Middleware
fonction 5: vrification de la syntaxe de la requte (analyse du message par l'API (phrase en ASCII))
si OK : fonction 6: passer la main au FAP pour envoi du message au serveur. L'application se met en
attente de la rponse ou effectue une autre tche en attendant de consulter l'API pour rcuprer le
rsultat
10
Types de Middleware
Dialogue ...
sans session
avec session
synchrone
RPC
APPC ou RDA
asynchrone
message queuing
APPC ou RDA
serveur
programme client
appel de la procdure distante
message d'appel
prise en compte
de la demande
rveil du serveur
rception du rsultat et
poursuite de l'excution
rseau
11
message de rponse
excution procdure
! Inconvnients :
synchrone
fiabilit mdiocre (si l'mission initiale choue, le client n'est pas averti et pas de
mcanisme de reprise interne au protocole sous-jacent),
pas de resynchronisation possible entre C et S
pas de gestion de flux de retour (tjs un seul flot)
Bernard ESPINASSE - Architecture Client-Serveur
12
client
serveur
rseau
programme client
message d'appel
demande de connexion
Avantages:
mission de requtes
rception des rsultats
point de synchronisation
mission de requtes
excution des
requtes et
gestion de la
synchronisation
Inconvnients :
! plus coteux en ressources que les RPC car tout au long de l'change :
dconnexion
13
Application cliente
14
application cliente
mission de la requte
compilation de la requte
IN
OUT
service
IN
OUT
fin de connexion
destruction du curseur
15
Avantages :
grande simplicit car l'API repose sur les 2 verbes {envoyer, recevoir}
la technique "stocker et propager" (store and forward) garantit, quels que
soit les vnements, que le service appel sera effectu une et une seule
fois (utile dans applications financires)
Inconvnients :
manque de contrle sur le dlai d'obtention d'une rponse
16
APPLICATION
SQL
CPI-C
RPC
SQL
RPC
interface de programmation
RDA
APPC
DCE
RDA
APPC
protocole de communication
IPX
SNA
TCP-IP
TCP-IP
Netbios
exemple 3
exemple 4
exemple 5
exemple 1
exemple 2
exemple 1
FAP
protocole de transport
Gestion
distante des
donnes
Bases de
donnes
distribues
Revamping
X-Window
procdures
catalogues
R.D.A
R.D.A
distribu
Donnes
Donnes
Donnes
Traitements
Traitements
Prsentation
17
Client-Serveur de prsentation
ne peut tre
considr comme
C/S
Donnes
Prsentation
terminal X
C/S de
prsentation
Traitements
Traitements
Traitements
Prsentation
Prsentation
Prsentation
C/S de
traitement
X-Window
gestion de
l'affichage
terminal X
poste client
18
logique de l'affichage
logique de
l'affichage
donnes
serveur d'application
et de donnes
gestion de l'affichage
rception et excution de la requte, mission d'un accus
de rception
l'utilisateur dplace et redimentionne la fentre
l'utilisateur clique sur un des boutons de la fentre
mission : vnements de type "click" sur l'objet "bouton_1"
Window A
Client 1
serveur X
C/S de
donnes
distribues
client
le plus connu et le
plus rpandu
poste client
Window B
Client 2
C/S de donnes
Client-Serveur de prsentation
serveur
Prsentation
Donnes
Prsentation
exemple 3
Traitements
Traitement
distribu
Traitements
! attention : toutes les combinaisons ne sont pas toujours possibles et toutes celles
qui sont possibles n'ont pas ncessairement une implmentation disponible ...
Donnes
Prsentation
dporte
Donnes
exemple 2
API
Prsentation
distribue
Appli A
Appli B
X Client 1
X Client 2
serveur d'application
19
20
Client-Serveur de donnes
serveur
R.D.A
Client-Serveur de donnes
1 - requte utilisateur
6 - affichage des rsultats
appli
cliente
3 - recherche
tuples.
2 - requte
SGBDR
5 - rsultats
poste client
les SGBD modernes proposent des mcanismes permettant de
dclencher des traitements de contrle :
client 1
application
IPC
Dos+LAN
client 2
application
IPC
Dos+LAN
4 - tuples
serveur
Serveur
SGBD
B.D
LAN + OS + IPC
Avantages :
! plus d'efficacit
! moins de maintenance
client
Inconvnients :
! plus de scurit
Client-Serveur de traitements
Client-Serveur de traitements
serveur
procdures
catalogues
Donnes
Traitements
poste client
Traitements
Prsentation
client
logique des
traitements
Rpartition du processus :
Charge sur le rseau
serveur de fichiers
C/S de prsentation
(X-Window)
donnes
C/S de donnes
serveur d'application
et de donnes
22
23
C/S de traitements
poste client
serveur
Avantages :
meilleures performances,
trafic rseau rduit
Inconvnients :
ncessite un dveloppement ct serveur,
ne convient pas pour les applications "haddock" type infocentre
Bernard ESPINASSE - Architecture Client-Serveur
24
C.- S. : a r c h i t e c t u r e s c e n t r a l i s e s ( d s 1 9 7 0 )
Serveur
WAN
Base de
donnes
Ordinateur
hote
Rseau
propritaire
Base de
donnes
Serveur
LAN
Routeur
Serveur
Base de
donnes
25
Base de
donnes
terminaux ergonomiques
LAN : Large Area Network - WAN : Wide Area Network
Client : gestion prsentation + Portage traitements applicatifs
Serveur : gestion accs BD
26
Le middleware en dtail
application
serveur
middleware
Intranet
Base de
donnes
Serveur
rseau
Firewall
Serveur Web
Serveur
Client Internet
Clients
Base de
donnes
Base de
donnes
application
Internet
Firewall
Middleware
27
28
Le middleware en dtail
Couche
API
Fonction
interface de programmation
Exemple
Fonctions assures :
Elmentaire
FAP
transport
protocole de transport
insre les messages et les insre dans une
trame qui circulera sur le rseau
mthode d'accs au
mdia
TCP-IP
Netbios
...
Ethernet
TokenRing
Intermdiaire
gestion du protocole de
communication
transfert des requtes et
des rsultats
transmission des codes
d'erreurs et de statut
protocole de communication
API
Marketing :
proposs par les diteurs de serveurs (SGBD (oracle, ...))
proposs par les diteurs de middleware (ex: Sequelink,...)
proposs par les constructeurs (DRDA/IBM, DDA/Bull, ...)
FAP
ex : TCP-IP
ex : accs mdia
ex : coaxial
29
Les performances
Sequelink (indpendant) :
serveur
client
application
SGBDR
API Sequelink
Interface SGBDR
Noyau Sequelink
Noyau Sequelink
Interface rseau
Interface rseau
protocole de transport rseau
(application : C sous Windows; requte SQL lecture; SGBD Ingres sur HP9000 (unix):
dcisionnel
transactionnel
50
45
40
35
30
25
20
CLIENTS
OpenClient
OpenClient
30
L'offre en Middlewares
OpenClient
Etendue
15
10
5
SQLserver
SQLserver
(sous VM ou MPE)
serveur
transport
IPC
application
SERVEURS
DB2 & CICS
31
32
Les performances
Performances d!une application cliente dpendent de 3 critres :
le dbit : (rseau: de SNA, DSA = 9,6 kb/s; ...64 kb/s...) doubler le dbit des
liaison amliore les temps de rponse de 30%
l'affichage : performance de l'environnement graphique
l'excution procdurale : vitesse d'excution du langage
dbit
(65%)
Nb d'utilisateurs :
temps de rponse en secondes
35
30
25
20
15
10
5
3 utilisateurs
2 utilisateurs
1 utilisateur
9,6Kb/s
16 Kb/s
38,4Kb/s
64Kb/s
33