Atom Makes a Better WFS

As many of you know, I’m a big fan of Atom, including both the syndication format and publishing protocol. At Foss4g, I gave a talk that argued that Atom offers a better solution for exchanging geographic information than OGC’s Web Feature Service (WFS) standard.

If you’re interested in learning more, I’ve finally put my slides online in a Web friendly format. If you’re interested in just the quick summary, it goes like this.

WFS is not designed for the web:

  • Its lack of URIs means no linking, page rank, etc.
  • Its proprietary interface requires custom clients that are tightly coupled to servers
  • Its incorrect use of HTTP as a transport protocol throws away the benefits of the web infrastructure (caching, load balancing)
  • Its lack of a common GML schema causes information to be segregated by organization, industry type, problem domain

The result is there is no serendipity (pdf file) with WFS – just think of how many WFS mashups you see.

In contrast, Atom is designed for the Web:

  • Everything has a URI
  • It uses a standard interface based on HTTP
  • It uses standard formats
  • It has full support for linking and therefore session state
  • Atom fully utilizes the Web’s infrastructure

The result is that Atom is designed for serendipty – allowing clever developers to build new, and unexpected, applications. And as I said earlier this year:

Atom offers a great foundation for building web services. Its a no-brainer to see that Atom will blow away the WS-DeathStar (which is a mocking tribute to the mountains of specifications that IBM, Microsoft and others have generated for defining web services).

But I think Atom will go farther – it will become the lingua franca of Web Services just as HTML is the lingua franca of the Web.

In my opinion OGC should extract the spatial specific parts of WFS (a suprisingly small part of the specification) and rewrite it as an Atom extension.

  1. Sean Gillies
    November 6, 2007

    And another big geographic service (OpenSocial) is launched without WFS-T.

  2. Todd Y
    November 6, 2007

    Great post and slides, thanks for sharing, I found them informative.

    Any thoughts on Atom + KML? The KML 2.2 spec has some elements of Atom in it I’ve noticed, but not sure if it is done in a way that fully leverages Atom.

  3. Norman Barker
    November 7, 2007


    I am between two camps, show me a Atom demo with OS Mastermap (GML) and the change only updates between servers (WFS-T) and it might help me make my mind up 🙂

    I am enjoying the debate though.

  4. Chris J
    November 7, 2007

    Thanks, Charlie. This was enlightening. I tracked the development of Atom early-on, then lost time/interest. It’s nice to know folks like you have found a great use for it in GIS. I’m very interested in following it now!

  5. Charlie
    November 9, 2007

    Hi Todd,

    Seems like there are two use cases here.

    The first one is use Atom Pub for an API, Atom for the container and then embed KML into that (the same as you would do for GML).

    In the second case, you’re just using KML. So there is no API part and no need for a syndication format. KML borrowing some Atom elements is nice and all, but I’m not sure I see much point to it (in contrast, embedding KML into Atom seems a lot more useful, but then you are back to case #1).

  6. Charlie
    November 9, 2007

    Hi Norman,

    For MapBuzz were updating maps with using AtomPub + Atom + GeoRSS.

    I’m not sure there are any examples of AtomPub + GML (or AtomPub + Atom + GML) so its a theoretical discussion. But as my slides discuss, I think that’s a better route than the current WFS + GML.

    So sorry, no examples yet.