Client Leger
Ouissam Bazzi
ARCHITECTURE
Pour gagner en productivité et en compétitivité les
entreprises visent à rendre les applications accessibles de
la manière la plus simple, la plus rapide, au plus grand
nombre d'utilisateurs, au moindre coût et en toute sécurité.
On peut distinguer deux modèles d’architecture permettant
à une entreprise de mettre ses applications à disposition
des utilisateurs :
o Le modèle de base Client/Serveur,
o Le modèle dérivé Client Léger/Serveur.
LE MODELE CLIENT/SERVEUR
Le modèle client/serveur offre la possibilité aux
entreprises
o d’étendre les ressources,
o de simplifier le déploiement et la gestion des applications ,
o de réduire les frais liés à l’acquisition des applications .
Le modèle client/serveur répartit le traitement
d’applications entre les différents ordinateurs d’un
réseau.
Une application client/serveur est constituée d’un
logiciel serveur et d’un logiciel client.
Le logiciel client
Le logiciel client est responsable de l’interface
avec l’utilisateur.
1. L‘utilisateur entre des données à l’écran.
2. Les données sont transformées en une requête
par le logiciel client. Cette requête est écrite
dans un langage spécifique comme par exemple
le protocole HTTP pour le Web.
3. Cette requête est envoyée par le logiciel client
au logiciel serveur.
Le logiciel serveur
Le logiciel serveur est installé sur un ordinateur
puissant.
Il est destiné à traiter toutes les requêtes des
utilisateurs souhaitant utiliser le service.
1. Le logiciel serveur récupère les requêtes des
logiciels clients qui s’adressent à lui.
2. Il exécute la requête et renvoie le résultat au logiciel
client demandeur.
3. Le logiciel client reçoit le résultat et modifie
l’affichage en conséquence du côté utilisateur.
Le logiciel serveur
Souvent l’informatique client/serveur est utilisée pour
interroger une base de données et la modifier.
La machine hébergeant le logiciel serveur est appelé
serveur frontal ; ce service reçoit les requêtes des clients
et les traite en collaboration avec une base de données.
Un serveur appelé serveur dorsal est chargé de la gestion
et de l’hébergement de la base de données.
ARCHITECTURE CLIENT/SERVEUR TRADITIONNELLE
Les applications d'une entreprise sont de deux
types :
o Les applications locales
o Les applications client/serveur constituées de
un logiciel serveur spécifique installé sur un
serveur d’applications
un logiciel client spécifique installé sur un autre
ordinateur.
Les applications 1 et 2 sont des applications
client/serveur alors que les applications 3 et 4 sont des
applications locales.
ARCHITECTURE CLIENT-
LEGER/SERVEUR
Dans l’architecture Client Léger/Serveur tout
le traitement des applications est pris en
charge par des serveurs
les postes client accèdent aux applications
via ces serveurs, sans qu'il soit nécessaire de
télécharger ou de réécrire les applications.
ARCHITECTURE CLIENT-
LEGER/SERVEUR
L'architecture "Client Léger/Serveur" comporte trois
composants essentiels :
1. Le système d'exploitation multi-utilisateur (coté serveur)
2. La technologie MétaFrame : Cette technologie s’appuie sur
o un composant logiciel serveur (le logiciel MétaFrame),
o un composant protocole de réseau (le protocole ICA)
o un composant logiciel client (le client ICA).
3. La gestion centralisée des applications et des postes clients
ARCHITECTURE CLIENT-
LEGER/SERVEUR
1- Le système d'exploitation multi-utilisateur (coté serveur)
Les serveurs sont regroupés et supportent chacun un
système d'exploitation Windows avec le composant
Services Terminal Server.
Services Terminal Server permet à Windows d'avoir la
fonctionnalité multi-utilisateur :
chaque utilisateur dispose sur ce serveur d‘une émulation
Windows sur laquelle tournent ses applications.
plusieurs utilisateurs peuvent se connecter en même temps et
exécuter des applications dans des sessions indépendantes et
protégées.
ARCHITECTURE CLIENT-
LEGER/SERVEUR
2- La technologie MétaFrame
C’est un élément capable de séparer la logique d'une
application de son interface utilisateur
Seules les frappes clavier, les clics souris et les différences
d'affichage écran transitent sur le réseau.
Le logiciel MétaFrame de la technologie MétaFrame
C’est une couche logicielle ajoutée au système d'exploitation
multi-utilisateurs sur chaque serveur.
ARCHITECTURE CLIENT-
LEGER/SERVEUR
Le protocole ICA de la technologie MétaFrame
Il assure La communication entre le logiciel serveur MétaFrame et le
logiciel client.
Il permet aux périphérique client d'accéder aux applications.
C’est un protocole de services de présentation distant grâce auquel
seules les frappes clavier, les clics de souris et les mises à jour
d'écran circulent sur le réseau.
Le client ICA de la technologie MétaFrame
C’est un client universel.
Chaque utilisateur informatique de l'entreprise dispose d’un seul
client.
Grâce à ce client, les utilisateurs ont accès à l'ensemble des
applications de l'entreprise.
ARCHITECTURE CLIENT-
LEGER/SERVEUR
3- La gestion centralisée des applications et des postes
clients
Toutes les applications de l'entreprise sont installées
uniquement en un point central.
Dans le cas d'applications Client/Serveur, seul le logiciel
client spécifique à l'application est installé.
Le bon fonctionnement des applications de l'entreprise
est assuré avec
une bande passante considérablement
une station de travail plus légère en termes de puissance
de calcul.
FONCTIONNEMENT
VOCABULAIRE
APPLICATION PUBLIEE
C’est une application accessible via la technologie Citrix.
Elle est exécutée sur le serveur MétaFrame et est
accessible en utilisant un logiciel client ICA.
FERME DE SERVEURS
C’est un ensemble de serveurs sur lesquels sont
publiées des applications.
Il ya répartition de charge (« load balancing » ) entre les
différents serveurs en fonction des applications
publiées.
ARCHITECTURES POSSIBLES
On distingue principalement deux types
d’architectures centralisées basées sur la
technologie Citrix :
L’architecture simple :
l’accès aux applications publiées est effectué par
l’intermédiaire d’un client ICA.
L’architecture portail :
l’accès aux applications publiées est réalisé par
l’intermédiaire d’une page web.
L’ARCHITECTURE SIMPLE
L’architecture simple est composée de clients ICA
reliés à une ferme de serveurs d’applications.
L’utilisateur accède aux applications sur Metaframe
via un programme spécifique.
Le contrôle d’accès et l’autorisation d’accès aux
applications sont effectués sur le serveur Metaframe.
La saisie du login et du mot de passe est réalisée à
l’ouverture de la session avec le serveur.
L’ARCHITECTURE SIMPLE
Cette architecture supportent la
fonctionnalité de « Load Balancing » au
travers du protocole TCPIP port UDP 1604.
Une fois connecté, le client Citrix, utilise
toujours le port TCP 1494.
L’ARCHITECTURE PORTAIL
Les produits de portails applicatifs de Citrix
fonctionnent en toute transparence avec les solutions
Citrix de gestion et de déploiement d’applications, ce
qui permet de
regrouper leurs applications et les informations dans
une seule vue de portail.
Accéder aux applications à partir de tout navigateur
Web, de tout type de poste client, via tout type de
connexion, et en tout lieu.
Personnaliser les contenus de portail de telle sorte que
les utilisateurs reçoivent les applications et les
informations dont ils ont besoin pour travailler
efficacement.
L’ARCHITECTURE PORTAIL
L’architecture portail est composée de
clients ICA,
un service Web auquel on a ajouté l’extension NFuse de Citrix,
une ferme de serveurs d’applications.
1. L’utilisateur accède aux applications via une page HTML de son
navigateur.
1. Le service Web est utilisé pour récupérer l’identité et le mot de
passe puis afficher, dans une page HTML, les liens d’accès aux
applications autorisées à cet utilisateur.
2. L’utilisateur clique sur l’application désirée.
3. Un fichier ICA personnalisé sera transferé
4. Le fichier ICA sera interprété et exécuté par le client ICA ActiveX.
TECHNOLOGIE
MULTIWIN
MultiWin est une technologie Citrix qui permet à
plusieurs utilisateurs de partager simultanément
l'unité centrale,
les cartes réseau,
les ports d'Entrée/Sortie
autres ressources figurant sur la console du serveur.
Plusieurs utilisateurs peuvent se connecter et lancer
des applications dans des sessions protégées distinctes
sur le serveur .
TECHNOLOGIE
ICA
L'architecture ICA Independant Computing
Architecture) est le protocole de services de
présentation à distance multicanal
développé par Citrix.
Le protocole ICA utilise généralement 10 à
20kbps de la bande passante pour
transférer des données entre le serveur et
le client ICA.
TECHNOLOGIE
ICA
Sur le serveur, le protocole ICA :
sépare la logique d'une application de son interface
utilisateur
envoie l'interface utilisateur ainsi que les données audio à la
machine cliente.
Sur le client ICA,
l'utilisateur peut voir l'interface utilisateur de l'application et
entendre les données audio.
Le client ICA utilise le protocole ICA pour renvoyer les frappes
clavier et les clics souris au serveur.
TECHNOLOGIE
Le protocole ICA :
exécute la logique de toutes les applications sur le
serveur;
réduit le trafic en transférant les rafraîchissements
d'écran, les données audio, les frappes clavier et les
clics souris entre le serveur et le client;
utilise comme protocole de transport les protocoles LAN
et WAN standards (IPX, SPX,TCP/IP, NetBIOS et NetBEUI)
ainsi que les connexions réseau traditionnelles
(asynchrone, RNIS, relais de trames, ATM et autres);
TECHNOLOGIE
Le protocole ICA :
permet aux applications d'être exécutées
rapidement, comme sur un réseau local,
même avec des connexions à très faible
débit;
permet aux applications 32 et 64 bits les
plus récentes de fonctionner sur des
ordinateurs clients anciens qui
normalement ne pourraient pas les
exécuter.
PAQUETS ICA
Un paquet ICA est composé d'une commande d'un octet
obligatoire et de données optionnelles.
Le paquet peut comporter comme préfixe des préambules
qui sont négociés au moment de la connexion afin de
gérer la transmission du paquet.
La nature du support de transmission (réseau local et
connexion asynchrone) et les options définies par
l'utilisateur (telles que la compression) ont une incidence
sur la définition globale du paquet.
PAQUETS ICA
PAQUETS ICA
Les cinq premiers champs et le dernier ont une taille
de un octet. Ils sont tous facultatifs sauf le champ de «
commande».
L’en-tête et le fanion sont présents dans le cas où le
protocole de transport n’assure pas lui-même la
fragmentation comme TCP.
Le champ de contrôle d’erreur est utilisé pour la
détection d’erreur, la garantie de livraison et le
séquencement des paquets. Il n’est présent que si le
protocole de couche inférieure est non fiable.
PAQUETS ICA
Les champs relatifs au chiffrement et à la compression
sont également optionnels. Ils servent respectivement à la
gestion d’un paquet ICA chiffré et à la gestion de données
compressées.
Le champ « commande » est le seul champ obligatoire.
C’est l’en-tête du paquet ICA de base.
Le champ « données de commande » contient les attributs
associés au champ « commande ». La longueur de ce
champ dépend de la commande et peut être vide. Ce
champ est destiné à contenir les paquets des canaux
virtuels.
LES DIFFERENTES COMMANDES
On distingue 3 types de commandes
Les commandes de contrôle
Les commandes souris et clavier
Les commandes de canaux virtuels
LES COMMANDES DE CONTROLE
Les commandes de contrôle permettent la gestion de la
relation entre l’application qui s’exécute sur le serveur
et l’affichage au niveau du client.
On trouve les commandes suivantes :
Initialisation de la connexion et négociation des
paramètres entre le client et le serveur,
Contrôle de l’affichage sur le client,
Parcours de l’arborescence du serveur par le client,
Gestion de la souris et du clavier
LES COMMANDES SOURIS ET
CLAVIER
Les commandes souris et clavier sont
transmises du client vers le serveur.
Un même paquet ICA peut contenir plusieurs
codes de touche.
Pour la souris, ces commandes permettent
non seulement de transmettre la position de
la souris en coordonnées normalisées mais
également l’état des boutons.
LES COMMANDES DE CANAUX
VIRTUELS
Les commandes de canaux virtuels
permettent la transmission des
informations concernant les différents
canaux virtuels entre le client et le serveur.
ENCAPSULATION DE PAQUET ICA
Le paquet ICA encapsule les données en les
faisant passer par une série de pilotes tels que le
cryptage, la compression et la mise en trame.
Les paquets, en traversant la pile de protocoles,
adaptent les paquets en fonction du support de
transmission utilisé.
Ces fonctionnalités correspondent à la couche
présentation du modèle OSI.
modèle OSI
CANAUX VIRTUELS
Le protocole ICA utilise des canaux virtuels pour étendre
ses fonctionnalités et inclure divers type de données
(audio et vidéo) et périphériques clients (lecteurs de
badge, crayons lecteurs et scanners).
Le protocole ICA peut prendre en charge 32 canaux
virtuels et les routeurs intelligents sur le réseau peuvent
les classer par ordre de priorité.
En cas d'utilisation de plusieurs canaux virtuels, le
protocole ICA intègre les canaux dans un paquet ICA au
lieu d'envoyer un paquet par chaîne virtuelle. Ainsi, le
protocole ICA n'est pas surchargé et reste efficace.
CANAUX VIRTUELS
Exemples de canaux virtuels utilisés par le protocole ICA :
Audio : transmet au client les données audio d'une application
exécutée sur le serveur.
Presse-papiers : transmet au client les données du Presse-papiers du
serveur et inversement.
Mappage des lecteurs : transmet au client les fonctions du système
de fichiers des applications exécutées sur le serveur.
Polices et disposition du clavier : envoie au client la table de clavier
et les glyphes de polices qui se trouvent sur le serveur s'ils ne figurent
pas dans le cache du disque du client
Mappage des ports parallèles : permet d'accéder aux ports
parallèles du client depuis une application ou un spooler exécutés sur le
serveur.
TECHNOLOGIE SPEEDSCREEN
SpeedScreen est l'agent de protocole ICA qui
permet de
réduire la latence
améliorer l'apparence des applications basées
sur le serveur en limitant la quantité de bande
passante consommée.
La technologie SpeedScreen est constituée de
plusieurs composants
TECHNOLOGIE SPEEDSCREEN
Les composants de la technologie SpeedScreen :
Reducer 1 et Reducer 2 : il s'agit des algorithmes utilisés pour la
compression des flux de données.
Cache permanent des images bitmap : cache créé sur le disque
local du client pour y enregistrer les bitmaps fréquemment utilisés
afin de ne pas avoir à les retransmettre.
Autre méthode de mise en cache : algorithme qui fractionne l'écran
en petits éléments et les stocke en mémoire. Lorsque l'écran est
modifié, seules les mises à jour incrémentielles et non plus
l'intégralité de l'écran sont envoyées au client depuis le serveur.
TECHNOLOGIE SPEEDSCREEN
Les composants de la technologie SpeedScreen :
Mise en file d'attente et suppression : algorithme qui
examine les éléments graphiques envoyés au client. Les
données qui ne sont plus valides sont supprimées.
Réduction de latence SpeedScreen : réduit le délai
lorsqu'une action est effectuée au niveau du client ICA
et que les informations sont renvoyées par le
serveur MétaFrame.
TECHNOLOGIE SPEEDSCREEN
La fonction Réduction de latence SpeedScreen traite ces délais
de deux façons :
Retour des cliques souris :
1. transforme temporairement le pointeur de la souris afin
d'indiquer qu'une action est en cours.
2. Le pointeur de souris reprend sa forme initiale dès
réception de la réponse du serveur.
.Echo local du texte :
1. renvoie immédiatement l'information à l'utilisateur en
réponse aux données (sur une connexion très lente) en
anticipant la réponse du serveur MétaFrame XP.
2. Le résultat réellement fourni par le serveur est appliqué dès
qu'il est disponible.
TECHNOLOGIE SPEEDSCREEN
La fonction Réduction de latence
SpeedScreen réduit la latence des connexions
nécessitant entre 150 ms et 500 ms pour être
établies.
Par défaut, la fonction Réduction de latence
SpeedScreen est désactivée pour les
connexions ICA sur un réseau local.