October 07, 2004
Are interfaces necessary for web services?
So last night Pete, John and I went over to check out Technorati's web service offering at their hackathon. One interesting question that came up for me is, "are interfaces necessary for web services." If you take a look at technorati's offering of queries they essentially paramatrize a url and then return an xml document. This is a very straightforward way to query their data. However they don't expose any WSDL (or even SOAP). Does that matter? I think for a v 1.0 service it doesn't. Maybe you need a little more documentation to get your service off the ground, and you can't use any generic client tools like .NET or JAX-RPC, to work with it. This could limit your user base. In practice, for popular services it doesn't seem to limit your popularity because nice developers tend to write language specific bindings for your service in Python, Perl, Java etc. This seems like an easy quick way for sites to get off the ground providing a broad set of query methods.
There are some drawbacks however to not having a WSDL and to not using SOAP. (1) You are bound to HTTP; (2) If you version the contract how do you notify your clients? (3) Related to 1, no SOAP Headers; (4) No public contract other than your documentation.
Posted by Chris at October 7, 2004 04:31 PM
(5) Quickly becomes a royal pain as soon as you need need complex parameters.
Posted by: Patrick Calahan at October 11, 2004 05:26 PM