Ad Hoc Event Channels

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.