WS-Notification - Généralités

WS-Notification permet aux services Web d'utiliser le modèle de messagerie de publication et d'abonnement.

WS-Notification est devenue une fonction stabilisée dans WebSphere® Application Server version 8.5.5.

La messagerie de publication/d'abonnement sert à distribuer un message à plusieurs abonnés. Dans ce modèle, une application de production introduit (publie) un message (notification d'événement) dans le système de messagerie l'ayant marqué avec un sujet qui indique l'Objet du message. Les applications de consommation abonnées à ce sujet en question, et qui disposent des droits appropriés, reçoivent toutes une copie du message qui a été publié par l'application de production. Toute application destinataire peut filtrer les messages d'un sujet donné à l'aide du filtre de contenu de message évalué pour le contenu du message XML du corps du message.

La mise en œuvre de WS-Notification dans WebSphere Application Server prend en charge les normes WS-Notification, est conforme aux exigences du profil de base WS-I 1.0 et est compatible avec d'autres normes connexes telles que WS-Addressing pour la haute disponibilité et la gestion de la charge de travail, et WS-ReliableMessaging pour une communication fiable entre les composants. Au niveau d'une application, cela permet d'adopter une méthode normalisée pour faire participer les applications de services Web dans le modèle de messagerie de publication/abonnement, que ce soit pour l'écoute de la notification d'un événement ou pour l'insertion des notifications d'événements dans le système pour leur consommation par d'autres applications ou outils de gestion de système. Les normes ouvertes de cette spécification de services Web signifient que les applications peuvent communiquer entre elles sans tenir compte des plateformes matérielles sous-jacentes, des langages des logiciels ou des environnements des fournisseurs.

Les normes WS-Notification

WebSphere Application Server implémente la famille de normes WS-Notification version 1.3 qui sont développées sous la supervision de l'Organisation for the Advancement of Structured Information Standards (OASIS). Ces normes définissent les échanges de messages des services Web qui permettent aux applications de services Web d'utiliser le modèle de messagerie de publication/d'abonnement.

