• Aucun résultat trouvé

Développement d’application client/serveur

N/A
N/A
Protected

Academic year: 2022

Partager "Développement d’application client/serveur"

Copied!
40
0
0

Texte intégral

(1)

Zouhair ELHADARI

www.hadari.jimdo.com

Centre de BTS Dakhla

Développement d’application

client/serveur

(2)

Chapitre 1

Architecture client-serveur

(3)

Partie 1:Rappel (TCP/IP)

(4)

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.

(5)

Les principaux protocoles

rencontrés sur un réseau TCP/IP

(6)

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é.

(7)

Les protocoles d'application utilisant TCP ou UDP

FTP

HTTP IMAP POP

SMTP

NNTP

TELNET

(8)

Partie 2:

Présentation du modèle client-serveur

(9)

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

(10)

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)

(11)

Le modèle Multi-Utilisateur centralisé

Serveur = Ordinateur central qui effectue tous les traitements

Client = Terminal sans puissance locale de traitement

CLIENT

E C R A

N SERVEUR

INTELLIGENCE

(12)

Le modèle réseau local traditionnel

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

CLIENT

E C R A

N SERVEUR

INTELLIGENCE

(13)

Le modèle Client-Serveur

Répartition judicieuse de la puissance de traitement entre le serveur et les

différentes stations interconnectées.

E C R A

N SERVEUR

CLIENT

INTELLIGENCE

INTELLIGENCE

(14)

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

(15)
(16)

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.

(17)

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

(18)

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.

(19)

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)

 ……

(20)

Client/Serveur :Exemples

(2)

(21)

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.  

(22)

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.

(23)

Découpage des applications C/S:

DONNEES

TRAITEMENT

PRESENTATION

On reconnaît traditionnellement dans une

application 3 modules :

(24)

Interface

Données

SGBD

Bases de Données

Langages de

programmation /

manipulation de données Stations de travail

Traitements

Les trois dimensions d'une application

(25)

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.

(26)

Les différents modèles  de C/S: (1)

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.

1.Client-serveur de

présentation

(27)

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. 

(28)

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 à

2ème année BTS DSI

(29)

Le schéma du Gartner Group: (1)

(30)

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.

(31)

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.

(32)

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

2ème année BTS DSI

(33)

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

33

2ème année BTS DSI Prof:EL HADARI zouhair

(34)

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.

(35)

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

(36)

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)

(37)

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

(38)

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

(39)

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

(40)

Fin du Chapitre

Références

Documents relatifs

– Comment casser la relation forte entre client et serveur, comment rendre le client indépendant du serveur pour l'appel.

PHP langage spécialisé pour les applications web (utilisé en conjonction avec Apache) ; MySQL comme serveur de base de données. 5 Projet : réalisation

Le module de gestion des données peut être hébergé par un serveur distant (SGBD, serveur web). Le module de gestion de

• avec connexion / sans connexion (ou avec session): nécessité (/ou non) d'établir une connexion entre le client et le serveur. 11 2ème année BTS DSI Prof:EL

 Caractériser cette socket en terme de communication : -au moins un numéro de port (associé au service) -éventuellement une adresse IP (interface cible).  Lui permettre de

//On associe un paquet à un buffer vide pour la réception DatagramPacket paquet =new DatagramPacket(buffer,buffer.length());. //On crée un socket pour écouter sur le

Serveur en gestion multi--clients clients en en mode connecté. mode

◮ Réponse : message transmis par un serveur à un client suite à l’exécution d’une opération, contenant le résultat