Professional Documents
Culture Documents
Olivier Aubert
1/24
Sources
http://www.info.uqam.ca/~obaid/INF4481/A01/Plan.htm
2/24
Historique
I architecture centralise
I terminaux passifs (un seul OS, systmes propritaires)
I traitements au niveau du serveur
3/24
Architecture rpartie
I rseaux, ordinateurs plus puissants, OS ouverts
I interfaces et API standard (RFC)
I traitement effectu en partie sur les clients
Serveur
BD
OS
Rponse
Requte
Rgles
Rseau dentreprise
Windows
Mac
Applications
Applications
UNIX
Applications
Clients
4/24
Le modle
I Client : processus demandant lexcution dune opration
un autre processus par envoi de message contenant le
descriptif de lopration excuter et attendant la rponse de
cette opration par un message en retour.
I Serveur : processus accomplissant une opration sur
demande dun client, et lui transmettant le rsultat.
I Requte : message transmis par un client un serveur
dcrivant lopration excuter pour le compte du client.
I Rponse : message transmis par un serveur un client suite
lexcution dune opration, contenant le rsultat de
lopration.
5/24
Le modle :
Application
Processus
Processus
systme
client
Systme
Systme
Hardware
Hardware
Client
Serveur
Client
Serveur
Serveur
Matre
Client
Un client, un serveur :
Client
Serveur
Esclave
Esclave
6/24
7/24
Dialogue client-serveur
Primitives de service :
I SendRequest()
I ReceiveResponse()
I ReceiveRequest()
I SendResponse()
Serveur
Client
Requte
Rponse
SendRequest()
SendResponse()
ReceiveResponse()
ReceiveRequest()
Session
Session
Transport
Transport
Rseau
8/24
Messages client-serveur
I Trois grands types de message : REQ, REP et ACK
I Autres types possibles : AYA (Are You Alive), BUSY
(ordinateur temporairement occup), ERR (Erreur), etc.
9/24
change de messages
I Dans un environnement htrogne, on doit effectuer une
prsentation adquate des donnes.
I Traduction des donnes (XDR (Sun), ASN.1 (CCITT), etc)
I Assemblage des paramtres mis et des rsultats
(marshalling)
I Dsassemblage des paramtres reus et des rsultats
(unmarshalling)
Traduction
Assemblage
Traduction
Dsassemblage
Prsentation
Prsentation
Session
Session
Transport
10/24
Modes de dialogue
I Mode synchrone
nutilise pas de file dattente
les messages sont mis aussitt
mode bloquant (ex. RPC)
I Mode asynchrone
utilise une file dattente
mode non bloquant
favorise le multitche (ex. FIFO, email)
11/24
Oprations bloquantes
Le processus se bloque jusqu ce que lopration se termine.
read()
Appel
Lecture
Copie dans
le tampon
Retour
Serveur
Client
12/24
Par vnements
read()
Appel
WOULDBLOCK
Appel
signal()
Attente des
donnes
Activer SIGIO
Retour
WOULDBLOCK
Appel
Retour
Signal SIGIO
Copie dans
le tampon
Attente des
donnes
handler()
read()
Appel
Retour
Serveur
Copie dans
le tampon
Serveur
Client
Client
13/24
14/24
Client
Prsentation
Prsentation
Prsentation
Logique
Logique
Logique
Prsentation
Prsentation
Donnes
Prsentation
Serveur
Logique
Logique
Logique
Donnes
Donnes
Donnes
Donnes
Donnes
BD
rparties
Classe 1
Donnes
distantes
Classe 2
Transactions
rparties
Classe 3
Prsentations
distantes
Classe 4
Prsentations
rparties
Classe 5
15/24
Prsentation
Client
Prsentation
Prsentation
Logique
Logique
Donnes
Serveur
de milieu
Logique
Logique
Logique
Logique
Donnes
Logique
Serveur
Donnes
Donnes
Logique
Donnes
Donnes
16/24
Le middleware
I Traduction officielle : intersticiel
I Assure les connexions entre les serveurs de donnes et les
outils de dveloppement sur les postes client
I Ensemble de services logiciels construits au dessus dun
protocole de transport afin de permettre lchange de
requtes et des rponses associes entre client et serveur de
manire transparente.
I Les services du middleware sont un ensemble de logiciels
rpartis qui existe entre lapplication, lOS et les services
rseaux sur un nud du rseau.
17/24
Types de middleware
I Gnral
Protocoles de communication, rpertoires rpartis, services
dauthentification, service de temps, RPC, etc
Services rpartis de type NOS (Networked OS) : services
de fichiers, services dimpression.
I Spcifique
de BD : ODBC, IDAPI, EDA/SQL, etc
de groupware : MAPI, Lotus Notes
dobjets : CORBA, COM/DCOM, .NET
18/24
Composantes du middleware
I Les canaux
Services de communications entre composants et
applications : RPC (synchrone), ORB (synchrone), MOM
(Message Oriented Middleware) (asynchrone)
Services de support de communication : SSL, annuaires
(LDAP)
I Les plate-formes
Serveurs dapplications qui sexcutent du ct serveur
Offrent les canaux de communication
Assurent la rpartition, lquilibrage de charge, lintgrit
des transactions, etc
Exemple : architecture web-tier
19/24
Place du middleware
Processus client
Processus serveur
Protocole Requete
Middleware client
Middleware serveur
Reponse
Services
;locaux
Services
reseau
OS et hardware
Services
;locaux
Protocole reseau
Services
reseau
OS et hardware
Exemples :
I Les services primitifs (mulateurs de terminaux, transfert de
fichier, mail, etc)
I Services de bases (RPC, etc)
I Services intgrs (DCE, OS rpartis)
I Objets distribus (CORBA, COM/DCOM, etc)
I World Wide Web
20/24
Services du middleware
Middleware de service specifique
SQL/API, TxRPC, Mail, ORB/COM
Gestion repartie
CMIP, SNMP
OS Reseau
Repertoire, RPC, NFS, Securite
Transport
TCP/IP, IPX/SPX, NetBIOS, SNA
Reseau, Liaison, Physique
21/24
22/24
Le modle RPC
RPC : Remote Procedure Call
Serveur
RPC
Client
Application
Appel
procedure
Retour
procedure
Souche client
Assemblage
Desassemblage
SendRequest()ReceiveResponse()
Procedure
Retour
procedure
Execution
procedure
Souche serveur
Assemblage
Desassemblage
SendResponse()ReceiveRequest()
23/24
Transparence
I Transparence des rseaux : support de plusieurs types de
rseaux (WAN, LAN, etc) et de protocoles (TCP/IP, SNA, etc)
I Transparence aux serveurs : support de plusieurs types de
serveur (SGBD (Oracle, Sybase, SQL Server, etc))
I Transparence des donnes : traductions des formats de
donnes (XDR, ASN.1, etc)
I Transparence de la localisation : utilisation dun service de
rpertoire
24/24