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