1.7. NOTIONS D'ASSEMBLAGES ET DESASSEMBLAGE DES
PARAMETRES
De façon générale, le client et le
serveur s'exécutent sur des machines de différente nature
(hétérogènes) qui communiquent dans un réseau. Il
est donc nécessaire de définir un format d'échange
standard car lors de la communication, les données sont souvent
codées de manière différent sur deux machines distinctes,
afin de convertir les noms de fonctions et de paramètres dans ce format
lors de l'émission, et de la convertir en sens inverse lors de la
réception.
Lors de l'émission d'une requête, les
paramètres doivent être arrangés et codés sous forme
de message, on parle de l'assemblage et à l'arrivé, ils doivent
être remis en format interne de manière symétrique à
partir du message reçu, on parle de désassemblage. Par
définition, on entend par :
1. Assemblage (Marchaling)
Procédé consistant à prendre une
collection de paramètres et les arranger et les coder en format externe
pour constituer un message à émettre.
2. Désassemblage
(Unmarshalling)
C'est un procédé consistant à prendre un
message en format externe à reconstituer la collection des
paramètres qu'ils représentent en format interne.
1.7.1. Dialogue synchrone et asynchrone
Le dialogue entre client et serveur nécessite
l'émission ou l'envoie d'une requête et la réception d'une
réponse. Lors de l'émission d'une requête par une commande
send ressuest (client), celle - ci peut être émise
immédiatement ou mise en file d'attente pour l'émission
ultérieure.
Dans ce deux cas, la commande Send Request n'est
généralement pas bloquante parce que l'utilisateur peut effectuer
une autre tâche avant de venir attendre la réponse par une
commande Receive Request (Serveur). Cette dernière commande peut de
même être bloquante en attente de la réponse, ou non
bloquante avec un code retour signalant que la réponse n'est pas
arrivée, ceci conduit à distinguer les notions de dialogue
synchrone et de dialogue asynchrone.
1. Dialogue synchrone (synchronous
dialog)
C'est un type de dialogue géré sans file
d'attente dans lequel les commandes d'émission et de réception
sont bloquantes. Brièvement dans le cadre de la synchrone, le client
attend le serveur pendant que celui - ci exécute une opération
pour lui rendre compte.
2. Dialogue asynchrone (Asynchronous
dialog)
C'est également un type de dialogue mais
géré avec file d'attente, dans lequel une au moins
d'émission des commandes ou de la réception est non bloquante.
Le dialogue asynchrone permet au client d'effectuer une autre tâche
pendant que le serveur exécute une autre opération pour lui
rendre compte. Il permet aussi de demander plusieurs opérations au
serveur avant de recevoir les réponses par le biais des files
d'attente.
Précisons que, selon la nature des services accomplis
par le serveur pour le client et selon les différents types de client -
serveur explicités dans les paragraphes précédentes,
notons que le client - serveur de données et de procédures
s'avère intéressant pour les échange en réseau.
En ce qui concerne le client - serveur de données
(Data C/S), ajoutons que c'est un programme applicatif contrôlé
par une interface de présentation sur une machine cliente et
accède à des données sur une machines serveur par des
requêtes de recherche et mise à jour, souvent exprimé avec
le langage SQL.
|