Coopération entre les applications (Middleware)
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
Objectif :
Découvrir les architectures client/serveur et leurs
rôles.
1. Présentation : les applications informatiques
dans l'environnement réseau
Rappel : les applications informatiques ont vocation
à répondre aux besoins des utilisateurs dans
leur travail au sein de l'organisation. Pour des raisons
d'adaptation rapide aux évolutions du système
d'information, les applications informatiques sont
structurées en 3 niveaux :
présentation, traitement,
données.
Les systèmes informatiques sont de plus en plus souvent structurés autour du réseau local de l'entreprise interconnectée aux réseaux étendus mondiaux. Les applications informatiques doivent donc permettre la communication au travers des réseaux en utilisant les architectures applicatives « client/serveur ».
Les systèmes informatiques sont de plus en plus souvent structurés autour du réseau local de l'entreprise interconnectée aux réseaux étendus mondiaux. Les applications informatiques doivent donc permettre la communication au travers des réseaux en utilisant les architectures applicatives « client/serveur ».
2. Client et serveur
a. Comprendre les notions client et serveur
La notion client/serveur est relativement simple ;
il suffit de s'imaginer le client d'un café qui
commande une boisson au serveur : le client
sollicite un service et le serveur lui rend ce
service.
L'objectif des architectures client/serveur est de permettre l'accès réparti de l'usage des services auprès des différents utilisateurs, tout en gérant de façon centralisée les ressources tant applicatives (traitements) que de gestion des données.
Les architectures client/serveur vont permettre une évolution plus rapide de l'organisation des systèmes d'information étendue en facilitant la maintenance par une gestion indépendante de chacun des niveaux qui la composent ; la réelle difficulté restant l'interopérabilité des systèmes et des technologies mises en œuvre.
L'objectif des architectures client/serveur est de permettre l'accès réparti de l'usage des services auprès des différents utilisateurs, tout en gérant de façon centralisée les ressources tant applicatives (traitements) que de gestion des données.
Les architectures client/serveur vont permettre une évolution plus rapide de l'organisation des systèmes d'information étendue en facilitant la maintenance par une gestion indépendante de chacun des niveaux qui la composent ; la réelle difficulté restant l'interopérabilité des systèmes et des technologies mises en œuvre.
b. Les clients
Le client est souvent considéré comme
étant le poste de travail (ordinateur) de
l'utilisateur : on parle dans ce cas
de « poste client ».
Toutefois d'un point de vue applicatif le client ou logiciel client a pour rôle de permettre la communication avec le serveur ou logiciel serveur pour lequel il représente l'interface utilisateur.
L'utilisateur émet des requêtes d'interrogation vers le serveur et reçoit les résultats du serveur au travers du client.
Exemple : le navigateur Web émet une requête http d’interrogation d'un service Web qui lui renvoie en résultat une page html qui sera visualisée par le navigateur. Le navigateur Web est le logiciel client et le service Web est le logiciel serveur.
Il existe 3 catégories de logiciel client :
• le client léger ne gère que le niveau de présentation,
Exemple : un simple navigateur Web émettant des requêtes http vers des serveurs de traitement et des serveurs de données Internet (ou intranet).
• le client enrichi gère le niveau présentation et certains traitements locaux,
Exemple : un navigateur Web associé à des traitements locaux JavaScript ou VBScript ou encore l'utilisation de Plug-In (extension logicielle locale).
• le client lourd gère les niveaux de présentation et de traitement,
Exemple : tous les logiciels installés sur les postes client accédant à un serveur de données.
Toutefois d'un point de vue applicatif le client ou logiciel client a pour rôle de permettre la communication avec le serveur ou logiciel serveur pour lequel il représente l'interface utilisateur.
L'utilisateur émet des requêtes d'interrogation vers le serveur et reçoit les résultats du serveur au travers du client.
Exemple : le navigateur Web émet une requête http d’interrogation d'un service Web qui lui renvoie en résultat une page html qui sera visualisée par le navigateur. Le navigateur Web est le logiciel client et le service Web est le logiciel serveur.
Il existe 3 catégories de logiciel client :
• le client léger ne gère que le niveau de présentation,
Exemple : un simple navigateur Web émettant des requêtes http vers des serveurs de traitement et des serveurs de données Internet (ou intranet).
• le client enrichi gère le niveau présentation et certains traitements locaux,
Exemple : un navigateur Web associé à des traitements locaux JavaScript ou VBScript ou encore l'utilisation de Plug-In (extension logicielle locale).
• le client lourd gère les niveaux de présentation et de traitement,
Exemple : tous les logiciels installés sur les postes client accédant à un serveur de données.
c. Les serveurs
Au même titre que le client le serveur est souvent
associé à la machine délivrant un
service (ou des services).
Toutefois, le serveur applicatif correspond à un programme (on parle de processus) délivrant un service. Le serveur est en attente de sollicitations de la part des logiciels clients du service qu'il propose. Le serveur traite la requête d'interrogation émise par le client et lui renvoie le résultat.
Il existe de très nombreuses catégories de serveur : authentification (ou d'accès), impression, fichier, application, donnée, Internet (WWW, FTP, messagerie électronique…), DNS, DHCP, mandataire (proxy)… en fonction des besoins de services de l'organisation.
Toutefois, le serveur applicatif correspond à un programme (on parle de processus) délivrant un service. Le serveur est en attente de sollicitations de la part des logiciels clients du service qu'il propose. Le serveur traite la requête d'interrogation émise par le client et lui renvoie le résultat.
Il existe de très nombreuses catégories de serveur : authentification (ou d'accès), impression, fichier, application, donnée, Internet (WWW, FTP, messagerie électronique…), DNS, DHCP, mandataire (proxy)… en fonction des besoins de services de l'organisation.
d. Le logiciel médiateur (Middleware)
L'architecture client/serveur doit permettre à des
applications clientes et serveurs de pouvoir communiquer
en échangeant des informations dans des
environnements systèmes et technologiques
différents.
Les logiciels médiateurs (middleware) ont pour rôle de gérer de façon cohérente les échanges entre les logiciels, ils servent donc d'interface permettant :
• l'interconnexion (entre le client et le serveur du service),
• l'envoi et l'exécution des requêtes d'interrogation par le service/serveur concerné,
• et en assurant la forme et le retour du résultat au client.
Les logiciels médiateurs (middleware) ont pour rôle de gérer de façon cohérente les échanges entre les logiciels, ils servent donc d'interface permettant :
• l'interconnexion (entre le client et le serveur du service),
• l'envoi et l'exécution des requêtes d'interrogation par le service/serveur concerné,
• et en assurant la forme et le retour du résultat au client.
3. Les architectures « client/serveur »
a. Architecture 2 tier ou 2 niveaux
Le poste client (ordinateur) héberge le niveau
présentation et traitement, alors que le serveur
héberge le niveau donné.
Illustration : avec une application Access exploitant des données d’une base centralisé SQLServeur
Il existe toutefois d'autres organisations reposant sur l'architecture 2 tier ou 2 niveaux principalement depuis l'arrivée des technologies Internet.
Illustration : avec une application Access exploitant des données d’une base centralisé SQLServeur
Il existe toutefois d'autres organisations reposant sur l'architecture 2 tier ou 2 niveaux principalement depuis l'arrivée des technologies Internet.
b. Architecture 3 tier ou 3 niveaux
L'architecture 3 tier ou 3 niveaux sépare
distinctement les 3 niveaux d'une application
(présentation, traitement, donnée) que l'on
retrouvera généralement sur 3 machines
distinctes.
Illustration : un site Internet composé d'un serveur d'application qui héberge le serveur Internet Apache capable d'exploiter le langage de programmation Web PHP et d’un serveur de données qui héberge le système de gestion de bases de données MySQL ainsi la base de données et enfin le ou les postes clients qui exploitent le site Web au travers un navigateur Web.
Illustration : un site Internet composé d'un serveur d'application qui héberge le serveur Internet Apache capable d'exploiter le langage de programmation Web PHP et d’un serveur de données qui héberge le système de gestion de bases de données MySQL ainsi la base de données et enfin le ou les postes clients qui exploitent le site Web au travers un navigateur Web.
c. Architecture n tier ou multi-niveau
L'architecture n tier multi niveau correspond à
une généralisation de l'architecture 3 tier
avec une démultiplication des serveurs
gérant les traitements et les serveurs
gérant les données.
Illustration : Goggle est un exemple caractéristique qui présente comme client tous les navigateurs Web se connectant à Internet, comme serveurs de traitement un ensemble de serveurs géographiques (www.google.fr pour la France, www.google.de pour l'Allemagne…) et un grand nombre de serveurs de données répliquées (copie des bases de données) ou spécialisées (bases de données correspondant à un domaine spécifique d'interrogation Web). Cette organisation permet aux multiples utilisateurs de pouvoir accéder au service de moteur de recherche de google sans que le système ne s'écroule face aux gigantesques nombres d'interrogations à travers le monde.
Illustration : Goggle est un exemple caractéristique qui présente comme client tous les navigateurs Web se connectant à Internet, comme serveurs de traitement un ensemble de serveurs géographiques (www.google.fr pour la France, www.google.de pour l'Allemagne…) et un grand nombre de serveurs de données répliquées (copie des bases de données) ou spécialisées (bases de données correspondant à un domaine spécifique d'interrogation Web). Cette organisation permet aux multiples utilisateurs de pouvoir accéder au service de moteur de recherche de google sans que le système ne s'écroule face aux gigantesques nombres d'interrogations à travers le monde.
L'essentiel
Les applications informatiques doivent pouvoir fonctionner
dans un environnement réseau ; l'organisation de
celles-ci en 3 niveaux : présentation,
traitement et donnée permet de répartir dans un
environnement client/serveur les tâches de chaque
niveau.
En fonction des besoins applicatifs de l'organisation on retrouvera des architectures applicatives client/serveur à 2 niveaux (2 tier), 3 niveaux (3-tier) ou de multiples niveaux (n tier).
En fonction des besoins applicatifs de l'organisation on retrouvera des architectures applicatives client/serveur à 2 niveaux (2 tier), 3 niveaux (3-tier) ou de multiples niveaux (n tier).
Vous avez obtenu75%de bonnes réponses !