ARCHITECTURE DES SYSTEMES D’INFORMATION THEME 1 : ARCHITECTURE CLIENT / SERVEUR
ARCHITECTURE DES SYSTEMES D’INFORMATION THEME 1 : ARCHITECTURE CLIENT / SERVEUR Par : BIWONO NGADENA Gaspard Junior (IngT. des Réseaux et Télécommunications) Sous la coordination de : Mr. MBALLA Fabien (Ingénieur) Année académique 2020-2021 Architecture client/serveur I SIGLES ET ABREVIATION API : Application Program Interface DNS : Domain Name Server FTP : File Transfer Protocol IANA : Internet Assigned Numbers Authority MTP : Media Transfert Protocol NNTP : Network News Transfer Protocol OSI : Open System Interconnection POP : Post Office Protocol RAID : Redundant Array of Inexpensive Disks SGBD : Système de gestion de base de données Architecture client/serveur II LISTE DES FIGURES Figure 1 : le modèle client/serveur ...................................................................................................... 2 Figure 2 : middlewares .......................................................................................................................... 6 Architecture client/serveur III SOMMAIRE INTRODUCTION I. Définition du modèle Client/serveur II. LES Middlewares III. Notion de protocoles et de port IV. Les API Socket V. Les types de client applicatifs CONCLUSION Architecture client/serveur 1 INTRODUCTION Dans l’informatique moderne, de nombreuses applications fonctionnent selon un environnement client/serveur. Cette dénomination signifie que les machines clientes (faisant partie du réseau) contacte un serveur qui est une machine généralement très puissante en termes de capacités d’entrées/sorties qui leur fournit des services. Nous allons voir comment cette technologie permet d’exploiter au mieux les réseaux, et permet un haut niveau de coopération entre différentes machines sans que l’utilisateur se préoccupe des détails de compatibilité. Architecture client/serveur 2 I. Définition du modèle client/serveur Le modèle client-serveur s'articule autour d'un réseau auquel sont connectés deux types d'ordinateurs le serveur et le client. Le client et le serveur communiquent via des protocoles. Les applications et les données sont réparties entre le client et le serveur de manière à réduire les coûts. Le client-serveur représente un dialogue entre deux processus informatiques par l’intermédiaire d’un échange de messages. Le processus client sous-traite au processus serveur des services à réaliser. Les processus sont généralement exécutés sur des machines, des OS et des réseaux hétérogènes. Figure 1 : le modèle client/serveur I.1 les caractéristiques des modèles client/ serveur Les éléments qui caractérisent une architecture client/serveur sont : Service Le modèle client/serveur est une relation entre des processus qui tournent sur des machines séparées. Le serveur est un fournisseur de services. Le client est un consommateur de services. Partage de ressources Un serveur traite plusieurs clients et contrôle leurs accès aux ressources Processus A Processus A Processus B CLIENT SERVEUR Requête Réponse Réseau Architecture client/serveur 3 Protocole asymétrique Conséquence du partage de ressources, le protocole de communication est asymétrique le client déclenche le dialogue ; le serveur attend les requêtes des clients. Transparence de la localisation L’architecture client/serveur doit masquer au client la localisation du serveur (que le service soit sur la même machine ou accessible par le réseau). Transparence par rapport aux systèmes d’exploitation et aux plates-formes matérielles. Idéalement, le logiciel client/serveur doit être indépendant de ces deux éléments. Message Les messages sont les moyens d’échanges entre client et serveur. Encapsulation des services Un client demande un service. Le serveur décide de la façon de le rendre une mise à niveau du logiciel serveur doit être sans conséquence pour le client tant que l’interface message est identique. Evolution Une architecture client/serveur doit pouvoir évoluer horizontalement (évolution du nombre de clients) et verticalement (évolution du nombre et des caractéristiques des serveurs). I.2 la répartition des taches Dans l’architecture client/serveur, une application est constituée de trois parties : L’interface utilisateur La logique de traitement La gestion des données Architecture client/serveur 4 Le client n’exécute que l’interface utilisateur (souvent un interface graphique), ainsi que la logique de traitement (formuler la requête), laissant au serveur de base de données la gestion complète des manipulations de données. La liaison entre le client et le serveur à tout un ensemble complexe de logiciels appelés middleware qui se charge de toutes les communications entre les processus. I.3 les différents modèles de client/serveur Les différences sont essentiellement liées aux services qui sont assurés par le serveur. On distingue couramment : I.3.1 le client/serveur de donnée Dans ce cas, le serveur assure des taches de gestion, stockage et de traitement de donnée. C’est le cas le plus connu de client- serveur est utilisé par tous les grands SGBD : La base de données avec tous ses outils (maintenance, sauvegarde…) est installée sur un poste serveur. Sur les clients, un logiciel d'accès est installé permettant d'accéder à la base de données du serveur. Tous les traitements sur les données sont effectués sur le serveur qui renvoie les informations demandées par le client. I.3.2 le client/serveur de présentation Dans ce cas la présentation des pages affichées par le client est intégralement prise en charge par le serveur. Cette organisation présente l’inconvénient de générer un fort trafic réseaux. I.3.3 le client/serveur de traitement Dans ce cas, le serveur effectue des traitements à la demande du client. Il peut s’agir de traitement particulier sur des données, de vérification de formulaire de saisie, de traitement d’alarmes. Ces traitements peuvent être réalisés par des programmes installés sur des serveurs mais également intégré dans des bases de données ; dans ce cas, la partie donnée et traitement sont intégrés. Architecture client/serveur 5 I.4 les 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. I.5 les inconvénients de l’architecture 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). II. Les Middlewares On appelle middleware (ou logiciel médiateur en français), littéralement élément du milieu, l’ensemble des couches réseau et services logiciel qui permettent le dialogue entre les différents composants d’une application répartie. Ce dialogue se base sur un protocole applicatif commun, défini par l’API du middleware. Middleware c’est une interface de communication universelle entre processus. Il représente véritablement la clef de voûte de toute application client/serveur. C’est ce logiciel qui assure les dialogues entre clients et serveurs hétérogènes, ou entre 2 applicatifs n’ayant pas les même API. Fait de l’adaptation de protocole » des couches 5, 6, 7 du modèle OSI. Architecture client/serveur 6 L’objectif principal du middleware est d’unifier, pour les applications, l’accès et la manipulation de l’ensemble des services disponibles sur le réseau, afin de rendre l’utilisation de ces derniers presque transparente. Figure 2 : middlewares II.1 les services de middlewares Un middleware est susceptible de rendre les services suivants : Conversion Services utilisé pour la communication entre machine mettant en œuvre des formats de données différentes ; Adressage Permet d’identifier la machine serveur sur laquelle est localisé le service demandé afin d’en déduire le chemin d’accès. Dans la mesure du possible ; Sécurité Permet de garantir la confidentialité et la sécurité des données à l’aide de mécanismes d’authentification et de cryptage des informations ; Communication Permet la transmission des messages entre les deux systèmes sans altération. Ce service doit gérer la connexion au serveur, la préparation de l’exécution des requêtes, la récupération des résultats et la déconnexion de l’utilisation. Le middleware masque la complexité des échanges inter-applications et permet ainsi d’élever les niveaux des API utilisées par les programmes. Sans ce mécanisme, la programmation d’une application client/serveur serait complexe et difficilement évolutive. Clients Middleware Serveur Architecture client/serveur 7 III. Notion de protocoles et de ports III.1 Notion de port Lors d'une communication en réseau, les différents ordinateurs s'échangent des informations qui sont généralement destinées à plusieurs applications. Seulement ces informations transitent par la même passerelle. Il faut donc savoir pour quelle application telle information est destinée. On attribue donc des ports pour chaque application. Un port est comme une porte en schématisant. Les informations sont multiplexées (comme dans les voitures récentes) et passent par la passerelle. A leur arrivée (vers le serveur) ou à leur réception (vers votre machine) elles sont dé multiplexées et chaque information distincte passe par le port qui lui est associé. Les informations sont ensuite traitées par l'application correspondante. Un port est codé sur 16 bits, il y a donc 65536 ports. L'adresse IP plus le port (exemple : 127.0.0.1:80) uploads/Ingenierie_Lourd/ expose-de-si2.pdf
Documents similaires
-
14
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 09, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.6772MB