Copyright © 2010 Open Geospatial Consortium, Inc.
57
P ro
v id
e r
:P ro
v id
e r
S u
b s
c ri
b e
r Subscribe at
Prov ider
Subscribe
Subscribe
Subscribe
New ad hoc ev ent channel :AdhocEv entChannel
filter = subscription.filter terminationTime = subscription.terminationTime
New subscription : Subscription
Create subscription resource
Create new ad hoc channel
Stop SubscribeResponse
SubscribeResponse
[deliveryToChannel defined]
[otherwise]
Figure 24: Creating an Ad Hoc Event Channel
The Subscriber sends the Subscribe event message to the Provider. The Provider performs the Subscribe activity upon receiving the Subscribe message. This
involves creating a new subscription resource object and - if the deliveryToChannel property is defined in the Subscribe message - also creates a new AdHocChannel
object. That channel has the same filter and termination time as the new subscription. Upon completion of that activity the Provider emits a SubscribeResponse event message
which is received by the subscriber keep in mind that the invocation of an operation may be performed synchronously but also asynchronously. This completes the activity of the
subscriber.
6.3 Event Channels
– A Concept to Facilitate Subscribing for and Filtering of Events
In an Event Architecture, clients consume events when they are published to them – such
clients are called
event-driven
. The set of events available in an Event Architecture is sometimes called Event Cloud. Clients can tap into this cloud by subscribing to the
events they are interested in. Subscriptions thus narrow down the set of events that needs to be sent to and consumed by a client. Different subscription models exist
– OGC 09- 032 section 8.1.3.1 provides an overview of some of these models.
58
Copyright © 2010 Open Geospatial Consortium, Inc.
Subscriptions based upon event channels leverage one particular model that will be discussed in the following. As described in OGC 09-032 section 8.1.3.1.1, an event
channel can be compared with a TV channel – every news that is published on the
channel is received by all the clients viewing that channel. The advantage of this approach is the performance gain for event services and clients.
In OWS-6 and OWS-7, content based filtering of events was primarily performed. The Event Service parsed each incoming event and processed it according to the filter
statements of each existing subscription. Only events matching the filter criteria are published to the subscription’s consumer endpoint, the other events are discarded – see
Figure 25.
Figure 25: Event Service without event channels - subsetting of events only via content based filters
The more subscriptions exist that need content filtering the more processing time is required to handle each new event. An increasing amount of events can lead to an
overflow of the event service, meaning that the service cannot process all incoming events due to a lack of processing capabilities. Increasing the amount of available
processing resources through techniques like load balancing or cloud computing can solve the issue to a certain extent. A sophisticated Event Service may be able to apply
more intelligent event matching techniques, for example by determining if the filter criteria of a new subscription are similar comparable to an already existing one. Such
techniques are not easy to realize, though.