URL Subscription Architecture
The URL Subscription Architecture (URLSA) is an open system for subscribing to frequently updated digital content on the web, such as blogs, news stories, and private conversations. It was designed as an alternative to RSS that supports social subscribing, private subscriptions, and rich content.
URLSA users can subscribe themselves and other users to the URL of some content and, once subscribed, are notified when the content at that URL is updated. Users typically maintain a list of subscriptions to everything from news stories to conversations. The architecture allows users to generate private content, such as a conversation or a photo album, on the fly and subscribe other users to it. The fact that URLSA is a content-less architecture, that users subscribe to the URL of the content rather than the content itself, means that virtually any type of content that is addressable by a URL can be made subscribable.
URLSA specifies a strict protocol of behavior to be followed for creating, updating, and cancelling subscriptions. This is in contrast to RSS, which is a data format.
Architecturally, URLSA activity happens between two types of independent applications, Subscription Managers, which host user accounts, and Content Providers, which provide subscribable URLs. They interact mainly via a set of well-defined web service calls.
When a user subscribes to a URL, his Subscription Manager contacts the URL’s Content Provider and establishes the subscription. A URLSA user can also subscribe another user to a URL, assuming the subscribing user has been given permission. When a user subscribes someone else to a URL, their Subscription Manager contacts that user’s Subscription Manager and initiates the subscribing mechanism on behalf of that user. While a user is subscribed to a URL, the Content Provider can notify him of updates of the content at the URL. When an update happens, the Content Provider immediately pushes a notification to all users subscribed to the URL. At any time, the user may unsubscribe from the URL, at which time the updates cease.
All interprocess communication in URLSA is conducted via web services, with the exception of updates, which are transmitted as UDP datagrams for reasons of efficiency.