I.5. Subdivision du travail
Notre travail comprendra trois chapitres dont le premier sera consacré aux notions de client serveur, le deuxième portera sur le modèle client serveur enfin le troisième clôturera sur la réalisation d'une application de contrôle total des processus d'un ordinateur distance.
Chapitre I : LES NOTIONS DE CLIENT
SERVEUR
Processus
A
Processus
A
Client Serveur
Requête
Réponse
Réseau
Processus
B
I.1.Introduction
Ces vingt dernières années ont vu une évolution majeure des systèmes d'information, à savoir le passage d'une architecture centralisée à travers de grosses machines (des mainframes) vers une architecture distribuée basée sur l'utilisation de serveurs et de postes clients grace à l'utilisation des PC et des réseaux.
Cette évolution a été possible essentiellement grâce à 2 facteurs qui
sont :
Ø La baisse des prix de l'informatique personnelle ; > Le développement des réseaux informatiques.
I.2. L'architecture Client-serveur
I.2.1.Définition
L'architecture client-serveur est un modèle de fonctionnement logiciel qui se réalise sur tout type d'architecture matérielle (petites à grosses machines), à partir du moment où ces architectures peuvent être interconnectées.
On parle de fonctionnement logiciel dans la mesure où cette architecture est basée sur l'utilisation de deux types de logiciels, à savoir un logiciel serveur et un logiciel client s'exécutant normalement sur 2 machines différentes.
L'élément important dans cette architecture est l'utilisation de mécanisme de communication entre les 2 applications. Le dialogue entre les applications peut se résumer par :
> Le client demande un service au serveur ;
> Le serveur réalise ce service et renvoie le résultat au client.
Un des principes fondamental est que le serveur réalise un traitement
pour le client.
I.2.2. Les principes généraux
Il n'y a pas véritablement de définition exhaustive de la notion de client-serveur, néanmoins des principes régissent ce que l'on entend par clientserveur :
> Service
Le serveur est fournisseur de services. Le client est consommateur de service. > Protocole
C'est toujours le client qui déclenche la demande de service.
Le serveur attend passivement les requêtes des clients.
> Partage des ressources
Un serveur traite plusieurs clients en même temps et contrôle leurs accès aux ressources.
> localisation
Le logiciel client-serveur masque aux clients la localisation du serveur. > Redimensionnement
Il est possible d'ajouter et de retirer des stations clientes ;
il est possible de faire évoluer les serveurs.
> Intégrité.
Les données du serveur sont gérées sur le serveur de façon centralisée. Les clients restent individuels et indépendants.
> Hétérogénéité.
> Souplesse et adaptabilité
Ont peut modifier le module serveur sans toucher au module client. La réciproque est vraie. Si, une station est remplacée par un modèle plus récent, on modifie le module client (en améliorant l'interface, par exemple) sans modifier le module serveur.
De nombreuses applications fonctionnent selon un environnement
clients[1]/serveur[2], cela signifie que des machines clientes (des machines faisant partie du réseau) contactent un serveur, une machine généralement très puissante en terme de capacités d'entrée-sortie, qui
leur fournit des services. Ces services sont des programmes fournissant des données telles que l'heure, des fichiers, une connexion... Les services sont exploités par des programmes, appelés programmes clients, s'exécutant sur les machines clientes. On parle ainsi de client FTP, client de messagerie... Dans un environnement purement client/serveur, les ordinateurs du réseau (les clients) ne peuvent voir que le serveur, c'est un des principaux atouts de ce modèle. Le modèle client/serveur est particulièrement recommandé pour des réseaux nécessitant un grand niveau de fiabilité, ses principaux atouts sont : des ressources centralisées étant donné que le serveur est au centre du réseau, il peut gérer des ressources communes à tous les utilisateurs, comme par exemple une base de données centralisée, afin d'éviter les problèmes de redondance et
de contradiction une meilleure sécurité car le nombre de points d'entrée permettant l'accès aux données est moins important une administration au niveau serveur les clients ayant peu d'importance dans ce modèle, ils ont moins besoin d'être administrés un réseau évolutif grâce à cette architecture ont peu supprimer ou rajouter des clients sans perturber le fonctionnement du
réseau et sans modifications majeuresNotions d'architecture client-serveur
Présentation de l'architecture d'un système client/serveur
Avantages de l'architecture client/serveur
Inconvénients du modèle client/serveur
L'architecture client/serveur a tout de même quelques lacunes parmi lesquelles :
un coût élevé
dû à la technicité du serveur
un maillon faible
le serveur est le seul maillon faible du réseau client/serveur, étant donné que tout le réseau est architecturé autour de lui! Heureusement, le serveur a une grande tolérance aux pannes (notamment grâce au système RAID[3])
Fonctionnement d'un système client/serveur
Un système client/serveur fonctionne selon le schéma suivant:
Le client émet une requête vers le serveur grâce à son adresse et à son port, qui désigne un service particulier du serveur
Le serveur reçoit la demande et répond à l'aide de l'adresse de la machine client (et de son port)