Topologie de WS-Notification comme point d'entrée ou de sortie vers le bus d'intégration de services
Outre la possibilité de transmettre des informations entre les producteurs et consommateurs WS-Notification, la prise en charge WS-Notification fournie dans WebSphere Application Server agit également comme un point de sortie ou d'entrée avec le bus d'intégration de services. Les notifications d'événements publiées par les applications WS-Notification sont insérées dans le bus d'intégration de services où elles peuvent être modifiées, redirigées ou reçues par n'importe quelle autre application connectée au bus. De même, les destinataires de WS-Notification peuvent recevoir les publications envoyées par les clients du bus d'intégration de services tels que JMS.
Vous pouvez configurer WS-Notification afin que les applications de services Web reçoivent des notifications d'événements générées par d'autres clients du bus d'intégration de services, tels que les clients JMS. De même, les applications de services Web peuvent générer les notifications que les autres types doivent recevoir. Vous obtenez cette configuration en créant un espace de nom de sujet permanent qui autorise le partage des messages entre les clients des services Web et non-Web du bus, comme décrit dans Accès des applications WS-Notification à un espace de sujet de bus existant.
Dans l'illustration suivante, un diffuseur de publications WS-Notification insère une notification d'événement dans le courtier de notification reçu par un consommateur de messages JMS. A l'inverse, un expéditeur de messages JMS peut publier un message qui sera reçu par un destinataire de notifications. Les messages sont envoyés par le diffuseur de publications au courtier de notification en utilisant SOAP sur HTTP, et transitent via un serveur WebSphere Application Server, jusqu'au fournisseur JMS et au consommateur de messages JMS en utilisant JFAP. Inversement, les messages sont envoyés du fournisseur de messages JMS au fournisseur JMS en utilisant JFAP et transitent via un serveur WebSphere Application Server jusqu'au courtier de notification et consommateur de notification en utilisant SOAP sur HTTP.

Interaction de types de message JMS
Le service WS-Notification assure l'insertion des messages dans le bus d'intégration de services (en réponse aux opérations de notification émises par les services Web) et la réception des messages du bus (afin de transmettre les messages à un service Web suite à une opération d'abonnement).
Les messages insérés par le service WS-Notification sont de type JMS BytesMessage. Par conséquent, lorsqu'un service Web appelle l'opération Notify sur un point de service WS-Notification, le contenu de l'application du message est inséré dans le corps d'un BytesMessage JMS en utilisant le codage UTF-8.
Pour les messages reçus par le service WS-Notification en réponse à une inscription, la conversion inverse s'applique. Le message reçu est converti dans le type de message JMS approprié. Si le type approprié est de type BytesMessage, le corps du message est converti en chaîne en utilisant le codage UTF-8 et le code est vérifié avant d'être envoyé au service Web demandeur.
Si la chaîne BytesMessage convertie ne contient pas d'élément XML quand elle est convertie en une chaîne, ce message est ignoré car il provient d'une application (JMS) qui ne reconnaît pas WS-Notification.
Si le message reçu est défini pour être un TextMessage, le contenu du corps du message est extrait et le traitement se poursuit de la même manière que pour le contenu BytesMessage converti. Cela signifie que les applications JMS qui souhaitent fournir des notifications d'événements à une application WS-Notification peut choisir d'envoyer le contenu en BytesMessage ou TextMessage, en fonction de ce qui est le plus approprié à l'application.
Si le message reçu n'est ni en BytesMessage ni en TextMessage, il est éliminé car il provient d'une application (JMS) qui ne reconnaît pas WS-Notification.