Le protocole de communication
Protocole de communication
Le client et le serveur communique via un "canal",
à l'aide d'un protocole, très simple, dans un
premier temps. Il peut par exemple être de la forme :
<objet> <action>
<paramètres>
Le comportement du serveur peut alors être amené
à demandé des précisions sur la demande
du client. Ainsi, une utilisation incomplète de cette
syntaxe entrainera une réponse du serveur
précisant les actions utilisateurs possibles.
Une requète vide renverra une liste des
objets disponibles, c'est-à-dire aptes à
répondre à une requète de l'utilisateur
X. Cette optique nécessite également une
prise en charge de la gestion des utilisations.
Une requète ne comportant que l'objet renverra
une liste des actions possibles sur l'objet, compte tenu des
droits de l'utilisateur.
Une requète ne comportant que le couple
objet/action renverra la liste des paramètres
obligatoires et facultatifs de l'action cible.
Ce protocole permet également de placer le serveur
dans certains états pour la session en cours, à
partir d'une commande envoyé au serveur (commande de
type set).
Par exemple, set filter peut placer le serveur
dans un mode permettant d'effectuer une sélection
implicite sur telle ou telle atttributs (fourchette de dates,
société par défaut, etc).
Le protocole doit permettre au client et au serveur de parler un langage commun, c'est pourquoi il doit définir une liste de messages d'erreur bien précise. Il doit permettre d'identifier avec certitude un message par son numéro d'identification. Ce numéro permet au programme client d'utiliser sa propre gestion des messages.
Le serveur et le client doivent être certain de pouvoir échanger leurs informations sur la base d'un langage commun, c'est pourquoi, chacun doit connaître la version du protocole qu'il utilise. Un échange de la version connu du protocole doit être fait entre le client et le serveur, afin de s'assurer que leur échange est possible. Si la version du protocole est différente, le serveur ou le client pourront alors en prendre acte et décider de travailler en mode dégradé.