WS-Notification est décrit dans une famille de trois normes :
WS-Notification peut être utilisé avec d'autres normes de service Web. Par exemple :
  • WS-ReliableMessaging permet de configurer les points d'extrémité des services web afin de garantir que les opérations des services web sont invoquées de manière fiable par le biais de transports intrinsèquement peu fiables tels que HTTP. La norme WS-Notification ne garantissant pas la fiabilité avec laquelle les messages sont publiés ou reçus par les applications, vous devez composer WS-Notification avec WS-ReliableMessaging pour assurer la fiabilité.
  • WS-Distributed Management (WS-DM) définit des applications spécialisées qui sont WS-Notification NotificationProducers, et un document topic namespace qui décrit les sujets sur lesquels ces applications doivent émettre des notifications d'événements pour assurer la gestion d'une ressource (telle qu'une imprimante) par un client de services web.

Implémentation de WS-Notification dans WebSphere Application Server

Le principal composant de cette implémentation est le courtier de notification. Il s'agit d'un point de démarcation entre les applications expéditrices, qui souhaitent insérer des notifications d'événements dans le système, et les applications réceptrices, qui souhaitent recevoir les notifications d'événements. WebSphere Application Server fournit ce courtier prêt à l'emploi, de sorte que les applications puissent se concentrer sur les exigences fonctionnelles de niveau métier liées à l'envoi et à la réception d'événements sans avoir à implémenter les aspects d'infrastructure plus complexes des spécifications WS-Notification, tels que la gestion des listes d'abonnés actifs, l'analyse syntaxique et la mise en correspondance des rubriques et des caractères génériques, la distribution des notifications d'événements aux abonnés, la gestion des cycles de vie des abonnements. Cette séparation entre applications métier d'expédition et applications métier de réception implique que celles-ci n'ont pas besoin d'être disponibles en même temps pour pouvoir communiquer. Le courtier conserve une publication jusqu'à ce que l'application de réception soit disponible.

Le modèle d'appel de base du courtier se présente comme suit :
  • Une application de service Web contacte le serveur en utilisant les noeuds finaux des services Web exposés par le point de service WS-Notification.
  • Le noeud final transmet cette demande d'appel au courtier de notifications, chargé de l'analyse syntaxique de la demande et d'effectuer l'action appropriée en fonction du type de demande reçue.

L'illustration suivante montre un serveur d'applications qui contient un courtier de notification et un moteur de messagerie. Le moteur de messagerie contient un abonnement durable et un espace de sujets de bus. Un noeud final de services Web se trouve entre le serveur d'applications et l'extérieur. A l'extérieur, se trouve un diffuseur de publications, un abonné et un consommateur de notification. Le diffuseur de publications envoie un message de notification sur un sujet et l'abonné envoi une demande d'abonnement de la part du consommateur de notification pour s'abonner au même sujet. Ces deux messages sont reçus par le noeud final des services Web, puis routés vers le courtier associés et vers l'espace de sujets. L'abonnement est classé en tant qu'abonnement durable. Le message de notification reçu est réacheminé par le courtier vers le destinataire de notification abonné au sujet.

Figure 1 : Appel du courtier de notification
Cette figure est décrite dans le texte.
L'implémentation WS-Notification dans la version d' WebSphere Application Server 6.1 utilise des services Web compatibles avec le bus d'intégration de services pour exposer le point de terminaison du service WS-Notification, afin qu'il puisse être invoqué par des applications et configuré avec des attributs spécifiques tels que WS-Security ou des gestionnaires JAX- RPC. Cependant, l'implémentation de la version 6.1 n'est pas compatible avec les gestionnaires ou les applications JAX-WS, et elle ne peut pas être combinée avec WS-ReliableMessaging. WebSphere Application Server La version 7.0 ou ultérieure continue donc à fournir l'implémentation de la version 6.1, et fournit également une nouvelle implémentation des services WS-Notification et des points de service qui n'est pas basée sur des services web compatibles avec le bus :
  • Version 7.0: Utilisez ce type de service si vous souhaitez composer un service JAX-WS WS-Notification avec des qualités de service de service Web (QoS) via des ensembles de règles ou si vous souhaitez appliquer des gestionnaires JAX-WS à votre service WS-Notification. Ce type de service est recommandé pour les nouveaux déploiements. Cette option WS-Notification est disponible dans WebSphere Application Server à partir de Version 7.0.
  • 6.1 : utilisez ce type de service si vous souhaitez exposer un service WS-Notification JAX- RPC qui utilise la même technologie que celle fournie dans WebSphere Application Server Version 6.1, y compris la possibilité d'appliquer des gestionnaires JAX- RPC au service. Cette option WS-Notification est disponible dans WebSphere Application Server à partir de la version 6.1.
Lorsque vous créez un service WS-Notification version 7.0, l'assistant crée et déploie une application de fournisseur basée sur JAX-WS. Cette application expose les interfaces de service Web WS-Notification pour chacun des trois rôles de service WS-Notification :
  • Courtier de notifications
  • Gestionnaire d'abonnements
  • Gestionnaire d'enregistrements du diffuseur de publications
Si vous créez un service WS-Notification version 6.1, l'assistant configure trois services entrants de bus d'intégration de services pour le service WS-Notification, un pour chacun des trois rôles de service WS-Notification :
  • Courtier de notifications
  • Gestionnaire d'abonnements
  • Gestionnaire d'enregistrements du diffuseur de publications
Ces services entrants sont définis dans le même bus d'intégration de services que le service WS-Notification version 6.1. Chacun d'eux fait référence au même bus d'intégration de services.
Remarque: Généralement, une destination de bus est utilisée comme décrit dans Destinations de bus. Cependant, ce n'est pas le cas pour les services WS-Notification version 6.1. Cette destination qui est associée au service WS-Notification version 6.1 est sans relation avec les sujets pour lesquels le service WS-Notification peut gérer des demandes. Vous ne devez donc pas modifier la destination ou la soumettre à une médiation. Dans WS-Notification, la configuration des sujets s'effectue via des espaces de nom de sujet. Pour plus d'informations, voir Création d'un espace de nom de sujet permanent WS-Notification.