I.6CARACTERISTIQUES DES
INTERGICIELS
I.6.1 Les middlewares
synchrones
Un autre mécanisme courant est l'appel synchrone (c),
dans lequel A (le client d'un service fourni par B) envoie un message de
requêteB et attend une réponse (cette émission est
bloquante). Ce patron est utilisé dans le RPC. Les interactions
synchrone et asynchrone peuvent être combinées, par exemple dans
diverses formes de < RPC asynchrone >.
Le but est de permettre au demandeur d'un service de continuer
son exécution après l'envoi de sa requête. Le
problème est alors pour le demandeur de récupérer les
résultats, ce qui peut être fait de plusieurs manières. Par
exemple, le fournisseur peut informer le demandeur, par un
évènement asynchrone, que les résultats sont disponibles ;
ou le demandeur peut appeler le fournisseur a un moment ultérieur pour
voir l'état de l'exécution.
Comme son nom l'indique, une communication synchrone
désigne une liaison doublée d'un processus visant à
synchroniser deux systèmes en présence, leur base de
données métier respective par exemple. A l'inverse, les flux
asynchrones mettent en oeuvre des échanges qui ne dépendent pas
de l'état des applications impliquées. Ils sont
exécutés à intervalles variables selon les ressources
disponibles, en utilisant des références temporelles
différentes.
C'est comme les appels téléphoniques avec les
opérateurs mobiles où l'appelé doit être joignable
ou disponiblepour se communiquer sinon il n'y aura pas communication.
I.6.2 Les middlewares
asynchrones
Comparable avec le cas des sms ou de chat avec les réseaux
sociaux, même-si le récepteur n'est pas disponible cela
n'empêche pas à l'émetteur d'envoyer son message car le
message sera envoyé et restera dans la file d'attente jusqu'à ce
que le récepteur soit joignable pour le recevoir
Une forme de communication plus élaborée est le
passage asynchrone de messages persistants. Un message est un bloc
d'information qui est transmis d'un émetteur à un
récepteur. Cette émission est non bloquante (l'émetteur
continu son travail).
L'attribut < persistant > signifie que le système
de communication assure un rôle de tampon : si le récepteur attend
le message, le système de communication le lui délivre ; sinon,
le message reste disponible pour une lecture ultérieure.
Deux modes de communication par message asynchrone existent :
Ø Communication directe entre processus
(agents) ;
Ø Communication indirecte (boîtes aux lettres).
Grâce à cette caractéristique, les
dispositifs asynchrones ont tendance à mieux gérer les goulets
d'étranglement qui peuvent intervenir lors d'un problème
d'accessibilité de l'environnement serveur. Par nature, le couplage
applicatif qu'ils mettent en oeuvre est en effet plus lâche que pour les
fonctions synchrones.
Ce qui leur permet de pallier les difficultés de
disponibilité momentanées de manière plus efficace.
|