Développement d’application client/serveur Zouhair ELHADARI www.hadari.jimdo.com Centre de BTS Dakhla 2ème année BTS DSI
Chapitre 1 Architecture client-serveur 2ème année BTS DSI Prof:EL HADARI zouhair
Partie 1:Rappel (TCP/IP) 2ème année BTS DSI Prof:EL HADARI zouhair
Petit rappel du modèle TCP/IP Le model OSI définit sept couche, le TCP/IP ne comporte que quatre couches, mais en cohérence avec le model OSI. 2ème année BTS DSI Prof:EL HADARI zouhair
Les principaux protocoles rencontrés sur un réseau TCP/IP 2ème année BTS DSI Prof:EL HADARI zouhair
Les deux modes de transfert Il existe deux modes de transfert : Le mode connecté (TCP) Le mode non connecté (UDP) Le mode connecté (TCP) :Dans ce mode, il se met en place un processus de "handshake" (poignée de main) entre le client et le serveur. Le mode non connecté (UDP) :C'est un mode simple, de type "on envoie les données et on espère qu'elles arriveront". Il n'y a pas de "connexion", au sens où on l'a vu pour le mode connecté. 2ème année BTS DSI Prof:EL HADARI zouhair
Les protocoles d'application utilisant TCP ou UDP POP FTP IMAP SMTP TELNET NNTP HTTP 2ème année BTS DSI Prof:EL HADARI zouhair
Partie 2: Présentation du modèle client-serveur 2ème année BTS DSI Prof:EL HADARI zouhair
Un peu d'histoire: (1) Le client serveur est l'état actuel de l'évolution des architectures informatiques : Avant les Années 80 : Système Centralisé (ordinateur central avec des terminaux passifs de type texte). Les Années 80 : Développement du transactionnel et apparition des SGBD non-propriétaires (indépendants des constructeurs) - SGBD relationnel + SQL 2ème année BTS DSI Prof:EL HADARI zouhair
Un peu d'histoire: (2) Les Années 90 : Développement des réseaux. L'efficacité et le partage des systèmes d'informations doivent être optimum . Le client-serveur se situe dans ce besoin de centralisation (information cohérente, non redondante et accessible) et de décentralisation (conserver la puissance et l'interface des micros-ordinateurs) 2ème année BTS DSI Prof:EL HADARI zouhair
Le modèle Multi-Utilisateur centralisé CLIENT E C R A N SERVEUR INTELLIGENCE Serveur = Ordinateur central qui effectue tous les traitements Client = Terminal sans puissance locale de traitement 2ème année BTS DSI Prof:EL HADARI zouhair
Le modèle réseau local traditionnel CLIENT E C R A N SERVEUR INTELLIGENCE Serveur = Gère le réseau et stocke les bases de données sans les gérées. Client = Les stations effectuent tous les traitements 2ème année BTS DSI Prof:EL HADARI zouhair
Le modèle Client-Serveur A N SERVEUR CLIENT INTELLIGENCE Répartition judicieuse de la puissance de traitement entre le serveur et les différentes stations interconnectées. 2ème année BTS DSI Prof:EL HADARI zouhair
Client/Serveur : définition (1) 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 2ème année BTS DSI Prof:EL HADARI zouhair
2ème année BTS DSI Prof:EL HADARI zouhair
Client/Serveur : définition (2) CLIENT: Processus qui demande l'exécution d'une opération par l'envoi d'une demande. SERVEUR: Processus qui exécute la demande du client et qui transmet la réponse. REQUÊTE (Request) :Message transmis par le client. REPONSE (Reply):Message transmis par le serveur. 2ème année BTS DSI Prof:EL HADARI zouhair
Client/Serveur : Fonctionnement Communication par messages (plutôt que par partage de données, mémoire ou fichiers) Requête : paramètres d’appel, spécification du service requis. Réponse : résultats, indicateur éventuel d’exécution ou d’erreur Communication synchrone (dans le modèle de base) : le client est bloqué en attente de la réponse 2ème année BTS DSI Prof:EL HADARI zouhair
Client/Serveur :Intérêts Structuration fonctions bien identifiées séparation interface du service - réalisation client et serveur peuvent être modifiés (remplacés) indépendamment. Protection client et serveur s’exécutent dans des domaines de protection différents. Gestion des ressources le serveur peut être partagé entre de nombreux clients en contrepartie, il doit assurer la gestion des ressources partagées. 2ème année BTS DSI Prof:EL HADARI zouhair
Client/Serveur :Exemples (1) Exemples d’applications Serveur de fichiers Serveur d’impression Serveur de calcul Serveur d’application (spécifique `a l’application) Serveur de bases de données Serveur de temps Serveur de noms (annuaire des services) …… 2ème année BTS DSI Prof:EL HADARI zouhair
Client/Serveur :Exemples (2) 2ème année BTS DSI Prof:EL HADARI zouhair
Les principes généraux du C/S: (1) Service:Le serveur est fournisseur de services. Le client est consommateur de services. 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. Hétérogénéité : Le logiciel client-serveur est indépendant des plate- formes matérielles et logicielles. 2ème année BTS DSI Prof:EL HADARI zouhair
Les principes généraux du C/S: (2) 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. Souplesse et adaptabilité:On 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. 2ème année BTS DSI Prof:EL HADARI zouhair
Découpage des applications C/S: DONNEES TRAITEMENT PRESENTATION On reconnaît traditionnellement dans une application 3 modules : 2ème année BTS DSI Prof:EL HADARI zouhair
Bases de Données Stations de travail Interface Langages de programmation / manipulation de données Traitements SGBD Bases de Données Données Les trois dimensions d'une application 2ème année BTS DSI Prof:EL HADARI zouhair
Découpage des applications C/S: (2) Dans le modèle client-serveur on distingue trois couches : Couche présentation (l’interface) est chargée d’organiser le dialogue entre la machine et l’utilisateur, Couche applicative (les traitements ) réalisent les tâches pour produire les résultats, Couche données: la gestion des données. 2ème année BTS DSI Prof:EL HADARI zouhair
Les différents modèles de C/S: (1) 1.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éseau. 2ème année BTS DSI Prof:EL HADARI zouhair
Les différents modèles de C/S: (2) 2.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 formulaires de saisie, de traitements d'alarmes … Ces traitements peuvent être réalisés par des programmes installé sur des serveurs mais également intégrés dans des bases de données, dans ce cas, la partie donnée et traitement sont intégrés. 2ème année BTS DSI Prof:EL HADARI zouhair
Les différents modèles de C/S: (3) 3.Le client-serveur de donnée. Dans ce cas, le serveur assure des tâches de gestion, stockage et de traitement de données. C'est le cas le plus connu de client-serveur est qui 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 (souvent à travers une requête SQL) par le client 2ème année BTS DSI Prof:EL HADARI zouhair
Le schéma du Gartner Group: (1) 2ème année BTS DSI Prof:EL HADARI zouhair
Le schéma du Gartner Group: (2) Client/Serveur de présentation Type 1 : La présentation distribuée : Représente un système Serveur/terminal classique. Ce dernier présente un écran "calculé" par le serveur. 2ème année BTS DSI Prof:EL HADARI zouhair
Le schéma du Gartner Group: (3) Client/Serveur de présentation Type 2 : présentation distante : L'affichage effectué par le client se fait à la suite d'un échange de requêtes avec le serveur, le serveur prend en charge l’exécution de l’applicatif et la gestion des données. 2ème année BTS DSI Prof:EL HADARI zouhair
Le schéma du Gartner Group: (4) Le client-serveur de traitement Type 3 : Le client/serveur de traitement : application répartie La partie logique de l’application est découpée et répartie entre le poste client et le poste serveur. Le poste client contient la logique fonctionnelle de base et fait appel au serveur pour effectuer les traitements en utilisant des services extérieurs. Elle envoie pour cela des requêtes ou demandes au serveur qui va effectuer les traitements et renvoyer les résultats au client qui se charge de l’affichage. 2ème année BTS DSI Prof:EL HADARI zouhair
Le schéma du Gartner Group: (5) Le client-serveur de donnée. Type 4: gestion de données distantes La partie cliente assure la gestion de l’affichage ainsi que l’exécution des traitements de l’application. Le serveur héberge et gère les données, le plus souvent à l’aide d’un système de gestion de base de données relationnel (SGBDR). Dans ce modèle, l’application cliente provoque le dialogue en envoyant des requêtes au serveur qui en retour envoie les données demandées répondant à la demande. Le client-serveur de données est le type le plus utilisé puisque les SGBDR fonctionnent sous ce modèle. 2ème année BTS DSI Prof:EL HADARI zouhair
Le schéma du Gartner Group: (6) Le client-serveur de donnée. Type 5: gestion de données distribuées ou système réparti: Les données sont distribuées entre le poste client et le poste serveur. Dans un tel environnement, les données réparties doivent être gérées comme si elles étaient stockées physiquement en un seul endroit. 2ème année BTS DSI Prof:EL HADARI zouhair
L'architecture client-serveur: (1) Suivant les contraintes d'utilisation ou contraintes techniques on a des différents types Architecture 1-tiers Architecture 2-tiers Architecture 3-tiers Architecture n-tiers 2ème année BTS DSI Prof:EL HADARI zouhair
L'architecture client-serveur: (2) Architecture 1 tiers Les 3 couches applicatives s'exécutent sur la même machine On parle d'informatique centralisée : Contexte multi-utilisateurs dans le cadre d'un site central (mainframe) 2ème année BTS DSI Prof:EL HADARI zouhair
L'architecture client-serveur: (3) Architecture 2 tiers – client / serveur Présentation et traitements sont sur le client Les données sur le serveur Contexte multi-utilisateurs avec accès aux données centralisées 2ème année BTS DSI Prof:EL HADARI zouhair
L'architecture client-serveur: (4) Architecture 3 tiers La présentation est sur le client Les traitements sont pris par un serveur intermédiaire Les données sont sur un serveur de données Contexte multiutilisateur internet 2ème année BTS DSI Prof:EL HADARI zouhair
L'architecture client-serveur: (5) Architecture n tiers La présentation est sur le client Les traitements sont pris par un serveur intermédiaire Les données sont sur un serveur de données Contexte multi-utilisateurs internet 2ème année BTS DSI Prof:EL HADARI zouhair
Fin du Chapitre 2ème année BTS DSI Prof:EL HADARI zouhair