Table des matières

publicité
Système d'information de Gestion
Architecture Client-Serveur
Table des matières
LES PRINCIPES DE BASE ........................................................................................................................... 1
Présentation distribuée-Revamping ..........................................................................................................................................2
Présentation distante ................................................................................................................................................................3
Traitements distribués ..............................................................................................................................................................3
Gestion des données distantes-RD ..........................................................................................................................................4
Gestion des données distribuées-RDA distribué ......................................................................................................................4
L'ARCHITECTURE WEB 3 TIER.................................................................................................................... 5
QU'EST CE QU'UN SERVEUR ?...................................................................................................................... 6
Serveur d'applications...............................................................................................................................................................6
Serveur de fichiers....................................................................................................................................................................6
L'architecture client/serveur désigne un mode de communication entre des
ordinateurs et des logiciels
Les mots « serveur » et « client » désignent les logiciels de type serveur et
client dans cette architecture.
On parle d'Architecture Client Serveur à plusieurs niveaux. En anglais
niveau est traduit par « Tier », ce qui engendre une certaine confusion dans
la langue française quand on entend parler les informaticiens d'Architecture
2 tier ou 3 tier.
Dans l'architecture Client/Serveur :
•
•
•
•
Le serveur est à l'écoute, prêt à répondre aux requêtes envoyées par des clients.
Les clients sont généralement pilotés par des utilisateurs. Ils prennent l'initiative d'envoyer des
requêtes au serveur, puis attendent la réponse pour la donner, le cas échéant, à l'utilisateur.
Un serveur est capable de servir plusieurs clients simultanément, jusqu'à plusieurs milliers.
Le serveur et le client utilisent le même protocole de communication.
L'architecture trois tier est une extension de l'architecture client-serveur.
L'architecture client/serveur correspond à une architecture à deux niveaux :
•
•
les règles de gestion, les traitements et les accès aux données sont réalisés sur le serveur
central,
les contrôles de saisie, les enchainements des dialogues sont effectués sur les postes client.
Ce modèle minimise les flux sur le réseau et tire partie de la puissance des machines locale et
centrale.
Les principes de base
Le client/Serveur repose sur une communication d’égal à égal entre les applications.
La Communication est réalisée par dialogue entre processus deux à deux : Un processus est le client,
l’autre le serveur. Les processus ne sont pas identiques mais forment plutôt un système coopératif.
Le résultat de cette coopération se traduit par un échange de données, le client réceptionne les
résultats finaux délivrés par le serveur.
Le client initie l’échange, le serveur est à l’écoute d’une requête cliente éventuelle.
Le modèle client/serveur constitue un système coopératif sans distinction à priori entre les différents
membres du réseau.
Chaque membre peut alternativement :
•
être client et/ou serveur ;
© Jacques Chambon
1/6
19-COURS_SI_Client-Serveur
Système d'information de Gestion
Architecture Client-Serveur
•
demander un service ;
•
réaliser un service donné pour un ou plusieurs autres membres du réseau.
L'exécution d'un service nécessite beaucoup de ressources machine (CPU, mémoire résidente,
mémoire secondaire, …)
On peut décomposer fonctionnellement une application informatique en trois parties : la première
concerne l’interface utilisateur, c’est à dire tout ce qui à trait au dialogue entre l’utilisateur et
l’application (Présentation). La seconde partie représente l’ensemble des traitements et leur
enchaînement logique (Logique Applicative). Enfin la troisième porte sur la gestion des données
proprement dite.
Le gartner group, cabinet d’étude nord-américain, a publié une classification des différents modes
client-serveur reposant sur cette décomposition applicative. On y retrouve ces trois composants
fonctionnels appelés respectivement « Présentation », « Logique applicative », et « Gestion des
données ».
Classification des modes client-serveurs (source Gartner Group) en architecture 2 tier :
Serveur
Présentation
Distribuée
Présentation
Déportée
Logique
Distribuée
Gestion de
Données
Déportées
Gestion de
Données
Distribuées
Gestion des
Données
Gestion des
Données
Gestion des
Données
Gestion des
Données
Gestion des
Données
Logique
d'application
Logique
d'application
Logique
d'application
Présentation
Gestion des
Données
Client
Présentation
Logique
d'application
Logique
d'application
Logique
d'application
Présentation
Présentation
Présentation
Dans cette classification, on ne raisonne plus seulement en termes de programmes, client ou serveur,
mais en termes de postes. Ainsi, la localisation de chacun des trois composants fonctionnels sur le
poste client ou sur le poste serveur détermine le type d’architecture de l’application.
Présentation distribuée-Revamping
Le premier mode, appelé « Présentation Distribuée », est plus connu sous le terme de rhabillage (ou
revamping). Cette opération permet d’ajouter à une application existante une interface graphique
évoluée. Il s’agit généralement d’une application centralisée sur un gros ou moyen système, dont on
veut améliorer la présentation.
La Présentation distribuée sert à :
●
améliorer la qualité de l’interface applicative,
●
préserver les investissements en allongeant la durée de vie d’applications existantes,
●
offrir une solution intermédiaire avant le passage au client-serveur.
© Jacques Chambon
2/6
19-COURS_SI_Client-Serveur
Système d'information de Gestion
Architecture Client-Serveur
Par contre elle n’offre aucune amélioration fonctionnelle de l’application ni de gain de performance, le
serveur assurant seul l’ensemble des traitements, de plus elle induit une charge réseau élevée.
Présentation distante
Dans le second mode, la « Présentation Distante », la partie présentation de l’application n’existe que
sur le poste client. Celui-ci est conçu pour prendre en charge l’ensemble des tâches liées à l’affichage
:
il dispose pour cela d’un gestionnaire de fenêtres qui se charge de la mise en formes à l’écran des
données issues du serveur.
Ce type de modèle se retrouve dans deux environnements. Sur les plateformes Unix, ce système
permet de présenter l'environnement système en mode graphique, et dans un environnement Web, le
navigateur est chargé de l'affichage des pages qui lui sont fournies par le serveur.
Traitements distribués
Dans le cas des « Traitements Distribués », appelés aussi « Client-serveur de procédures », les
traitements de l’application sont répartis entre le poste client et le poste serveur. .
La partie cliente contient la logique fonctionnelle de base et fait appel à des serveurs pour exécuter un
certain nombre de services extérieurs. Elle envoie pour cela des requêtes qui vont activer des
traitements, appelés procédures, localisés sur les serveurs.
C'est dans l'environnement Web qu'on trouve aujourd'hui l'illustration de ce modèle. Sur un site à
vocation commerciale, le contrôle de présence des données obligatoires sur un formulaire sera vérifié
sur le poste client, tandis que la recherche des produits sur le catalogue sera traitée par le serveur.
© Jacques Chambon
3/6
19-COURS_SI_Client-Serveur
Système d'information de Gestion
Architecture Client-Serveur
Gestion des données distantes-RD
Dans la « Gestion des Données Distantes » ou « Client-serveur de données », la partie cliente assure
à la fois les fonctions de présentation et de logique applicative.
Le serveur assure uniquement la gestion des données, le plus souvent à l’aide d’un système de
gestion de base de données relationnelle. Dans ce modèle, l’application cliente envoie les requêtes au
serveur de données, qui envoie en retour les données demandées, ou informe le client du résultat
obtenu.
La mise en place d’une application de ce type est facilitée à la fois par une répartition claire des
fonctions entre le client et le serveur, et par les produits tels que les SGBD relationnels qui peuvent
aussi ajouter le contrôle d’intégrité. Il s’ensuit une sécurité accrue dans la gestion des données, mais
aussi une amélioration sensible des performances, car les requêtes de contrôle n’ont pas à transiter
du poste client vers le serveur de données.
Gestion des données distribuées-RDA distribué
Enfin, dans la « Gestion des Données Distribuées », les données sont réparties entre le poste client
et un ou plusieurs postes serveurs. Dans un tel environnement, les données réparties doivent être
gérées comme un ensemble unique et cohérent.
Le poste client devenant lui-même serveur de données, il se crée des liens de type serveur-serveur
qui nécessite une gestion des données à grande échelle et, bien souvent, dans un environnement
hétérogène (machines, systèmes d’exploitation, réseaux et SGBD distincts).
Ce modèle correspond en théorie au modèle idéal de répartition car il permet d’agencer les données
de manière avantageuse pour l’entreprise (cohérence du système par la globalisation des ressources
hétérogènes) et pour l’utilisateur (proximité des données, rapidité de traitements). Mais sa mise en
oeuvre demeure complexe car il y a peu de produits capables d’assurer, en environnement distribué,
la gestion, la sécurité (gestion des accès) et l’intégrité des données réparties sur plusieurs postes
clients et serveurs. Ce modèle reste un domaine nouveau et les enjeux sont tels qu’ils engagent
l’entreprise toute entière s’il est mis en œuvre à grande échelle.
© Jacques Chambon
4/6
19-COURS_SI_Client-Serveur
Système d'information de Gestion
Architecture Client-Serveur
L'architecture Web 3 tier
L'architecture 3 tier est utilisée dans les sites Web dits dynamiques, c'est à dire ceux qui nécessitent
l'interrogation d'une base de Données. L'application la plus connue est le site commercial.
Au premier niveau, on trouve le client Web, au deuxième le serveur applicatif qui offre une vision
métier de l'application et au troisième niveau les Données exploitées par le serveur applicatif.
L'utilisateur (le client au sens strict du terme) interroge un site web commercial via son navigateur :
1. le client envoie la requête http://www.site_voyage.com.
2. Le serveur Web répond en envoyant une page au client.
3. Le client fait un choix parmi les diverses destinations proposées.
4. Le serveur Web en fonction du choix du client, lance une requête dans la Base de Données
pour vérifier les opportunités à offrir
5. Le serveur Base de Données répond au serveur Web qui met en page les offres possibles
6. et envoie le résultat au Client qui l'affiche dans son navigateur.
7. Etc...
Les outils nécessaires pour faire fonctionner l'architecture précédente :
Sur le poste de Travail
Un logiciel de Client Universel : un navigateur ( Internet Explorer, Firefox, Opéra, ...)
Un langage de programmation : JavaScript, pour faire des contrôles en local.
Sur le serveur Web
Un logiciel serveur de pages Web (Apache ou IIS )
Un langage de traitement des pages (Java, PHP, ASP...)
Sur le Serveur de Gestion des Données
Un logiciel de Gestion de Base de données
Un langage de Manipulation des Données : SQL
© Jacques Chambon
5/6
19-COURS_SI_Client-Serveur
Système d'information de Gestion
Architecture Client-Serveur
Qu'est ce qu'un serveur?
Serveur d'applications
Serveur hébergeant les applications destinées à être utilisées dans un réseau distribué. En
comparaison au serveur de fichier qui abrite les données destinées à être téléchargées et traitées par
le poste client, le serveur d'applications assume une partie du traitement.
Serveur de fichiers
Un serveur de fichiers permet de partager des données à travers un réseau. Le terme désigne
souvent l'ordinateur (serveur) hébergeant le service applicatif. Il possède généralement une grande
quantité d'espace disque où sont déposés des fichiers. Les utilisateurs peuvent ensuite les récupérer
au moyen d'un protocole de partage de fichier.
On utilise généralement l'un des trois protocoles suivant :
• FTP (File Transfer Protocol)
• CIFS (Common Internet File System)
• NFS (Network File System)
Le choix du protocole dépend princialement de la méthode d'accès des utilisateurs. CIFS est utilisé
par les systèmes d'exploitation Microsoft Windows, NFS est répandu dans le milieu UNIX. Toutefois
des implémentations de ces protocoles sont disponibles pour tout type de système. Ces deux
protocoles permettent d'établir des liaisons permanentes entre le client et le serveur.
FTP est utilisé pour des connexions ponctuelles lorsque le client n'a pas besoin d'être connecté en
permanence au serveur de fichier.
© Jacques Chambon
6/6
19-COURS_SI_Client-Serveur
Téléchargement