• The point of my web services ramble

    • Yesterday, I rambled at length about web services as I've played with them thus far. I kind of ran out of steam before I got to the eventual point.

    • Here are some of the cliff notes:

      • If you're going to do RPC-over-web, you might as well use XML-RPC.

      • SOAP is a failure, in my experience. It took the good bits of XML-RPC and rocketed off into space with architecture astronauts at the helm. Others have detailed this much better than I have or will.

      • In POX, the pattern of HTTP GET query parameters and XML response is fairly well trodden. But, you still need to build a bespoke handler for each service's XML - as opposed to XML-RPC's easy path straight to native scripting language data structures.

      • Unlike POX-style APIs, XML-RPC at least gives you some convenient reusable abstractions on parameter and return value marshalling without requiring you to cobble up a bespoke client library every time.

      • Of course, neither straight POX nor XML-RPC offer an easy way to reusably do authentication, error handling, or much else beyond function calls.

      • POX can use HTTP error codes and authentication, but often doesn't use either.

      • XML-RPC offers an exception mechanism, but stops at the point of offering advice of what to do with it - which is fine, really, because anything can happen when you call a function. Authentication, though, usually boils down to a couple of extra parameters on every call. That's serviceable, but I think could be better.

      • But in any case, bespoke solutions make it hard to develop reusable abstractions and conventions.

    • So, that brings me around to REST - which I think has an answer to just about all of the other styles' problems. More on that soon.

  • Off to get some lunch with the girl, then maybe I'll finish this line of thought and think about bundling it up into a more coherent blog post.

  • Also, thanks for bearing with me, if you're reading this rambling. :)

  • Hello world. It's Saturday morning Star Trek rerun time.