Erik Wilde on Services and APIs

Atom Landscape Overview

Atom and the Atom Publishing Protocol (AtomPub) will become one of the most important methods for information management on the web, and this trend has only started. AtomPub turns Atom into a read/write technology, which makes it much more powerful and widely applicable. it also adds features such as service discovery and category descriptions to Atom. the core documents have been published as RFCs:

RFC 5005: Feed Paging and Archiving defines three types of syndicated Web feeds that enable publication of entries across one or more feed documents. This includes paged feeds for piecemeal access, archived feeds that allow reconstruction of the feed's contents, and feeds that are explicitly complete.

Web Linking moved link relationships that previously had been defined statically in standards such as Atom and AtomPub to an IANA registry of link relations, thus allowing new link relations to be defined and discovered in a standardized and managed place. The following RFCs are relevant link relations from the Atom/AtomPub point of view:

RFC 5988: Web Linking specifies relation types for Web links, and defines a registry for them. It also defines the use of such links in HTTP headers with the Link header field.

RFC 5989: A SIP Event Package for Subscribing to Changes to an HTTP Resource; The Session Initiation Protocol (SIP) is increasingly being used in systems that are tightly coupled with Hypertext Transport Protocol (HTTP) servers for a variety of reasons. In many of these cases, applications can benefit from being able to discover, in near real-time, when a specific HTTP resource is created, changed, or deleted. This document proposes a mechanism, based on the SIP Event Framework, for doing so.

RFC 6573: The Item and Collection Link Relations; RFC 5988 standardized a means of indicating the relationships between resources on the Web. This specification defines a pair of reciprocal link relation types that may be used to express the relationship between a collection and its members.

In addition to existing standards, several Atom and AtomPub extensions are currently under development, here are the active ones:

draft-rsalz-atom-adv-sec: Advanced Security Processing for Atom and APP Documents states that the Atom and APP specifications specify simple uses of cryptography to sign and encrypt their documents. Each document is processed completely, and in isolation. The draft specifies additional uses that enable selective protection or encryption of content, and allows a "trust path" to be created across "atom:link" elements.

draft-wilde-atom-profile: Profile Support for the Atom Syndication Format states that Profiles are one way how Atom feeds can indicate that they support specific extensions. To make this support visible on the media type level, this specification adds an optional "profile" media type parameter to the Atom media type. This allows profiles to become visible at the media type level, so that servers as well as clients can indicate support for specific Atom profiles in conversations, for example when communicating via HTTP. This specification updates RFC 4287 by adding the "profile" media type parameter to the application/atom+xml media type registration.

the following drafts seem to be abandoned (at least the I-D documents are expired), but this does not necessarily mean that they will not be re-published at some point in time:

my goal is to keep this collection of Atom-related specifications and standardization activities up-to-date and announce any changes to it on my blog, so if any of the information looks outdated, or something is missing, please let me know! thanks!