Topics and Events Topic Namespace

Ordering Services for Earth Observation Products Interface Standard OGC 06-141r6 103 Copyright © 2012 Open Geospatial Consortium Figure 7-18 - Sequence diagram for PublishSubscribe functionality with Broker In the brokered case, the sequence of message exchanges between Subscriber and the NotificationBroker is the same as the sequence of message exchanges between Subscriber and NotificationProducer in the non-brokered case. Instead of interacting directly with the ultimate NotificationConsumers, Publishers interact with the NotificationBroker using a sequence of message exchanges supported by the NotificationBroker. The Publisher publishes a NotificationMessage to the NotificationBroker, using the Notify message. At some point subsequent to this publication, the NotificationBroker delivers the NotificationMessages to any NotificationConsumer identified by Subscriptions which match the publication.

7.5.1 Topics and Events

The Topics mechanism provides a convenient means by which Subscribers can reason about Notifications of interest. Topics appear in several places within the WS-Notification system. The NotificationProducer uses these sets of Topics as part of the matching process: a Notification is delivered to a NotificationConsumer if the set of Topics associated with the Subscription has a non- empty intersection with the set of Topics associated with the Notification. It is important to understand the distinction between a “Topic Namespace” and the “Topic Set” supported by a NotificationProducer.

7.5.2 Topic Namespace

A Topic Namespace is just an abstract set of Topic definitions. The OASIS WS-Topics standard defines the TopicNamespace type as a mean to group and describe topics that belong to a specific namespace. An example of topic namespace is defined through the following example. wstop:TopicNamespace name=Topic-Namespace targetNamespace=http:www.opengis.netoseo1.0 final=true wstop:Topic name=OrderEvent wstop:Topic name=OrderFailure wstop:Topic name=OrderCompletion wstop:Topic name=OrderDeletion wstop:Topic wstop:TopicNamespace Ordering Services for Earth Observation Products Interface Standard OGC 06-141r6 104 Copyright © 2012 Open Geospatial Consortium Within the example the Topic Namespace defines 4 Topics – the root Topics and their children. A Topic in the Topic Namespace can be marked using the ‘final’ attribute true or false. ฀ If ‘final=true”, then no further child Topics can be added dynamically to that Topic. ฀ If Topic is not marked with the ‘final’ attribute with value=”true”, then a NotificationProducer could add further child Topics to that Topic within its Topic Set, and permit Subscriptions to such child Topics. By default Topic has been marked with final=”false”. If a NotificationProducer wishes to use only a subset of the Topics previously defined e.g. two of these Topics it will define a TopicSet. The following is an example of TopicSet document. wstop:TopicSet xmlns:wstop=http:docs.oasis-open.orgwsnt-1 xmlns:tns=http:example.orgtopicsexample1 xmlns:xsi=http:www.w3.org2001XMLSchema-instance xsi:schemaLocation=http:docs.oasis-open.orgwsnt-1 http:docs.oasis-open.orgwsnt-1.xsd tns:OrderEvent wstop:topic=true OrderCompletion wstop:topic=true tns:OrderEvent wstop:TopicSet 7.5.2.1 EventCode The EventCode type is a list of codes signifying events that happen and they have to be identified by a GML dictionary like this EventCode.xml: ?xml version=1.0 encoding=UTF-8? gml:Dictionary xmlns:gml=http:www.opengis.netgml3.2 xmlns:xsi=http:www.w3.org2001XMLSchema-instance xsi:schemaLocation=http:www.opengis.netgml3.2 http:schemas.opengis.netgml3.2.1gml.xsd gml:id=EventCode gml:identifier codeSpace=http:www.opengis.netoseo1.0SWES_Event_CodeListgml:identif ier gml:nameEventCodegml:name gml:dictionaryEntry gml:Definition gml:id=ORDERING_COMPLETED gml:descriptionThe ordering is completedgml:description gml:identifier codeSpace=http:www.opengis.netoseo1.0ORDERING_COMPLETEDgml:identifi er gml:name ORDERING_COMPLETEDgml:name gml:Definition gml:dictionaryEntry gml:dictionaryEntry gml:Definition gml:id=ORDERING_DELETED gml:descriptionThe ordering has been deletedgml:description gml:identifier codeSpace=http:www.opengis.netoseo1.0ORDERING_DELETEDgml:identifier gml:name ORDERING_DELETEDgml:name gml:Definition gml:dictionaryEntry gml:dictionaryEntry gml:Definition gml:id=ORDERING_FAILED gml:descriptionThe ordering is failedgml:description gml:identifier codeSpace=http:www.opengis.netoseo1.0ORDERING_FAILEDgml:identifier gml:name ORDERING_FAILEDgml:name gml:Definition Ordering Services for Earth Observation Products Interface Standard OGC 06-141r6 105 Copyright © 2012 Open Geospatial Consortium gml:dictionaryEntry gml:Dictionary The following table presents the association between events and topics. Event Name Definition Topic Ordering_Completed “ORDERING_COMPLETED” Order has been completed OrderEventOrderCompletion Ordering_Deleted “ORDERING_DELETED” Order has been deleted OrderEventOrderDeletion Ordering_Failed “ORDERING_FAILED” Failure of order OrderEventOrderFailure Table 7-30 – Events and Topics association When matching process between an event and a Topic on which there is a subscribe gives a positive result, the notify will send to the NotificationConsumer. Ordering Services for Earth Observation Products Interface Standard OGC 06-141r6 106 Copyright © 2012 Open Geospatial Consortium 8 GetCapabilities operation

8.1 Introduction