Spécification WS-Topics
La norme WS-Topics montre comment une application d'expédition de messages de notification associe un sujet aux messages de notification qu'elle produit.
L'extrait de la norme WS-Topics Version 1.3 OASIS Standard décrit la spécification WS-Topics comme suit :
Ce document définit un mécanisme d'organisation et de catégorisation des "sujets", c'est-à-dire des éléments susceptibles de faire l'objet d'un abonnement. Ces sujets sont utilisés avec les mécanismes de notification définis dans WS-BaseNotification. La spécification WS-Topics définit trois dialectes d'expression du sujet, utilisables comme expressions d'abonnement dans les messages de demande d'abonnement et dans d'autres parties du système WS-Notification. Elle spécifie également un modèle XML pour la description des métadonnées associées aux sujets.
Copyright © OASIS Open 2004-2006. All Rights Reserved.
Le présent document ainsi que sa traduction peuvent être copiés et transmis, et les oeuvres dérivées qui font des observations ou apportent des explications sur le présent document, ou assistent son implémentation peuvent être élaborées, copiées, publiées et distribuées, tout ou en partie, sans aucune restriction, à condition que la susdite notice de copyright ainsi que le présent paragraphe soient inclus dans lesdites copies et oeuvres dérivées. Toutefois, le présent document ne doit subir aucune modification, comme la suppression de la notice de copyright ou les références à OASIS, excepté pour le développement des spécifications OASIS, auquel cas, les procédures afférentes aux droits d'auteur et aux droits de traduction définis dans le document relatif à la propriété intellectuelle d'OASIS s'appliquent.
Un sujet permet de regrouper les messages de notification liés à un type d'information particulier, ainsi, une application d'expédition de messages de notification d'actions peut attribuer au sujet du message de notification qu'elle produit le symbole d'action auquel l'information est associée, par exemple "stock/IBM".
Les applications de destinataire de messages de notification peuvent spécifier un sujet lorsqu'elles s'abonnent, ce qui entraîne l'envoi de tous les messages qu'elles produisent sur le sujet spécifié.
Chaque sujet est défini comme faisant partie d'un espace de nom XML. L'ensemble de sujets associés à un espace de nom XML donné est appelé "espace de nom de sujet". L'affectation de sujets à un espace de nom de sujet particulier permet d'éviter les conflits de noms et facilite l'interopération entre une application d'expédition de messages de notification développée séparément et des applications de destinataire de messages de notification.
Le mécanisme permettant d'éviter ces conflits est généralement déterminé par le développeur d'applications, qui définit dans un modèle l'espace de nom utilisable par un groupe d'applications liées. Ceci permet au développeur d'utiliser la structure de sujet qu'il juge appropriée dans l'espace de nom concerné. Le développeur d'applications de notre exemple peut définir un espace de nom de sujet pour les messages de notification publiés en français et un autre espace de nom de sujet pour les notifications publiées en anglais. Une application d'abonnement spécifie alors l'espace de nom/sujet qui l'intéresse ("english:stock/IBM", par exemple) pour recevoir les messages de notification dans la langue appropriée. De cette manière, vous pouvez utiliser la "même" structure de sujet (avec des espaces de nom différents) pour que l'application ne reçoive pas de notifications incompatibles.
La section 6 de la norme WS-Topics décrit la méthode de modélisation des espaces de noms de sujet sous la forme d'un document XML. Ceci permet de définir la structure d'un espace de sujet et d'associer d'éventuelles conditions aux sujets utilisables par les applications faisant référence à un espace de sujet donné. Pour savoir comment cela est mis en oeuvre dans WebSphere Application Server, voir Application d'un document d'espace de nom de sujet WS-Notification.
La section 7 de la norme WS-Topics fournit des exemples de dialectes d'expression du sujet, qu'il est recommandé d'utiliser avec les applications WS-Notification. Notez que les normes WS-Notification fournissent un mécanisme d'extensibilité permettant aux fournisseurs de définir leurs propres dialectes d'expression du sujet. Les trois dialectes d'expression du sujet pris en charge par WebSphere Application Server sont les suivants :
- Expressions Simple Topic Expression
- Expression de base, dans laquelle les QName sont les seuls sujets admis. Cela implique que seuls les sujets racine sont pris en charge par le dialecte Simple Topic Expression et qu'aucune hiérarchie de sujets ou qu'aucun caractère générique n'est utilisé. tns1:stock et tns2:sports sont des exemples valides de Simple Topic Expression, où tns1 est une référence à l'espace de nom dans lequel se trouve le sujet.
- Expressions Concrete Topic Expression
- Ce dialecte de sujet étend le modèle Simple Topic Expression pour autoriser les hiérarchies de sujets en utilisant le caractère / (barre oblique) pour indiquer une relation "enfant de". Notez que ce dialecte de sujet ne permet pas d'utiliser des caractères génériques. tns1:stock/IBM et tns2:sports/football sont des exemples valides de Concrete Topic Expression. Notez qu'une expression valide de sujet simple (Simple Topic Expression) est obligatoirement valide dans le dialecte d'expressions de sujet concret (Concrete Topic Expression).
- Expressions Full Topic Expression
- Ce dialecte de sujet étend le dialecte Concrete Topic Expression pour inclure les concepts de caractères génériques et de conjonction. Il repose sur un sous-ensemble d'expressions de chemin d'emplacement XPath et décrit comment les expressions de ce type peuvent être évaluées en utilisant la représentation de document XML d'un espace de sujets, comme indiqué précédemment. Utilisez l'astérisque (*) et le point (.) de type XPath comme caractères
génériques, et la barre verticale (|) comme opérateur de conjonction. Voici un exemple d'expression de sujet complet valide
(Full Topic Expression).
tns1:t1/* tns1:t1/*/t3 tns1:* tns1:t1/t3//. tns1:t1/t3//* tns1://* tns1:t1//t3 tns1:t1/t2 | tns1:t4/t5
Généralement, les applications d'expédition de messages de notification peuvent prendre en charge tous les dialectes précédemment décrits (ainsi que l'absence de dialecte et d'autres dialectes non mentionnés dans la section précédente). Ceci offre aux applications simples d'expédition de messages de notification la possibilité de spécifier le mode d'exposition de la structure de l'information pour laquelle elles fournissent des notifications.
Le courtier de notification fourni par WebSphere Application Server prend en charge les trois dialectes précédemment décrits, le développeur d'applications peut donc choisir celui qu'il juge le plus approprié. Pour les expressions complexes, avec caractères génériques, l'application doit utiliser le dialecte d'expression de sujet complet (Full Topic Expression). Pour les cas plus simples, elle peut utiliser les dialectes d'expression de sujet simple ou concret (Simple ou Concrete Topic Expression).