in Uncategorized

Atom Is Not SOAP

After reading Stefan’s agreement and Mike’s observation that Atom is "too widespread" in some cases, I can't help but add that, Atom isn't SOAP.

In order to build interoperable distributed systems over HTTP, there is no need for a general purpose envelope format other than what HTTP provides. HTTP gives us a format with representation metadata (i.e. headers) and a message body. That is as general purpose as we can get.

Write a Comment

Comment

  1. while you’re certainly correct that “Atom is not SOAP”, i prefer to look at Atom/AtomPub as a design pattern for RESTful services. as with all design patterns, they have limits and it is not always easy to say whether a given scenario is within or outside of these limits. but as long as your set of resources can be reasonably organized in collections with only secondary associations, Atom/AtomPub is a good pattern to consider. if your resources have more structure and the structure is inherent to the problem domain, then Atom/AtomPub may not be a good fit, or only as a general-purpose entry point to the resources you’re managing.

    generally speaking, we (as the REST-interested community) lack discipline in coming up with design patterns for REST and with good guidance on when to apply them and when to not apply them. i a looking forward to your book to include some guidance for that, it’s really needed.

    Atom’s popularity also is its curse: the more widespread it becomes, the more people will extend it, creating extensions with overlapping or even competing semantics. dealing with those will not be easy, and generally speaking, i agree that Atom-based services which critically depend on extensions usually are a bad idea. but if you point a generic Atom client (supporting the standardized extensions such as paging and licensing) at a feed and you GET some value out of that, then using Atom did deliver something useful.

  2. but if you point a generic Atom client (supporting the standardized extensions such as paging and licensing) at a feed and you GET some value out of that, then using Atom did deliver something useful.

    That is a great point. Folks designing Atom based representations should look through the eyes of a feed reader and measure the effectiveness of their design. If a feed reader is not seeing the essentials bits of the representation, then it is time to rethink.

  • Related Content by Tag