Le service de messagerie Web utilise le bus d'intégration de services fourni en tant que composant de WebSphere Application Server V6.1.x et versions ultérieures pour fournir la fonctionnalité de publication et d'abonnement requise, afin de prendre en charge les clients Bayeux. Pour déterminer comment les diffuseurs de publication et de souscription Bayeux interagissent avec le bus d'intégration de services, il est indispensable de fournir certains paramètres de configuration lors du déploiement d'une application qui fournit les fonctionnalités Bayeux.
Le concept du canal de souscription Bayeux équivaut à une rubrique du bus d'intégration de services qui permet de classifier les événements dans les groupes connexes, par exemple /sports/football ou /météo. Dans le bus d'intégration de services, les rubriques se situent dans une destination d'espace de rubriques à laquelle les producteurs et les consommateurs s'associent. Les rubriques dans un espace de rubriques sont totalement indépendantes des celles qui se trouvent dans un autre espace de rubriques, bien que ces rubriques possèdent potentiellement le même nom. Une part de la configuration du service de messagerie Web permet au développeur d'applications de spécifier l'espace de rubriques de bus d'intégration de services utilisé par les applications Bayeux.
En plus, les événements (messages) publiés à un espace de rubrique de bus d'intégration de services possèdent une fiabilité qui leur est appliquée et qui détermine la manière de traiter les messages dans le bus. Cela inclut les conditions sous lesquelles les messages peuvent être annulés par l'infrastructure de messagerie. Dans certains scénarios, les messages peuvent être annulés si les ressources du serveur sont réduites (due probablement à une charge de travail élevée), alors que dans d'autres scénarios, il est préférable de garder les messages, au point de surcharger le serveur.
Lors de la configuration des scénarios qui incluent les concepts tels que la gestion ou la sécurité des charges de travail, il est également indispensable de prendre en compte des implications de ces exigences sur le bus d'intégration de services. Chacun des ces concepts est détaillé ci-après.
Les options suivantes sont disponibles pour configurer la manière d'interaction des applications Bayeux avec le bus d'intégration de services.
Un bus d'intégration de services est requis pour les opérations de messagerie Web. Les clients ne peuvent se connecter qu'à un seul bus d'intégration de services via une seule URI entrante. Il est possible de connecter plusieurs bus, à condition de définir une configuration de messagerie Web à part et de spécifier un nom de bus différent, mais le client doit se connecter via des URI séparées et utiliser plusieurs connexions. L'utilisation d'un client Ajax permet seulement de connecter un client Bayeux à un serveur unique sur une seule page Web. Des pages différentes peuvent spécifier des URI différentes et se connecter à des bus différents.
Nom : | busName |
---|---|
Obligatoire ou facultatif : | Requis |
Type de données : | Chaîne |
Valeurs prises en charge : | Nom d'un bus d'intégration de services |
Valeur par défaut : | Aucune |
Description : | Bus d'intégration de services que les clients de la messagerie Web entrante utilisent pour effectuer des opérations de publication et de souscription. |
Dans la majorité des scénarios, une application Bayeux a besoin de recevoir et de publier des messages à partir d'un espace de rubrique de bus d'intégration de services. La propriété de destination permet au développeur d'applications de spécifier l'espace de rubriques à utiliser pour toutes les interactions avec le bus.
Nom : | destination |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Chaîne |
Valeurs prises en charge : | Nom d'un espace de rubriques de bus d'intégration de services |
Valeur par défaut : | Default.Topic.Space |
Description : | C'est l'espace de rubriques du bus d'intégration de services. L'application reçoit et produit l'espace de rubriques du bus d'intégration de services dans ce bus. La destination spécifiée peut être un espace de rubriques ou, alternativement, un alias (reportez-vous à l'espace de sujet Destinations d'alias). L'utilisation d'un alias isole l'application du nom actuel de l'espace de rubriques. Lors de l'utilisation de cette rubrique pour nommer l'espace de rubriques utilisé par les applications Bayeux, le nom de la rubrique dans l'espace de rubriques est déterminé en prenant le nom du canal de souscription Bayeux et en supprimant la barre oblique au début, par exemple le nom de canal des mappes "/sports/football", à une rubrique de bus d'intégration de services de "sports/football" Si le développeur d'applications ne connaît pas l'espace de rubriques à utiliser, cette propriété peut être supprimée et la rubrique par défaut peut être utilisée. Notez que cette propriété est remplacée par la propriété multipleDestinations selon la description dans la section suivante. |
Dans les scénarios, il se peut qu'une application Bayeux doive produire ou recevoir avec plusieurs espaces de rubriques de bus d'intégration de services, par exemple pour afficher des données à partir d'une plage de sources disparates en tant que composant d'un environnement portlet. Dans ce cas, le développeur d'applications peut activer la propriété multipleDestinations, ce qui remplace la propriété destination et permet au développeur de spécifier la destination du nom de l'espace de rubriques requis (ou alias) en tant que composant du nom de canal de souscription Bayeux.
Nom : | multipleDestinations |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Booléen |
Valeurs prises en charge : | true ou false |
Valeur par défaut : | false |
Description : | Permet à une syntaxe de canal de souscription Bayeux, prenant en charge la spécification du nom de l'espace de rubriques du bus d'intégration de services cible, de devenir un composant du nom de canal. Activée, cette propriété permet au premier segment de canal à utiliser de spécifier le nom de l'espace de rubriques. Par exemple, pour publier "piste/relais4x100" dans l'espace de rubriques "OlympicResults", l'application spécifie le canal de souscription Bayeux suivant ; /OlympicResults/track/relay4x100 Notez que si la propriété multipleDestinations est activée, la valeur de la propriété "destination" est ignorée. |
Les événements (messages) publiés à un espace de rubriques de bus d'intégration de services possèdent une "fiabilité" qui leur est appliquée et qui détermine la manière de traiter les messages dans le bus. Cela inclut les conditions sous lesquelles les messages peuvent être annulés par l'infrastructure de messagerie. Dans certains scénarios, les messages peuvent être annulés si les ressources du serveur sont réduites (due probablement à une charge de travail élevée)- alors que dans d'autres scénarios, il est préférable de garder les messages, au point de surcharger le serveur.
Nom : | reliability |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Chaîne |
Valeurs prises en charge : |
|
Valeur par défaut : | ExpressNonPersistent |
Description : | Détermine le niveau de fiabilité de l'envoi des événements (messages) publiés par les applications Bayeux vers le bus d'intégration de services. Le comportement de ces options est détaillé dans la section Niveau de fiabilité des messages. Notez que pour les souscriptions non durables, les messages ne sont pas disponibles suivant un redémarrage de serveur, car la souscription n'existe plus. Cela signifie qu'un bénéfice limité existe dans le choix de l'un des deux niveaux de fiabilité persistants. Dans la plupart des cas, l'une des valeurs non persistantes doit être utilisée. |
Le protocole Bayeux prend en charge les clients effectuant une publication dans le bus d'intégration de services. Selon l'application que vous développez, il se peut que vous vouliez non seulement autoriser la circulation des messages du serveur vers les clients de la messagerie Web. Par exemple, vous pouviez préférer demander aux clients d'effectuer une publication via une application Web (servlet) et avoir un contrôle plus large de la vérification du contenu des messages avant de les publier au bus d'intégration de services. Par défaut, les clients ne peuvent pas effectuer de publication via le protocole Bayeux.
Nom : | clientCanPublish |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Booléen |
Valeurs prises en charge : | true ou false |
Valeur par défaut : | false |
Description : | Indique si les clients de la messagerie Web sont autorisés à effectuer une publication. Par défaut, les clients ne peuvent pas effectuer de publication. Vous devez, de manière explicite, définir clientCanPublish sur true pour prendre en charge la publication des clients. |
Les clients de la messagerie Web entrante doivent être authentifiés et autorisés à se connecter au bus d'intégration de services lorsque la sécurité du bus est activée. Reportez-vous à la section Sécurisation d'une application activée de messagerie Web pour plus d'informations.
Nom : | authType |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Chaîne |
Valeurs prises en charge : |
|
Valeur par défaut : | aucun |
Description : | Lorsque la sécurité du bus est activée, les clients Web entrants ont besoin d'une identité pour entrer dans le bus d'intégration de services. Définissez ce paramètre de configuration pour déterminer l'emplacement de l'obtention d'authentification afin d'ouvrir une session dans le bus d'intégration de services.
Si l'une des options ne peut pas extraire les lettres de créance, une connexion au bus d'intégration de services est effectué avec l'ID utilisateur et le mot de passe vides. Si la sécurité du bus d'intégration de services est activée, les clients Web ne peuvent pas se connecter pour effectuer des opérations de messagerie Web. |
Un abonnement durable au bus d'intégration de services sera utilisé pour les demandes d'abonnement Bayeux lorsque la propriété useDurable a la valeur true. Un abonnement durable permet de conserver les messages publiés sur un sujet pendant que l'abonné n'est pas actif.
Nom : | useDurable |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Booléen |
Valeurs prises en charge : | true ou false |
Valeur par défaut : | false |
Description : | Lorsque les abonnements durables sont utilisés pour la messagerie Web, les clients Web pourront reprendre les opérations sans perte de messages après une brève période pendant laquelle les abonnements d'un client Web au bus seront devenus inactifs. Un abonnement peut devenir inactif pour l'une des raisons suivantes : défaillance du serveur, défaillance du moteur de messagerie ou défaillance de la connexion à un moteur de messagerie. Lorsque vous exécutez une application pour laquelle la messagerie Web est activée, pensez à donner aux propriétés useDurable et useDistributedSession la valeur true pour optimiser le basculement des serveurs. Lorsque ces propriétés ont toutes les deux la valeur true, les clients de messagerie Web pourront basculer d'un serveur sur un autre et reprendre les abonnements durables. Lorsque les abonnements durables sont utilisés pour la messagerie Web, chaque client de cette messagerie demeure attaché au moteur de messagerie auquel il s'est connecté en premier. Lorsqu'un client de messagerie Web se désabonne d'un sujet, que ce soit à la suite d'un désabonnement Bayeux spécifique, d'une déconnexion Bayeux ou de l'expiration d'une session Bayeux, le moteur de messagerie doit être en cours d'exécution pour que le désabonnement puisse s'effectuer. Le service de messagerie Web assure le suivi de l'abonnements durable et le fait expirer lorsque c'est possible, mais il arrive que ce ne soit pas possible. Dans ces cas, les abonnements durables doivent être supprimés manuellement via des procédures d'administration. Dans de nombreux cas, il existe un bref délai avant que les abonnements durables d'un client de messagerie Web puissent reprendre. Le mécanisme Bayeux d'avis de tentative de reconnexion sert à indiquer aux clients de se reconnecter après une courte période pour restaurer ces abonnements durables. L'intervalle de reconnexion est contrôlé par la propriété reinitInterval. La durée maximum de tentatives de reconnexion est contrôlé par la propriété MaxReinitDuration. L'utilisation d'abonnements durables ne va pas sans un supplément de charge système et la définition de cette propriété nécessite une réflexion et une planification préalables. Pour plus d'informations, reportez-vous à la documentation du bus d'intégration de services. |
Les clients de messagerie Web se reconnecteront au bus d'intégration de services et se réabonneront aux sujets en cas de problème de communication avec un bus si la propriété autoReinit a la valeur true.
Nom : | autoReinit |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Booléen |
Valeurs prises en charge : | true ou false |
Valeur par défaut : | false |
Description : | Lorsqu'un client de messagerie Web essuie une erreur de communication avec un bus d'intégration de services, la propriété autoReinit doit avoir la valeur true pour permettre la réinitialisation automatique de la connexion à ce bus et le réabonnement aux abonnements précédents. Pendant l'intervalle séparant la perte de l'abonnement et sa réinitialisation, tous les messages publiés vers un sujet ne parviendront pas au client de messagerie Web. Si les propriétés useDurable et autoReinit ont toutes les deux la valeur true, c'est la propriété useDurable qui prendra effet. Lorsque vous exécutez dans un cluster une application pour laquelle la messagerie Web est activée, pensez à donner aux propriétés autoReinit et useDistributedSession la valeur true. Lorsque ces propriétés ont toutes les deux la valeur true, les clients de messagerie Web seront capables, en cas de défaillance d'un serveur, de reprendre leurs opérations sur un autre serveur. Si les propriétés autoReinit et useDurable ont toutes les deux la valeur false, l'avis Bayeux de reprise de contact est envoyé au client pour lui signaler de rétablir le contact et d'initialiser une nouvelle session Bayeux. Dans de nombreux cas, il existe un bref délai avant que les connexions et les abonnements d'un client de messagerie Web puissent être réinitialisés. Le mécanisme Bayeux d'avis de tentative de reconnexion sert à indiquer aux clients de se reconnecter après une courte période pour réinitialiser leurs abonnements. Cet intervalle de reconnexion est contrôlé par la propriété reinitInterval. La durée maximum de tentatives de reconnexion est contrôlé par la propriété MaxReinitDuration. |
Lorsque l'une des deux propriétés autoReinit ou useDurable a la valeur true et qu'il se produit une erreur de communication avec le bus d'intégration de services, le client de messagerie Web est invité à se reconnecter à intervalles réguliers pour reprendre les opérations ; l'intervalle des tentatives est spécifié par la propriété reinitInterval.
Nom : | reinitInterval |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Entierr |
Valeurs prises en charge : | Valeur spécifiée en secondes entre 1 et 300. |
Valeur par défaut : | 10 |
Description : | Après qu'un client de messagerie Web a rencontré une erreur de communication avec un bus d'intégration de services, il peut s'écouler un bref laps de temps avant que le client ne puisse reprendre les communications avec le bus. Lorsque cela se produit, un avis de tentatives de reconnexion à intervalles réguliers est envoyé au client pour l'inviter à se reconnecter selon l'intervalle spécifié par la propriété reinitInterval . Le client de messagerie Web essaiera de se reconnecter pendant une durée maximale spécifiée par la propriété maxReinitDuration. |
La propriété maxReinitDuration spécifie la durée maximale pendant laquelle un client de messagerie Web va tenter de reprendre les opérations avec un bus d'intégration de services.
Nom : | maxReinitDuration |
---|---|
Obligatoire ou facultatif : | Facultatif |
Type de données : | Entierr |
Valeurs prises en charge : | Valeur spécifiée en secondes entre 10 et 600. |
Valeur par défaut : | 60 |
Description : | Lorsque les propriétés autoReinit ou useDurable ont toutes les deux la valeur true, le client de messagerie Web tentera de reprendre les opérations avec le bus d'intégration de services. Dans certains cas, il peut arriver que ce ne soit pas possible de reprendre les opérations à temps. Une fois le délai maxReinitDuration écoulé, le client de messagerie Web cessera d'essayer de reprendre les opérations avec le bus et la session Bayeux expirera. |