Adding notification topics Object type extensions

Copyright © 2011 Open Geospatial Consortium. 87 extension parameters can be reused easily and are not tied to a specific namespace and version of the core model. The SWE Service Model defines a request and response type for service operations that provide the necessary extension properties. These types are specified in clause 9. This standard requires a service to throw an exception if it encounters an unsupported request extension see clause 15. This can be done as shown in the following listings. Listing 9 – Example of operation request with extensions swes:DescribeSensor service = SPS version = 2.0 xmlns:swes = http:www.opengis.netswes2.0 xmlns:abc = http:www.example.orgabc xmlns:xsi = http:www.w3.org2001XMLSchema-instance swes:extension abc:MyExtensionElement value abc:MyExtensionElement swes:extension swes:procedure http:my.orgsensors937239 swes:procedure swes:procedureDescriptionFormat http:www.opengis.netsensorML1.0.1 swes:procedureDescriptionFormat swes:DescribeSensor Listing 10 – Example of RequestExtensionNotSupported exception ows:Exception exceptionCode = RequestExtensionNotSupported xmlns:ows = http:www.opengis.netows1.1 xmlns:abc = http:www.example.orgabc xmlns:xsi = http:www.w3.org2001XMLSchema-instance ows:ExceptionText [CDATA[ abc:MyExtensionElementvalueabc:MyExtensionElement ]] ows:ExceptionText ows:Exception Extensions themselves may provide points for further extension. Requirement http:www.opengis.netspecSWES2.0reqExtensionsRequestExtensionNotSupported REQ 69. If a service encounters a sub-extension in an extension property of an operation request and it does not support it, then it shall throw a RequestExtensionNotSupported exception.

18.3 Adding notification topics

Services implementing this standard may define their own topic namespace to define notification semantics. They may also extend topics defined in the topic namespace of this standard according to the rules defined by the OASIS WS-Topics standard. 88 Copyright © 2011 Open Geospatial Consortium. An extension topic defines its own notification semantics and does not change the semantics of its parent topic which in this case is defined by this standard. Each topic defines the sending trigger and content of an event. In addition, it usually defines the information encoding of the notification. Extension topics define the way topics are included in a given TopicSet of a service instance they have to be a child of the parent topic – see WS-Topics. See Listing 11 for an example and WS-Topics chapter 3 for further details. For example, this specification defines a CapabilitiesChange topic. A notification is sent whenever the Capabilities document of the referenced service has changed. Another standard can define an extension of this topic named ServiceProviderChange. Here, a notification will be sent whenever a change to the ServiceProvider section of the Capabilities document occurs. Notifications sent on this new topic could provide specific information which parts of the ServiceProvider section has changed. Clients interested only in changes to the ServiceProvider section then subscribe to this new topic. Note that changes to the ServiceProvider section also trigger a CapabilitiesChanged event and hence result in a notification on the parent topic CapabilitiesChange. Consumers subscribed to that topic and all child topics would then receive two notifications even though originally only one event has happened.

18.4 Object type extensions

Each type defined in this specification has either no stereotype or has the stereotype Type. Hence it has automatically a well-defined extension point – see clause 24.2.4.1. This is the place where other specifications may add additional properties. For example, the NotificationProducerMetadata type has such an extension point. A possible extension could for example add information about potential publication of events to web feeds. This aspect, which is a candidate for future versions of this standard, is not covered herein. There is a key difference between object type extensions and requestresponse extensions as described in clause 18.2. If a service encounters an unsupported requestresponse extension, it throws an exception. In contrast: Requirement http:www.opengis.netspecSWES2.0reqExtensionsUnsupportedObjectTypeExtension REQ 70. If a service encounters an unsupported object type extension in a place other than a request extension, it shall ignore it. Copyright © 2011 Open Geospatial Consortium. 89 19 SOAP binding

19.1 Introduction