Connexion des applications JMS à un moteur de messagerie d'un bus
Plusieurs facteurs affectent la connexion des applications JMS à un bus d'intégration de services pour qu'elles puissent utiliser les ressources fournies par le bus.
Pour se connecter à un bus d'intégration de services, une application se connecte en réalité à un moteur de messagerie sur le bus.
Par défaut, l'environnement connecte automatiquement les applications à un moteur de messagerie disponible sur le bus. Toutefois, vous pouvez indiquer des informations de configuration supplémentaires pour contrôler le processus de connexion ; par exemple, pour identifier des serveurs d'amorçage spéciaux ou pour limiter la connexion à un sous-groupe de moteurs de messagerie disponibles, ou pour améliorer la disponibilité ou les performances ou assurer le traitement séquentiel des messages reçus.
Applications exécutées sur un serveur d'applications: Configuration par défaut
Les applications exécutées dans un serveur d'applications sont dirigées par l'environnement WebSphere Application Server vers un moteur de messagerie disponible.
Si le moteur de messagerie est détecté sur le même serveur, une connexion est créée qui fournit à l'application la connexion disponible la plus rapide à un moteur de messagerie. Sinon, si un moteur de messagerie est détecté dans un autre processus (sur le même hôte ou sur un hôte différent), une connexion éloignée est établie. Si aucun moteur de messagerie approprié n'est détecté, l'application ne peut pas se connecter au bus.

Cette figure illustre deux applications exécutées sur des serveurs d'applications. L'application X sur server3 est connectée au moteur de messagerie qui s'exécute sur le même serveur. L'application Y sur server1 s'est connectée à un moteur de messagerie qui s'exécute sur le même bus mais sur un serveur et un hôte différents, car server1 ne comporte pas de moteur de messagerie approprié.
Applications exécutées en dehors d'un serveur d'applications
Les applications client qui ne s'exécutent pas sur le serveur d'applications (mais qui s'exécutent par exemple dans un conteneur client ou hors de l'environnement WebSphere Application Server) ne peuvent pas localiser eux-mêmes un moteur de messagerie approprié et doivent effectuer un processus d'amorçage via un serveur d'amorçage. Un serveur d'amorçage est un serveur d'applications qui exécute le service SIBService mais qui n'a pas besoin d'exécuter un moteur de messagerie. Il sélectionne un moteur de messagerie s'exécutant dans un serveur d'applications qui prend en charge la chaîne de transport cible requise.

