41 votes

Quelle est la différence entre un adaptateur de canal et un modèle de passerelle de messagerie ?

J'ai beau lire sur ces deux modèles, je n'arrive pas à voir la différence.

19voto

tcarvin Points 6537

C'est une excellente question car ils sont similaires dans la mesure où ils permettent à une application d'accéder à un système de messagerie. Je pense que c'est la manière dont ils y parviennent qui les différencie.

Le modèle d'adaptateur de canal traite de la manière d'obtenir des données d'un système existant sans modifier ce système. En général, l'adaptateur de canal est implémenté en dehors du processus. Les exemples les plus fréquents sont un programme qui parcourt périodiquement une base de données sous-jacente pour trouver des éléments à mettre en file d'attente. Ou peut-être une application autonome qui appelle un remoting ou une API HTTP pour accéder aux données d'un système afin de créer des messages. Le point étant, que le système non-messagerie est complètement non modifié.

Je pense que Message Gateway est davantage destiné à l'intégration de la messagerie en cours de processus. Il s'agit en fait d'appliquer une bonne encapsulation OO autour du sous-système de messages. Peut-être qu'un objet du système est appelé WorkOrderSender avec une méthode appelée Send(WorkOrder wo). L'implémentation de cette classe protège l'application de tous les détails de la messagerie... pour elle, l'appel est juste un autre appel de méthode. En fait, il devrait être possible de changer de fournisseur de messagerie ou même d'échanger la messagerie contre HTTP ou FTP, etc.

5voto

Ali Yeganeh Points 557

Dans Spring Integration, le nom de pattern Adaptateur de canal s'applique à tout adaptateur unidirectionnel entrant ou sortant. En d'autres termes, un adaptateur de canal entrant prend en charge un échange de messages en entrée uniquement, et un adaptateur de canal sortant prend en charge un échange en sortie uniquement.

Tout adaptateur bidirectionnel, ou requête-réponse, est connu comme une passerelle dans Spring Integration.

ADAPTATEUR DE CANAL

Un adaptateur de canal connecte une application au système de messagerie. Dans Spring Integration, nous avons choisi de restreindre la définition pour n'inclure que les connexions qui sont unidirectionnelles, donc un flux de messages unidirectionnel commence et se termine dans un adaptateur de canal. adaptateur de canal. Il existe de nombreux types d'adaptateurs de canal, allant d'un adaptateur de canal invoquant une méthode à un adaptateur de canal de type un adaptateur de canal invoquant une méthode à un adaptateur de canal de service Web.

un adaptateur de canal est placé au début et à la fin d'un flux de messages unidirectionnel.

enter image description here PASSERELLE DE MESSAGERIE

Dans Spring Integration, une passerelle de messagerie est une connexion spécifique. à la messagerie bidirectionnelle. Si une requête entrante doit être prise en charge par plusieurs threads mais que l'invocateur doit rester inconscient du système de messagerie, une passerelle passerelle entrante fournit la solution. Du côté de la sortie, un message entrant peut être utilisé dans une invocation synchrone, et le résultat est envoyé sur le canal de réponse.

Par exemple, les passerelles sortantes peuvent être utilisées pour invoquer des services web et pour des services synchrones. demande-réponse synchrones sur JMS.

enter image description here

Une passerelle peut également être utilisée au milieu d'un flux de messages unidirectionnel. Comme avec l'adaptateur de adaptateur de canal, nous avons quelque peu limité la définition de la passerelle de messagerie par rapport à par rapport aux Enterprise Integration Patterns.

enter image description here

référence : L'intégration de Spring en action

4voto

emush Points 21

Extrait des documents de référence de l'intégration de Spring :

Alors que les adaptateurs de canaux JMS sont destinés à la messagerie unidirectionnelle (envoi ou réception uniquement), Spring Integration fournit également des passerelles JMS entrantes et sortantes pour les opérations de demande/réponse.

Véase http://static.springsource.org/spring-integration/reference/htmlsingle/#jms

0voto

igo Points 700

De la documentation :

  • Les adaptateurs de canaux entrants sont utilisés pour l'intégration unidirectionnelle afin d'amener les données dans l'application de messagerie.
  • Les adaptateurs de canaux sortants sont utilisés pour l'intégration unidirectionnelle afin d'envoyer des données hors de l'application de messagerie.
  • Les passerelles entrantes sont utilisées pour un flux d'intégration bidirectionnel, où un autre système invoque l'application de messagerie et reçoit une réponse.
  • Les passerelles sortantes sont utilisées pour un flux d'intégration bidirectionnel, où l'application de messagerie invoque un service ou une entité externe et attend un résultat.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X