Messagerie de publication/abonnement entre plusieurs bus
Dans l'intégration de services, la messagerie de publication/abonnement utilise des destinations d'espace de sujet, où chaque destination d'espace de sujet correspond à un groupe de sujets de "publication et d'abonnement". Lorsque plusieurs bus sont connectés en utilisant une liaison de bus d'intégration de services, les messages publiés dans un espace de sujet dans un bus sont accessibles aux abonnés d'un espace de sujet dans un autre bus.
Le sujet d'un message spécifique (publication) est une propriété du message. Une destination d'espace de rubrique d'intégration de service n'est pas localisée dans un membre de bus particulier. L'intégration de services gère la liste des abonnements dans l'espace de sujet et compare chaque publication à la liste. Lorsqu'une nouvelle publication correspond à un ou plusieurs abonnements dans l'espace de sujet, l'intégration de services fournit une copie de la publication à chaque abonnée. Si nécessaire, l'intégration de services peut mettre le message de publication en file d'attente jusqu'à ce que l'abonné soit prêt à le recevoir. Quand la nouvelle publication ne correspond à aucun abonnement, l'intégration de service ignore cette publication.
Les abonnés peuvent recevoir les sujets publiés dans un bus distant, dès lors que la connexion entre les bus est configurée. Vous pouvez configurer un bus pour la connexion à d'autres réseaux de messagerie avec lesquels échanger des messages. Pour ce faire, vous devez configurer une connexion de bus externe. Une connexion de bus externe encapsule des informations liées au réseau de messagerie éloigné telles que le type du bus externe et le fait que les applications de messagerie soient autorisées ou non à envoyer des messages au bus externe.
Pour connecter des destinations d'espace de sujet dans les bus avoisinants, vous configurez des mappages d'espace de sujet lorsque vous créez un connexion de bus externe. Chaque entrée dans le mappage associe une destination d'espace de sujet locale à un espace de sujet dans le bus externe. Ensuite, les abonnés aux sujets dans l'espace de sujet dans le bus local peuvent recevoir les messages publiés dans ces sujets dans l'espace de sujet dans le bus externe. Les applications de publication/abonnement créent des émetteurs et des abonnements dans les espaces de sujet dans leur bus local et non pas dans le bus externe (contrairement aux applications point par point et aux destinations de file d'attente). Vous devez configurer les mappages d'espace de sujet pour que les messages que publie l'application soient routés correctement.

S'il existe des abonnements dans les deux bus et que les diffuseurs de publications peuvent publier depuis l'un ou l'autre des bus, un mappage d'espace de sujet est nécessaire dans les deux bus pour que les publications transitent entre tous les diffuseurs de publications et les abonnés dans les deux bus.
Lorsque vous connectez des espaces de sujet dans plus de deux bus, il n'existe aucune limite pour la connexion de plusieurs bus. Toutefois, la façon dont les espaces de sujet sont connectés à l'aide de mappages d'espace de sujet est restreinte. Pour obtenir de l'aide sur la façon de créer des mappages d'espace de sujet, voir Configuration de mappages d'espaces de sujet entre des bus d'intégration de services.
Un réseau de bus peut contenir des boucles dans sa topologie, comme illustré par la Figure 2. Les espaces de sujet interconnectés doivent suivre une structure hiérarchique en forme d'arborescence. Cette arborescence peut être remplacée dans la topologie de bus sous-jacente en utilisant des mappages d'espace de sujet, comme indiqué dans la Figure 2. Plusieurs espaces de sujet interconnectés ne peuvent pas former une boucle entre plusieurs bus, comme illustré par la Figure 3.


L'exemple correct dans la Figure 2 montre que les messages publiés dans le bus 2 passent automatiquement du bus 1 au bus 3, si le bus 3 dispose d'un abonnement approprié pour ces messages. Vous créez un mappage de l'espace de sujet de bus 1 vers l'espace de sujet de bus 2, et un autre mappage de l'espace de sujet de bus 3 vers l'espace de sujet de bus 1.
Si vous avez aussi créé un mappage entre l'espace de sujet dans le bus 2 et l'espace de sujet dans le bus 3, comme indiqué dans la Figure 3, vous créez une boucle et les messages publiés peuvent entrer dans une boucle sans fin et transmis indéfiniment entre les trois bus.
S'il existe un abonnement supplémentaire pour les messages dans le bus 2 et qu'un diffuseur de publications est aussi connecté au bus 3, des mappages d'espace de sujet sont nécessaires pour inverser la direction et permettent au messages d'être envoyés à tous les abonnements dans le système, comme indiqué dans la Figure 4.
