WebDAV Notifications

Topic Last Modified: 2006-06-12

This topic applies to Exchange 2000 Server SP2 or later.

Notifications are a mechanism widely used in many systems for performing event-based processing. Event-based processing is useful in a Web-based document storage environment, because it allows a client to perform actions based on changes in the state of the server. These server state changes include updates to documents, movement of files, and the creation of new documents. If the server is mail-enabled, then these notifications may be used so that a client can process new mail. Notifications for these events can help a client to view information properly, refresh hierarchies, or inform the end user that the document was updated by another user.

Notification Methods

The following four methods are used for notifications: the SUBSCRIBE Method, the UNSUBSCRIBE Method, the NOTIFY Method and the POLL Method. When used together, they create a Web-based event model that clients can consume.

The process is initiated by using the SUBSCRIBE Method to create a subscription to a resource. This method is used to specify the details about the event to be monitored: where to look for it, how long the event should be monitored, what the notification mechanism is, and how long to delay before generating a notification of the event. When the SUBSCRIBE Method is sent specifying an existing subscription, it is used to renew the subscription. If a call-back subscription was specified, the server will use the NOTIFY Method to send a notification to the appropriate httpu address when events occur. Then, depending on which notification mechanism was chosen, the POLL Method is used to either acknowledge that the client has received and responded to a particular event, or to query the server for any events that may have fired.

This whole event process can be terminated in two ways: the subscription to a particular resource can time out, or the UNSUBSCRIBE Method can be used to cancel the subscription. The time-out mechanism allows abandoned subscriptions to expire, freeing up server resources that are no longer required. The UNSUBSCRIBE Method provides a mechanism for the client to remove a subscription manually when it no longer requires it.

Notification Types

There are several different events that can be monitored: deletes, moves, new mail, updates, and new members. Subscriptions for delete events will fire notifications whenever resources are deleted within the scope of the subscription. This does not apply to the removal of properties. Events for move subscriptions are generated when resources or collections are moved within the scope of the subscription. Update events consist of any change to resources within the scope of a subscription. All of the other subscriptions are a subset of the update event. New mail notifications are fired when mail arrives in the subscribed collection resource and new member notifications are generated when creating resources within the scope of the subscription. Together, these different events allow a system to monitor general changes to the state of the server and respond accordingly.