Chapter 8. Atom Publishing Protocol

IN THE PRECEDING CHAPTER WE LEARNED ABOUT ATOM, a hypermedia format for publishing timestamped lists of web content. We then successfully applied that format to creating an event-driven system, typical of both enterprise and Internet computing, where events published by one system as an Atom feed were consumed and processed by downstream systems.

In this chapter, we’re going to look at Atom Publishing Protocol (AtomPub), a protocol that is built on top of Atom, and which is used for publishing and editing web resources.[86] As a publishing protocol, AtomPub provides a standard mechanism for creating and editing resources, and resolving any arising conflicts. AtomPub extends the Atom format with a number of new publishing-related elements; at the same time, it specifies the HTTP idioms that can be used to manipulate published content.

Once we’ve understood AtomPub, we’ll look at how it can serve as a foundation for our own domain application protocols. In the second half of the chapter, we show how Restbucks built an order fulfillment protocol and service atop AtomPub.


In Chapter 5, we used custom domain application protocols. AtomPub is a general-purpose domain application protocol, which is widely understood and supported by many software tools.

Atom Publishing Protocol

Resources can be created on or off the Web. Resources that are generated by a backend process inserting a row in a database table are created off-Web. Atom Publishing Protocol, ...

Get REST in Practice now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.