Pages

mercredi 5 janvier 2011

client serveur ... cour 05

Présentation de l'architecture d'un système client/serveur

De nombreuses applications fonctionnent selon un environnement client/serveur, cela signifie que desmachines 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, etc.
Les services sont exploités par des programmes, appelés programmes clients, s'exécutant sur les machines clientes. On parle ainsi de client (client FTP, client de messagerie, etc.) lorsque l'on désigne un programme tournant sur une machine cliente, capable de traiter des informations qu'il récupère auprès d'un serveur (dans le cas du client FTP il s'agit de fichiers, tandis que pour le client de messagerie il s'agit de courrier électronique).

Avantages de l'architecture client/serveur

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 il est possible de supprimer ou rajouter des clients sans perturber le fonctionnement du réseau et sans modification majeure

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)

Fonctionnement d'un système client/serveur

Un système client/serveur fonctionne selon le schéma suivant :
client/serveur
  • Le client émet une requête vers le serveur grâce à son adresse IP et le 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 cliente et son port


Architecture mainframe

Les premiers réseaux informatiques étaient architecturés autour d'un ordinateur central, appelé « mainframe ».
Le mainframe représente ainsi un ordinateur central de grande puissance chargé de gérer les sessions utilisateurs des différents terminaux qui lui étaient reliés. Grâce à cette architecture, il est ainsi possible de consolider, c'est-à-dire de gérer de manière centralisée, l'ensemble des applications métiers de l'entreprise.
Cependant, dans le modèle mainframe, la performance du système tout entier repose sur les capacités de traitement de l'ordinateur central, c'est la raison pour laquelle ce modèle est parfois qualifié d'« informatique lourde ». Par ailleurs, dans un environnement mainframe, les terminaux du réseau ne peuvent voir que le serveur central.

Présentation de l'architecture à 2 niveaux

L'architecture à deux niveaux (aussi appelée architecture 2-tiertier signifiant rangée en anglais) caractérise les systèmes 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.
architecture client/serveur à deux niveaux

Présentation de l'architecture à 3 niveaux

Dans l'architecture à 3 niveaux (appelée architecture 3-tier), il existe un niveau intermédiaire, c'est-à-dire que l'on a généralement une architecture partagée entre :
  1. Un client, c'est-à-dire l'ordinateur demandeur de ressources, équipée d'une interface utilisateur (généralement un navigateur web) chargée de la présentation ;
  2. Le serveur d'application (appelé également middleware), chargé de fournir la ressource mais faisant appel à un autre serveur
  3. Le serveur de données, fournissant au serveur d'application les données dont il a besoin.
architecture client/serveur à trois niveaux
Etant donné l'emploi massif du terme d'architecture à 3 niveaux, celui-ci peut parfois désigner aussi les architectures suivantes :
  • Partage d'application entre client, serveur intermédiaire, et serveur d'entreprise ;
  • Partage d'application entre client, serveur d'application, et serveur de base de données d'entreprise.

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 demandées par le client.
Dans l'architecture à trois niveaux par contre, les applications au niveau serveur sont délocalisées, c'est-à-dire que chaque serveur est spécialisé dans une tâche (serveur web/serveur de base de données par exemple). L'architecture à trois niveaux permet :
  • Une plus grande flexibilité/souplesse ;
  • Une sécurité accrue car la sécurité peut être définie indépendamment pour chaque service, et à chaque niveau ;
  • De meilleures performances, étant donné le partage des tâches entre les différents serveurs.

L'architecture multiniveaux

Dans l'architecture à 3 niveaux, chaque serveur (niveaux 2 et 3) effectue une tâche (un service) spécialisée. Un serveur peut donc utiliser les services d'un ou plusieurs autres serveurs afin de fournir son propre service. Par conséquent, l'architecture à trois niveaux est potentiellement une architecture à N niveaux...
architecture multiniveaux



Réseaux - Client lourd


Client lourd

