The Atom Syndication Format (RFC 4287) and the Atom Publishing Protocol (also called as AtomPub, RFC 5023) define resources such as entries and feeds, their representations, and a protocol to operate on those resources. Atom was designed with human-readable content such as HTML and plain text in mind. It works best for resources that are primarily text-based and intended for people to read such as blogs, discussion forums, commenting systems, etc. AtomPub describes semantics that allow clients to create and modify Atom-formatted resources. AtomPub also introduces service and category resources to aid application discovery.
Atom and AtomPub have been used for a number of application scenarios. Although Atom is used commonly for blog feeds, it is possible to extend this format to application data such as user profiles, search results, albums, and so on. For instance, Google Data Protocol APIs extend Atom for a number of Google’s products. Such usages bring up the questions of when using Atom and AtomPub is appropriate. Even when you find that Atom and AtomPub are not suitable for your web service, you may find using links, service documents, and supporting media resources and categories useful. This chapter presents the following recipes to help answer these questions: