WS-Topics

Der Standard "WS-Topics" beschreibt, wie eine NotificationProducer-Anwendung ein Topic den NotificationMessages zuordnen kann, die sie erzeugt.

In der Kurzdarstellung des OASIS-Standards 'WS-Topics Version 1.3' wird "WS-Topics" wie folgt beschrieben:

This document defines a mechanism to organize and categorize items of interest for subscription known as "topics". These are used in conjunction with the notification mechanisms defined in WS-BaseNotification. WS-Topics defines three topic expression dialects that can be used as subscription expressions in subscribe request messages and other parts of the WS-Notification system. It further specifies an XML model for describing metadata associated with topics.

Copyright © OASIS Open 2004-2006. All Rights Reserved.

This document and translations of it might be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation might be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the previous copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself does not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.

Ein Topic wird verwendet, um Benachrichtigungen zu gruppieren, die sich auf einen bestimmten Typ von Information beziehen. Eine NotificationProducer-Anwendung für einen Börsenschreiber kann beispielsweise das Topic der von ihr erzeugten Benachrichtigungen (NotificationMessage) auf das Börsenkürzel einstellen, dem die Informationen zugeordnet sind, z. B. "stock/IBM".

NotificationConsumer-Anwendungen können ein Topic bei der Subskription angeben. Dies führt dazu, dass alle Nachrichten, die von dieser NotificationProducer-Anwendung erzeugt werden, an das angegebene Topic gesendet werden.

Jedes Topic wird in einem XML-Namespace definiert. Die Topics, die einem bestimmten XML-Namespace zugeordnet sind, werden als Topic-Namespace bezeichnet. Die Zuordnung von Topics zu einem bestimmten Topic-Namespace wird verwendet, um Namenskollisionen zu vermeiden und die Interoperation zwischen unabhängig voneinander entwickelten NotificationProducer- und NotificationConsumer-Anwendungen zu vereinfachen.

Anmerkung: Das Konzept von Topic-Namespaces in WS-Topics unterscheidet sich geringfügig von dem Konzept von Topic-Namespaces in den Serviceintegrationstechnologien. Weitere Informationen hierzu finden Sie im Artikel Terminologie in WS-Notification.

Der Mechanismus für die Vermeidung dieser Kollisionen wird normalerweise vom Anwendungsentwickler bestimmt. In einem Beispiel definiert ein Anwendungsentwickler einen Namespace für eine zusammengehörige Gruppe von Anwendungen. Damit hat der Entwickler die Möglichkeit, die Topicstruktur zu wählen, die er für diesen Namespace geeignet hält. Außerdem könnte der Anwendungsentwickler einen Topic-Namespace für Benachrichtigungen definieren, die in Französisch veröffentlicht werden, und einen anderen für Benachrichtigungen in englischer Sprache. Eine subskribierende Anwendung gibt dann die Namespace/Topic-Kombination an, an der sie interessiert ist (z. B. "english:stock/IBM"), um sicherzustellen, dass sie die Benachrichtigungen in der gewünschten Sprache erhält. Auf diese Weise können Sie "dieselbe" Topicstruktur (anderen Namespaces) verwenden, um sicherzustellen, dass die Anwendung keine inkompatiblen Benachrichtigungen empfängt.

Im Abschnitt 6 des WS-Topics-Standards wird die Methode für die Modellierung von TopicNamespaces in Form eines XML-Dokuments beschrieben. Damit können Sie die Struktur eines Topicbereichs definieren und (optional) Bedingungen für Topics festlegen, die die Anwendungen für Verweise auf einen bestimmten Topicbereich verwenden können. Der Artikel WS-Notification-Topic-Namespace-Dokument anwenden beschreibt, wie dies in WebSphere Application Server implementiert wurde.

Im Abschnitt 7 des WS-Topics-Standards werden Beispieldialekte für Topicausdrücke definiert, die in WS-Notification-Anwendungen verwendet werden sollten. Die WS-Notification-Standards unterstützen einen erweiterbaren Mechanismus, damit Anbieter eigene Dialekte für Topicausdrücke definieren können. WebSphere Application Server unterstützt die folgenden drei Dialekte für Topicausdrücke:

Simple Topic Expressions
Ein Basisstil für Topicausdrücke, in dem nur QNames als Topics zugelassen werden. Der Dialekt "Simple Topic Expression" unterstützt also nur Stammtopics. Es gibt keine Topichierarchie und keine Platzhalter. Beispiele für gültige Ausdrücke des Dialekts "Simple Topic Expression" sind tns1:stock und tns2:sports, wobei (z. B.) tns1 eine Referenz auf den Namespace ist, in dem sich das Topic befindet.
Concrete Topic Expressions
Dieser Topicdialekt erweitert das Simple Topic Expression-Muster und unterstützt Topichierarchien. Mit dem Schrägstrich (/) wird ein untergeordnetes Element einer Beziehung angezeigt. Auch dieser Topicdialekt lässt keine Platzhalter zu. Beispiele für gültige Ausdrücke des Dialekts "Concrete Topic Expression" sind tns1:stock/IBM und tns2:sports/football. Ein gültiger Ausdruck im Dialekt "Simple Topic Expression" ist automatisch auch im Dialekt "Concrete Topic Expression" gültig.
Full Topic Expressions
Dieser Topicdialekt erweitert den Dialekt "Concrete Topic Expression" und führt die Konzepte Platzhalter und Konjunktion ein. Er basiert auf einem Teil der XPath-Pfadausdrücke und beschreibt, wie Ausdrücke dieses Typs mit der XML-Dokumentdarstellung eines Topicbereichs, die zuvor beschrieben wurde, ausgewertet werden kann. Verwenden Sie die XPath-Platzhalterzeichen * (Stern) und . (Punkt) und | (vertikaler Balken) als Verknüpfungsoperator. Beispiele für gültige Ausdrücke des Dialekts "Full Topic Expression" sind folgende:
tns1:t1/*
tns1:t1/*/t3
tns1:*
tns1:t1/t3//.
tns1:t1/t3//*
tns1://*
tns1:t1//t3
tns1:t1/t2 | tns1:t4/t5

Im Allgemeinen können NotificationProducer-Anwendungen jede Anzahl der zuvor beschriebenen Topicdialekte (unter Umständen auch keinen) und darüber hinaus auch Dialekte unterstützen, die nicht aufgelistet wurden. Einfache NotificationProducer-Anwendungen können also angeben, wie sie die Struktur der Informationen, in denen sie Benachrichtigungen bereitstellen, darstellen möchten.

Der von WebSphere Application Server bereitgestellte NotificationBroker unterstützt alle drei zuvor beschriebenen Dialekte und der Anwendungsentwickler kann basierend auf den vorliegenden Anforderungen entscheiden, welchen er verwendet. Für komplizierte Ausdrücke mit Platzhaltern muss die Anwendung den Dialekt "Full Topic Expression" verwenden, während sie für einfachere Fälle die Dialekte "Simple Topic Expression" oder "Concrete Topic Expression" verwenden kann.


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjwsn_topics
Dateiname:cjwsn_topics.html