Tuesday, 24 June 2003
Bees and Ants
The W3C Semantic Web wiki has an entry called ‘BeesAndAnts’ that very effectively conveys something that I’ve been trying to articulate for a while (and, as usual, failing). It’s not about the Semantic Web in my mind, so much as it’s about REST and Web Services (which means that there’s something to this Web architecture stuff yet, I think).
Many people are approaching Web services as bees; you expose an API, do some dancing and you get interoperability. In my opinion, this is wrong - it doesn’t scale (the most damning and vague of technical criticisms), and it doesn’t provide the ease of use that Web services advertises; it forces everyone to think of the world as behaviours of things that have identity.
Behaviours are, by their nature, hard to characterise; it’s much easier and more concrete to talk about artifacts - i.e., the embodiment of state, with discrete identity. There’s still a need for bee dances (aka HTTP POST), of course, but ignoring the ability to change state in your environment just doesn’t make sense.
I think a large number of Web services people “in the know” are actually quite sympathetic to this approach, and want to design things so that we can leverage the existing Web infrastructure as much as possible. The problem is that many, many people still think of Web services as nothing but “RPC-using-XML-over-HTTP.” And that’s wrong for so many reasons.