Le terme « client lourd » (en anglais « fat client » ou « heavy client »), par opposition au client léger, désigne une application cliente graphique exécutée sur le système d'exploitation de l'utilisateur. Un client lourd possède généralement des capacités de traitement évoluées et peut posséder une interface graphique sophistiquée. Néanmoins, ceci demande un effort de développement et tend à mêler la logique de présentation (l'interface graphique) avec la logique applicative (les traitements).
Ce type d'application étant généralement installé sur le système d'exploitation de l'utilisateur, une nouvelle version doit être installée afin de la faire évoluer. Pour y remédier, les éditeurs d'applications lourdes les dotent généralement d'une fonctionnalité exécutée au lancement de l'application, permettant de vérifier sur un serveur distant si une version plus récente est disponible et le cas échéant propose à l'utilisateur de la télécharger et de l'installer.


Réseaux - Client léger


Client léger

Le terme « client léger » (parfois « client pauvre », en anglais « thin client »), par opposition au client lourd, désigne une application accessible via une interface web (en HTML) consultable à l'aide d'unnavigateur web, où la totalité de la logique métier est traitée du côté du serveur. Pour ces raisons, lenavigateur est parfois appelé client universel.
L'origine du terme lui-même provient de la pauvreté du langage HTML, qui ne permet de faire des interfaces relativement pauvres en interactivité, si ce n'est pas le biais du langage javascript.
Le fait que l'essentiel des traitements soit réalisé du côté du serveur et que l'interface graphique est envoyée au navigateur à chaque requête permet une grande souplesse de mise à jour. En contrepartie, l'application doit s'affranchir des différences d'interprétation du code HTML par les différents navigateurs et l'ergonomie de l'application possède un champ réduit.


Réseaux - Client riche

Client riche

Un « client riche » est un compromis entre le client léger et le client lourd. L'objectif du client riche est donc de proposer une interface graphique, décrite avec une grammaire de description basée sur la syntaxe XML, permettant d'obtenir des fonctionnalités similaires à celles d'un client lourd (glisser déposer, onglets, multi fenêtrage, menus déroulants).
Les clients riches permettent ainsi de gérer l'essentiel des traitements du côté du serveur. Les données sont ensuite transmises dans un format d'échange standard utilisant la syntaxe XML (SOAP, XML-RPC), puis interprétées par le client riche.
Les principaux standards permettant de définir une application riche sont les suivants :
  • XAML (eXtensible Application Markup Language), prononcez « zammel », un standard XML proposé par Microsoft, utilisé notamment dans les applications utilisant le framework .NET ;
  • XUL, prononcez « zoul », un standard XML proposé par la fondation Mozilla, utilisé par exemple dans le client de messagerie Mozilla Thunderbird ou dans le navigateur Mozilla Firefox ;
  • Flex, un standard XML proposé par la société Macromedia.


Réseau d'égal à égal

Présentation de l'architecture d'égal à égal

Dans une architecture d'égal à égal (en anglais peer to peer), contrairement à une architecture de réseau de type client/serveur, il n'y a pas de serveur dédié. Ainsi chaque ordinateur dans un tel réseau est un peu serveur et un peu client. Cela signifie que chacun des ordinateurs du réseau est libre de partager ses ressources. Un ordinateur relié à une imprimante pourra donc éventuellement la partager afin que tous les autres ordinateurs puissent y accéder via le réseau.

Inconvénients des réseaux d'égal à égal

Les réseaux d'égal à égal ont énormément d'inconvénients :
  • ce système n'est pas du tout centralisé, ce qui le rend très difficile à administrer
  • la sécurité est très peu présente
  • aucun maillon du système n'est fiable
Ainsi, les réseaux d'égal à égal ne sont valables que pour un petit nombre d'ordinateurs (généralement une dizaine), et pour des applications ne nécessitant pas une grande sécurité (il est donc déconseillé pour un réseau professionnel avec des données sensibles).

Avantages de l'architecture d'égal à égal

L'architecture d'égal à égal a tout de même quelques avantages parmi lesquels :
  • un coût réduit (les coûts engendrés par un tel réseau sont le matériel, les câbles et la maintenance)
  • une simplicité à toute épreuve!

Mise en oeuvre d'un réseau peer to peer

Les réseaux poste à poste ne nécessitent pas les mêmes niveaux de performance et de sécurité que les logiciels réseaux pour serveurs dédiés. On peut donc utiliser Windows NT Workstation, Windows pour Workgroups ou Windows 95 car tous ces systèmes d’exploitation intègrent toutes les fonctionnalités du réseau poste à poste.
La mise en oeuvre d'une telle architecture réseau repose sur des solutions standards :
  • Placer les ordinateurs sur le bureau des utilisateurs
  • Chaque utilisateur est son propre administrateur et planifie lui-même sa sécurité
  • Pour les connexions, on utilise un système de câblage simple et apparent
Il s'agit généralement d'une solution satisfaisante pour des environnements ayant les caractéristiques suivantes :
  • Moins de 10 utilisateurs
  • Tous les utilisateurs sont situés dans une même zone géographique
  • La sécurité n’est pas un problème crucial
  • Ni l’entreprise ni le réseau ne sont susceptibles d’évoluer de manière significative dans un proche avenir

Administration d'un réseau poste à poste

Le réseau poste à poste répond aux besoins d’une petite entreprise mais peut s’avérer inadéquat dans certains environnements. Voici les questions à résoudre avant de choisir le type de réseau : On désigne par le terme "Administration" :
  1. Gestion des utilisateurs et de la sécurité
  2. Mise à disposition des ressources
  3. Maintenance des applications et des données
  4. Installation et mise à niveau des logiciels utilisateurs
Dans un réseau poste à poste typique, il n’y a pas d’administrateur. Chaque utilisateur administre son propre poste. D'autre part tous les utilisateurs peuvent partager leurs ressources comme ils le souhaitent (données dans des répertoires partagés, imprimantes, cartes fax etc.)

Notions de sécurité

La politique de sécurité minimale consiste à mettre un mot de passe à une ressource. Les utilisateurs d’un réseau poste à poste définissent leur propre sécurité et comme tous les partages peuvent exister sur tous les ordinateurs, il est difficile de mettre en oeuvre un contrôle centralisé. Ceci pose également un problème de sécurité globale du réseau car certains utilisateurs ne sécurisent pas du tout leurs ressources. 








abuiyad

0 commentaires:

Enregistrer un commentaire