David Treadwell in his news and updates on the Live Platform Services, announced that Microsoft is unifying its developer platform protocols for services on the open, standards-based Atom format (RFC 4287) and the Atom Publishing Protocol (RFC 5023). Adopting the standardized Atom Publishing Protocol is in line with Microsoft's  new interoperability principles.

The Atom Publishing Protocol (AtomPub or APP) is a simple HTTP-based protocol for creating and updating web resources. AtomPub builds on top of the  Atom Syndication Format, an formalizes many of the mechanisms required for the exchange of rich and meaningful content via a process known as Representational State Transfer - REST.  

There are new Live services with AtomPub endpoints which enable any HTTP-aware application to easily consume Atom feeds of photos and for unstructured application storage. You can also use any Atom-aware public tools or libraries, such as .NET WCF Syndication to read or write these cloud service-based feeds.

AtomPub will also be supported in ADO.NET Data Services ("Project Astoria"). See Pablo Castro's post about APP support in Astoria.

Therefore, it's important to understand the fundamentals of Atom Publishing Protocol (AtomPub) if you want to leverage services offered by Microsoft on the Web. Many Web 2.0 sites as well, now implement AtomPub.

What is AtomPub?

An application-level protocol for publishing and editing Web resources using HTTP and XML.

The AtomPub Model

AtomPub operates on collections of Web resources. All collections and their resources support the same basic interactions. The interactions are based on the common HTTP verbs.

  • GET is used to retrieve a representation of a resource or perform a read-only query.
  • POST is used to create a new, dynamically-named resource.
  • PUT is used to update a known resource.
  • DELETE is used to remove a resource.

What can be done with AtomPub?

  • Ask the server for a list of available resources.
    • Collections “folders” or “directories”
    • Entries e.g. blogs or web pages
  • Request the server to perform CRUD (Create, Read, Update, Delete) operations.

Learn more about the Atom Publishing Protocol here