Cette figure illustre une application client exécutée en dehors d'un serveur d'applications. Pour se connecter à un moteur de messagerie, l'application se connecte d'abord à un serveur d'amorçage. Ce dernier sélectionne un moteur de messagerie, puis indique à l'application client de se connecter à ce moteur de messagerie.
Un serveur d'amorçage utilise une chaîne de transport d'amorçage et un port spécifiques, qui constituent, avec le nom d'hôte, l'adresse de noeuds final du serveur d'amorçage.
![[IBM i]](../images/iseries.gif)
Lorsque vous créez un serveur d'applications, un port d'amorçage non sécurisé unique (SIB_ENDPOINT_ADDRESS) et un port d'amorçage sécurisé (SIB_ENDPOINT_SECURE_ADDRESS) lui sont automatiquement affectés. Si vous voulez utiliser un serveur d'applications comme serveur d'amorçage et qu'un port non sécurisé autre que 7276 a été affecté à ce serveur ou que vous voulez utiliser le port sécurisé, vous devez spécifier l'adresse du noeud final du serveur dans la propriété Noeuds finaux du fournisseur de la fabrique de connexions.
Les adresses de noeuds finaux des serveurs d'amorçage doivent être spécifiées dans chaque fabrique de connexions utilisée par les applications qui se trouvent en dehors d'un serveur d'applications. Pour ne pas avoir à indiquer une longue liste de serveurs d'amorçage, vous pouvez spécifier quelques serveurs à haute disponibilité comme serveurs d'amorçage dédiés. Il suffit ensuite d'entrer une courte liste de serveurs d'amorçage dans chaque fabrique de connexions.
Processus de sélection du moteur de messagerie
- Pour les applications client JMS, les informations sont configurées dans la fabrique de connexions.
- Pour les applications MDB (bean géré par message), les informations sont configurées dans la spécification d'activation.
- Pour les autres types d'application, les informations sont configurées via un programme par l'application elle-même.
- Si un moteur de messagerie s'exécute dans le bus requis dans le même serveur d'applications, une connexion est établie entre l'application et le moteur de messagerie. S'il n'existe pas de moteur de messagerie adapté, la règle suivante est vérifiée.
- Si un moteur de messagerie s'exécute sur le même hôte que l'application, l'application établie une connexion distante au moteur de messagerie sélectionné. S'il n'existe aucun moteur de messagerie adapté, la règle suivante est vérifiée.
- Si un moteur de messagerie d'exécute dans un autre emplacement dans le bus, l'application établie une connexion distante au moteur de messagerie sélectionné. S'il n'existe pas de moteur de messagerie adapté, la connexion échoue.
Dans les deux cas (c'est-à-dire deux applications fonctionnant respectivement à l'intérieur et à l'extérieur d'un serveur d'applications), vous pouvez limiter la gamme de moteurs de messagerie disponibles pour la connexion à un sous-groupe de ceux disponibles dans le bus d'intégration de services. Pour ce faire, configurez les propriétés de connexion suivantes de la fabrique de connexions ou de la spécification d'activation :
- Cible
Avant l'exécution de la recherche de la proximité des connexions pour sélectionner un moteur de messagerie approprié, le jeu de moteurs de messagerie membres du groupe cible indiqué est sélectionné. La recherche de proximité des connexions est alors restreinte à ces moteurs de messagerie. Si un groupe cible n'est pas indiqué (valeur par défaut), tous les moteurs de messagerie du bus sont pris en compte pendant la recherche de proximité des connexions.
Par exemple, si la propriété Type de cible correspond à Nom du membre du bus, la propriété Cible indique le nom du membre du bus à partir duquel les moteurs de messagerie peuvent être sélectionnés.
- Type de cible
- Nom du membre du bus
- Nom d'un membre du bus. Cette option extrait les moteurs de messagerie actifs qui sont hébergés par le membre de bus spécifié (un serveur d'applications ou un cluster de serveurs).
- Nom du groupe de moteurs de messagerie personnalisés
- Nom d'un groupe personnalisé de moteurs de messagerie (formant un cluster auto-déclaré). Cette option extrait les moteurs de messagerie actifs qui sont enregistrés dans le groupe personnalisé spécifié.
- le nom du moteur de messagerie,
- Nom d'un moteur de messagerie. Cette option extrait les noeuds finaux disponibles qui permettent d'atteindre le moteur de messagerie spécifié.
- Importance de la cible
- Cette propriété détermine si la recherche de proximité des connexions est limitée aux moteurs de messagerie dans le groupe cible.
- Préférée
- Il est préférable de sélectionner un moteur de messagerie dans le groupe cible. Si un moteur de messagerie du groupe cible est disponible, il est sélectionné. Si aucun moteur de messagerie n'est disponible dans le groupe cible, mais qu'il existe un moteur de messagerie externe disponible dans le même bus d'intégration de services, ce dernier est sélectionné.
- Requis
- Un moteur de messagerie doit être sélectionné dans le groupe cible. Si un moteur de messagerie du groupe cible est disponible, il est sélectionné. Si aucun moteur de messagerie n'est disponible dans le groupe cible, le processus de connexion échoue.
- Chaîne de transport entrant cible
Nom de la chaîne de transport de communications entrantes du moteur de messagerie que l'application doit cibler lorsqu'elle se connecte à un moteur de messagerie d'un processus autre de l'application.
Ces chaînes de transport indiquent les protocoles de communication qui peuvent être utilisés avec le serveur d'applications auquel l'application client est connectée. Si un moteur de messagerie d'un autre processus est sélectionné, une connexion peut être établie uniquement si le moteur de messagerie se trouve sur un serveur exécutant la chaîne de transport de communications entrantes spécifiée.
Les chaînes de transport des communications entrantes du moteur de messagerie prédéfinies suivantes sont fournies :- InboundBasicMessaging
- JFAP sur TCP/IP
- InboundSecureMessaging
- JFAP sur SSL sur TCP/IP
- Proximité des connexions
- Pour une application exécutée dans un serveur d'applications, cette propriété définir la proximité des moteurs de messagerie par rapport au serveur d'applications.
Pour une
application exécutée en dehors d'un serveur d'applications, cette propriété définit la
proximité des moteurs de messagerie du serveur d'amorçage.
- Bus
- Des connexions peuvent être établies avec des moteurs de messagerie dans le même bus.
Un moteur de messagerie approprié du même serveur est sélectionné avant un moteur de messagerie approprié du même hôte qui, à son tour, est sélectionné avant un moteur de messagerie approprié d'un autre hôte.
- Cluster
- Des connexions peuvent être établies avec des moteurs de messagerie dans le même cluster de serveurs. Si l'application n'est pas exécutée sur un serveur en cluster ou que le serveur
d'amorçage ne se trouve pas dans un cluster, il n'existe aucun moteur de messagerie
approprié.
Un moteur de messagerie approprié du même serveur est sélectionné avant un moteur de messagerie approprié du même hôte qui, à son tour, est sélectionné avant un moteur de messagerie approprié d'un autre hôte.
- Hôte
- Des connexions peuvent être établies sur des moteurs de messagerie dans le même hôte. Un moteur de messagerie approprié du même serveur est sélectionné avant un moteur de messagerie approprié du même hôte.
- Serveur
- Des connexions peuvent être établies sur des moteurs de messagerie dans le même serveur d'applications.
- Tous les serveurs du cluster peuvent recevoir des messages d'une application de beans gérés par messages pour tirer pleinement parti de la puissance de traitement du cluster.
- Un seul serveur à la fois peut recevoir les messages de l'application de beans gérés par message pour assurer le traitement séquentiel des messages.
Pour plus d'informations, voir la rubrique Connexion d'un bean géré par message dans un cluster.