SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 160 of 233
Criteria OASIS WS-
Notification OGC Sensor Alert
Service
Publish interaction Yes
No
Subscribe-Publish interaction Yes
Yes
Register-Publish interaction Advertise-Publish
Yes Yes
Brokered interaction Yes
Yes
Transport SOAP
XMPP  HTTP
Hierarchical organisation of event types
Yes No
Event Filtering Based on topic type
only Yes  complex based on
notification content eg. spatial
Provides description of the notification payload
Not by the means of the specification
Yes
Information model and schema for the payload
No Yes
Table 8-15: Comparison between OASIS WS-Notification and the OGC Sensor Alert Service
8.5.1 Interfaces of WS-Base Notification Specification
Name WS-BaseNotification
Standard Specifications
OASIS Web Services Base Notification 1.3 WS-BaseNotification Committee Specification, 31 July 2006. http:docs.oasis-
open.orgwsnwsn-ws_base_notification-1.3-spec-cs-01.pdf
Description OASIS describes the WS-BaseNotification as follows:
“The WS-Notification family of specifications defines a standard Web services  approach  to  notification.  The  WS-BaseNotification
specification  is  the  base  specification  on  which  all  the  other specifications  in  the  family  depend.  It  defines  the  normative  Web
services  interfaces  for  two  of  the  important  roles  in  the  notification pattern,  namely  the  NotificationProducer  and  NotificationConsumer
roles.  This  specification  includes  standard  message  exchanges  to  be implemented by service providers that wish to act in these roles, along
with operational requirements expected of them. In the Notification pattern a Web service, or other entity, disseminates
information to a set of other Web services, without having to have prior knowledge of these other Web services.
This  specification  defines  a  role  called  the  NotificationProducer.  A NotificationProducer  is  capable  of  producing  a  set  of  Notification
messages. A NotificationProducer accepts incoming Subscribe requests. Each Subscribe request contains a reference to a NotificationConsumer
SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 161 of 233
and  identifies  the  subset  of  the  Notifications  the  NotificationProducer should  produce.  This  subset  can  be  described  by  identifying  one  or
more boolean filters, including filtering by Topic, as described in [WS- Topics].  The  NotificationProducer  agrees  to  produce  Notification
Messages as requested in the Subscribe request, or returns a fault if the subscription cannot be handled.
In addition to the message exchanges described in this specification, a NotificationProducer may also support the required message exchanges
defined in the [WS-ResourceProperties] specification and may support the optional message exchanges defined in the WS-ResourceProperties
specification. In such a case, this specification defines several resource properties  which  MUST  conform  to  the  schema  defined  in  the  WS-
BaseNotification specification.” Interfaces of the WS-BaseNotification specification:
NotificationConsumer:  Enables  reception  of  notifications produced by a NotificationProducer as a result of a subscription.
NotificationProducer:  Enables  production  of  notifications  to those  NotificationConsumers  that  have  subscribed  based  on
occurring  events  and  on  the  supplied  parameters  during subscription.
PullPoint:  Supports  destruction  of  PullPoint  resources  and retrieval of notifications from a PullPoint resource.
CreatePullPoint: Manages creation of PullPoint resources. SubscriptionManager:  Manages  renewal  and  cancelation  of
Notification subscriptions. PausableSubscriptionManager:  Enables  pausing  and  resuming
production of notifications for a given subscription. Interface NotificationConsumer
Notify This action is implemented by the consumer and invoked by the
producer produces Notification message when publishing Notifications.
Interface NotificationProducer Subscribe
Used  by  the  notification  subscriber  to  register  its  interest  to  receive  a subset of the notifications that the producer can publish.
GetCurrentMessage Upon invocation of this operation the NotificationProducer returns the
last published Notification on a given topic. Interface PullPoint
GetMessages The PullPoint interface supports the NotificationConsumer interface in
order  to  allow  accumulation  of  Notifications  by  enabling  the NotificationProducer  to  send  notifications  to  the  PullPoint.  The
GetMessages  operation  enables  the  requestors  to  retrieve  or  pull Notification Messages from the PullPoint.
DestroyPullPoint Invoked by a requestor in order to destroy an existing PullPoint.
Interface CreatePullPoint
SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 162 of 233
CreatePullPoint This operation is invoked by a requestor on an endpoint supporting the
PullPoint interface in order to create a new PullPoint resource. Interface SubscriptionManager
Renew The Renew operation is used to modify lifetime of an existing
Subscription. Unsubscribe
This operation is invoked by a requestor in order to terminate an existing Subscription.
Interface PausableSubscriptionManager PauseSubscription
This operation is invoked in order to temporarily pause the production of notifications for a given Subscription.
ResumeSubscription This operation is the counterpart of the PauseSubscription operation
being issued in order to resume the production of notifications for a given Subscription.
Example Usage
Event  based  automatic  catalogue  harvesting  can  be  realised  by implementing  the  NotificationProducer  and  NotificationConsumer
interfaces. Given the dynamic aspects of an existing sensor network, the Catalogue  responsible  for  the  discovery  of  resources  must  be  able  to
react to changes in the sensor network e.g. new sensor connected to the network.  This  can  be  realised  by  a  service  of  the  sensor  network
implementing  the  NotificationProducer  interface  and  providing subscriptions  to  notifications  concerning  new  sensors.  Following  the
Catalogue  has  to  implement  the  NotificationConsumer  interface  and subscribe to these notifications. Based on the received Notifications the
catalogue  service  can  start  harvesting  for  information  concerning  the sensor network and updating its contents.
Comments It  is  beyond  the  scope  of  this  specification  to  describe  an  information
model  for  or  taxonomy  for  events.  It  relies  on  the  WS-Topics specification that enables the definition of eventnotification types and
categories that a consumer can subscribe to. Notification  producer  might  support  the  message  patterns  defined  by
the WS-ResourceProprieties specification.
Table 8-16: Description of WS-BaseNotification Service 8.5.2
Interfaces of WS-Brokered Notification Specification
Name WS-BrokeredNotification
Standard Specifications
Web Services Brokered Notification 1.3 WS-BrokeredNotification OASIS Standard, 1 October 2006. http:docs.oasis-open.orgwsnwsn-
ws_brokered_notification-1.3-spec-os.pdf
Description OASIS describes the WS-BrokeredNotification as follows:
“The  Event-driven,  or  Notification-based,  interaction  pattern  is  a commonly  used  pattern  for  inter-object  communications.  Examples
exist in many domains, for example, in publishsubscribe systems or in system and device management domains. Message brokers are involved
in  many  of  these  systems,  such  as  the  ones  provided  by  Message Oriented Middleware vendors.
SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 163 of 233
This  specification  defines  the  Web  services  interface  for  the NotificationBroker.  A  NotificationBroker  is  an  intermediary  between
message  Publishers  and  message  Subscribers.  A  NotificationBroker decouples  NotificationProducers  and  Notification  Consumers  and  can
provide advanced messaging features such as demand-based publishing and  load-balancing.  A  NotificationBroker  also  allows  publication  of
messages from entities that are not themselves service providers. This is very similar to a traditional Message Oriented Middleware model. The
NotificationBroker interface includes standard message exchanges to be implemented  by  NotificationBroker  service  providers  along  with
operational  requirements  expected  of  service  providers  and  requestors that participate in brokered notifications.
In addition to the message exchanges described in this specification, a NotificationBroker  my  also  support  the  required  message  exchanges
defined  in  the  WS-ResourceProperties  specification  and  may  support the optional message exchanges defined in the WS-ResourceProperties
specification.” Interfaces of the WS-BrokeredNotification specification: NotificationBroker: Enables the implementing service to act as a
middleware between Publishers and Subscribers of Notifications. A  service  implementing  this  interface  must  implement  the
following interfaces from the WS-BaseNotification specification: NotificaitonConsumer,  NotificationProducer.  It  may  also
implement  the  CreatePullPoint  interface.  In  addition  the following interfaces must be implemented.
RegisterPublisher: Handles the publisher registration. PublisherRegistrationManager:  Handles  the  termination  of  a
Publisher registration unregistration. Interface RegisterPublisher
RegisterPublisher This action is implemented by the broker in order to allow for to
Publishers to advertise on their ability to publish Notifications on a set of Topics.
Interface PublisherRegistrationManager DestroyRegistration
Used to destroy the PublisherRegistration resource thus effectively terminating the publishing of Topics from a Publisher. Additionally the
PublisherRegistrationManager may also support the required message exchanges defined in the WS-ResourceProperties specification.
Example Usage
A  NotificationProducer  registers  with  a  Broker  and  by  doing  so  the Broker exposes the Topics that the Publisher is able to  provide. Upon
successful  registration  a  NotificationConsumer  can  subscribes  to  the Broker to receive notifications on a given Topic. The Broker mediates
this  subscription  by  subscribing  for  Notifications  at  the NotificationProducer  and  forwarding  the  received  Notifications  to  the
NotificationConsumer.
Comments
Table 8-17: Description of WS-BrokeredNotification Service
SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 164 of 233
9. Technology Viewpoint
The Technology Viewpoint of the SensorSA specifies the technological choices of the concrete service  platform  and  its  operational  issues.  To  accommodate  the  requirements  of  Sensor
Networks as introduced in section 4.5 the SensorSA refines the guidelines and requirements for platform specifications as defined in the Technology Viewpoint of the ORCHESTRA Reference
Model RM-OA, 2007. These guidelines comprise:
-
a general approach for how to specify a service platform see section 9.1,
-
the specification of the SANY service platform
-
a description of how access control mechanisms are being implemented section 9.3.1,
-
an agreement on data formats see section 9.3.2, and
-
optionally a set of restrictions to be observed for a particular platform.
9.1. Properties of a Service Platform
As a general guideline, the specification of a service platform shall be conformant to the OASIS Reference Model for Service Oriented Architecture 1.0 SOA-RM, 2006. This implies that the
platform  is  being  described  according  to  the  SOA-RM  by  the  following  predefined  platform properties:
-
Platform Name Name  of  the  platform  and  if  applicable  the  exact  version  number  of  the  platform
specification. In the case of a standard platform, a reference shall be provided.
-
Reference Model If  the  platform  specification  is  based  on  a  specific  reference  model,  the  name  and  the
exact version number of the reference model shall be provided.
-
Interface Language Specification  of  the  formal  machine-processable  language  used  to  define  SOA-RM
Service Interfaces. In the case of a standard language, a reference shall be provided.
-
Execution Context Specification of the SOA-RM Execution Context. The Execution context is an agreement
between  service  providers  and  consumers.  It  contains  information  that  can  include preferred  protocols,  semantics,  policies  and  other  conditions  and  assumptions  that
describe how a service can and may be used. This includes, for example, the specification of  the  transport  and  the  security  layer,  the  format  of  the  messages  exchanged  between
service  providers  and  consumers,  etc.  In  the  case  of  a  standard  SOA-RM  Execution Context, a reference shall be provided.