DefiningImageAccess/Standard/WebEventDelivery

From ImageWeb

Jump to: navigation, search

Contents

Web Event Delivery

This page surveys frameworks for delivering asynchronous events to web-based applications, and more broadly on the Internet.

Notifications look set become an important element of many kinds of web and internet application, as the list of use-cases may illustrate.

Use cases

Many of these use-case are very similar, but they are listed separately where they have given rise to separate proposals for event delivery, in no particular order:

Related specifications

Other links

Personal notes elsewhere:

Recurring technical themes

These are some technical themes that seem to be recurring in technical designs for event distribution.

  • Publish/subscribe framework
  • Hierarchical endpoint identification schemes

Technical questions

Can there be a universally applicable model for events? What is the minimum that can work for all applications?

My view of an minimal event model has:

  • an event type (which may be an arbitrary URI)
  • an event source (which may be an arbitary URI)
  • an arbitrary event payload whose structure is determined by the event type - i.e. an application that knows about a given event type knows how to validate and decode the event payload. Some event types may have no payload.
  • the model should be one that allows lightweight direct implementation, and that can also be conveyed using existing event delivery protocols such as XMPP or SIP or SMTP.

For event propagation, I see the following requirements:

  • event notifications can be propagated between nodes (routers), which may be in different administrative domains
  • event subscriptions can be propagated to the appropriate source(s)
  • propagation mechanisms have loop-prevention mechanisms: cross subscription to a given event type may be a common requirement.

Commentary

In 2004, there was a profile specification submitted to the IETF for using this to distribute WebDAV notifications, but the proposal seems to have sunk for lack of interest. It was raised for discussion as late as 2006. An old copy is here: http://www.xmpp.org/internet-drafts/attic/draft-hildebrand-webdav-notify-00.html.

The uPnP eventing specification is GENA:

The base specification for GENA was submitted as an IETF Internet Draft in 1999, but was not taken up in the IETF:

Microsoft continued with it as part of their uPnP effort:

Currently, the specification link on the Microsoft site is dead - I don't know if this is because Microsoft's effort in the area has fizzled out. GENA is still mentioned all over Microsoft's uPnP documents, so it's difficult to tell.

GENA uses new HTTP commands to implement a publish/subscribe framework for event distribution over HTTP. Because these are new commands, and there does not appear to be a current open specification, the fact that it involves HTTP enhancements means that deployment may be very limited, compared with, say, a proposal that works over currently deployed protocols - e.g. see cometd, which implements the Bayeux framework over standard HTTP.

Personal tools
Oxford DMP online
MIIDI
Claros