|
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. 
|
|
Aug
Jun

 | | What Is This? |
This is where a blogroll would go if I took the time to maintain it.
|