Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Principe

Il s'agit d'un échange de messages où un message porte la question et un autre la réponse.

Ces messages sont véhiculés dans des canaux dédiés.

La mise en oeuvre de canaux permet de couper la consommation de ces messages sans perturber les systèmes mis en jeu. C'est pour une raison de flexibilité dans l'exploitation qu'il est obligatoire d'avoir 1 file de messages Reply par système (Consumer).

Schéma EIP

Vision sans ESB

Ce pattern met en oeuvre 3 EIP:

  • Request-Reply: pour les appels asynchrones avec une réponse associée
  • reply channel: pour router dynamiquement la réponse vers la bonne file.
  • correlation identifier: pour identifier de manière unique chaque message.

Vision avec ESB

Il convient de prendre en compte que l'ESB route ces messages et vistualise les consommateurs et producteurs. Il est donc l'élément central et obligatoire.

Le pattern Smart Proxy offre le moyen de garder ces files de réponses par consommateur tout en gardant un contrôle sur les messages.

L'adresse de retour fournit au Provider est remplacée par celle du bus. La réelle vers le Consumer concernée est stockée dans l'attente de la réponse.

Les messages retour sont interceptés et transformés conformément aux rôles de l'ESB.  

Identifiant de corrélation

Un identifiant de corrélation a 2 objectifs:

  1. permettre aux consommateur d'associer un ou plusieurs messages à un contexte d'exécution.
  2. permettre un suivi des messages dans plusieurs files ou plusieurs protocoles.

Celui-ci doit être positionné par l'émetteur du message (Consumer 1 et 2). Les ID mis en jeu sont alors du périmètre de l'émetteur.

Il est préférable d'utiliser générateur de Message ID pour chaque Consumer.

L'ESB positionne lui aussi un ID technique de flux.

Il y a donc 2 ID de corrélations:

  1. Applicatif: produit par l'émetteur
  2. ESB: produit par le Bus.

 

  • No labels