(quoting Douglas Crockford)
You are at A, the service you are interested in is at B. So you send your query using HTTP GET or POST and wait for the response. Then you work either with an XML data structure or with a JSON data structure. Practically, they are almost always Turing-equivalent. To me as a developer it is way more important to have a forgiving API, an API that is based on the idea of agreeing to principles. Something like: this is a number (no matter if Integer, Long, Float, or Real). APIs are very likely to change over time. The less strong your typing, the less code you will break. The real challenge is bringing together sloppy web services (IMHO rather "good") and strict programming languages (IMHO rather "bad") like C# or Java. In the forthcoming months I will see what I can do about it.
You can edit this page on GitHub.