You are on page 1of 1

C/S : Est conforme au modle client-serveur tout processus utilisant des services offerts par un autre processus, et communiquant

avec lui laide de messages. 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. SERVEUR : processus accomplissant une opration sur Demande dun client, et lui transmettant le rsultat REQUTE: Message transmis par le client un serveur dcrivant lopration excuter par le compte de client. REPONSE: Message transmis par le serveur un client suite lexcution dune op et contenant le rs d lop. Les principes du C/S - Rendre l'architecture matrielle transparente vis vis des dveloppeurs et des utilisateurs finals. - Rendre le niveau physique (et logique dans une moindre mesure) des bases de donnes transparent pour les dveloppeurs et les utilisateurs. - Utiliser au niveau de chaque station (cliente ou serveur) l'ensemble matriel/logiciel le plus adapt. - Permettre une sparation physique entre les actions d'un programme lies l'interaction avec les utilisateurs et les autres actions. (Gestion du dialogue par le client (interface), Gestion des donnes par le serveur). Il s'agit d'un modle de traitement coopratif. Exemples Serveur de fichiers / dimpression / de calcul/ dapplications/BD/de temps/de noms (annuaire des services) Avantages du client / serveur Unicit de l'information Meilleure scurit : un faible nombre de points dentre pour accder aux donnes Meilleure fiabilit : les clients ne sont pas des ressources critiques Facilit d'volution : il est trs facile de rajouter ou d'enlever des clients, et mme des serveurs Client lourd (modle orient client) -Le client supporte une partie importante des tches rparties entre le client et le serveur -Schma rpandu particulirement en raison de la puissance des PCs modernes Serveur lourd (modle orient serveur) -Les tches attribues au client sont peu importantes, cest le serveur qui supporte la plus grande partie du travail -Plus facile grer et maintenir (centralisation du code sur le serveur) Client lger -Client fonctionnalit minimale (terminaux X, priphrique rseau, ordinateur rseau) -Beaucoup de charge sur le serveur et le rseau Partage des tches entre Client et Serveur (3 types de composantes rpartir) : -Prsentation : interfaces textuelles ou graphiques, saisie des donnes, validation, etc. -Logique dapplication : traitements propres lapplication, calculs, etc. -Gestion des donnes : stockage, accs

Architecture 2 niveaux ou 3 niveaux ?

Complixit et dure de la vie des applications

Evolution vers une architecture N niveaux -Base sur le modle 3 niveaux -Serveur dapplication constitu de plusieurs composants applicatifs spcialiss (ex : commande de produit, vrification dun crdit, facturation, gestion de fiches de salaire) -Chacun de ces composants pouvant tre en relation avec des serveurs de donnes qui lui sont propres. --- Avantages : Environnements composants : -Rutilisation des composants possibles pour dautres applications -Achat possible de composants dj existants -Dveloppement de grosses applications facilit (par tapes ) -Peu de vieillissement, plutt une bonification Dialogue client-serveur

Mode non connect (protocole UDP) -Les requtes successives sont indpendantes -Pas de prservation de ltat entre les requtes -Le client doit indiquer son adresse chaque requte (pas de liaison permanente) -Pas de garanties particulires (UDP) -Adapt aux changes brefs (rponse en 1 message) Principe de fonctionnement des sockets 1- le serveur cre une "socket serveur" (associe un port) et se met en attente 2) le client se connecte au socket serveur ; deux sockets sont alors cres : une "socket client, ct client, et un socket service client" ct serveur. Ces sockets sont connects entre elles. 3) Le client et le serveur communiquent par les sockets . Linterface est celle des fichiers (read, write). La socket serveur peut accepter de nouvelles connexions

Primitives de service : -SendRequest() -ReceiveResponse() -ReceiveRequest() -SendResponse() Modes de dialogue Mode synchrone(UDP) -Mode non connect -nutilise pas de file dattente -les messages sont mis aussitt -mode bloquant Mode asynchrone(TCP) -Mode connect -utilise une file dattente -mode non bloquant -favorise le multitche Avantages C/S : -Ressources centralises. -Meilleur scurit. -Administration au niveau serveur. -Rseau volutif.

Cot de dveloppement et mintenance

Larchitecture 2 niveaux Caractrise les systmes clients/serveurs pour lesquels le client demande une ressource et le serveur la lui fournit directement, en utilisant ses propres ressources. Cela signifie que le serveur ne fait pas appel une autre application afin de fournir une partie du service. Caractristiques : -un seul client et un seul serveur -Dveloppement rapide pour des applications locales -Efficace pour de petites installations -Trs peu adapt Internet (clients trs nombreux, distants, impossibles grer) Larchitecture 3 niveaux Une architecture partage entre : -Un client, c'est--dire l'ordinateur demandeur de ressources, quipe d'une interface utilisateur (gnralement un navigateur web) charge de la prsentation ; -Le serveur d'application (appel galement middleware), charg de fournir la ressource mais faisant appel un autre serveur -Le serveur de donnes, fournissant au serveur d'application les donnes dont il a besoin. Avantages : -Spcialisation des serveurs : meilleure efficacit -Scurit renforce (Clients et donnes compltement spars) -Mise jour facilite -Implmentation des diffrents niveaux par des dveloppeurs spcialiss -Meilleure tolrance aux pannes (utilisation de plusieurs ressources disjointes) -Meilleure rpartition de la charge de travail Architecture 3 niveaux si : -Plus de 50 services (ou classes) -Applications programmes dans plusieurs langages ou par des organisations diffrentes -Source de donnes multiples et htrognes -Longvit de lapplication suprieure 3 ans -Grosse charge de traitement (> 50000 transactions ou > 300 utilisateurs)

Comparaison des deux types d'architecture L'architecture deux niveaux est donc une architecture client/serveur dans laquelle le serveur est polyvalent, c'est--dire qu'il est capable de fournir directement l'ensemble des ressources demandes par le client. Dans l'architecture trois niveaux par contre, les applications au niveau serveur sont dlocalises, c'est--dire que chaque serveur est spcialis dans une tche (serveur web/serveur de base de donnes par exemple). L'architecture trois niveaux permet : -Une plus grande flexibilit/souplesse ; -Une scurit accrue car la scurit peut tre dfinie indpendamment pour chaque service, et chaque niveau ; -De meilleures performances, tant donn le partage des tches entre les diffrents serveurs. Socket : Reprsente lextrmit dun canal de communication par lequel un processus dapplication peut mettre ou recevoir des donnes. = = > Abstraction des services de communication Interface de Programmation : Ensemble de primitives pour : -attribuer aux processus un rle de client ou de serveur -manipuler des informations de communication permettre les mises en relation -changer des messages protocolaires applicatifs en rendant transparents les services de communication rseau supporter linteraction -contrler et paramtrer les sockets

Modes dutilisations des sockets :

Mode connect (protocole TCP) -Ouverture dune liaison, suite dchanges, fermeture de la liaison. Caractristiques : -tablissement pralable dune connexion (circuit virtuel) : le clientdemande au serveur sil accepte la connexion -fiabilit assure par le protocole (TCP) mode dchange par flot doctets : le rcepteur na pas connaissance du dcoupage des donnes effectu par lmetteur -possibilit dmettre et de recevoir des caractres urgents (OOB : Out OF Band) -aprs initialisation, le serveur est passif : il est activ lors de larrive dune demande de connexion du client -un serveur peut rpondre aux demandes de service de plusieurs clients : les requtes arrives et non traites sont stockes dans une file dattente

You might also like