Are RESTful Web Services really RESTful APIs?

| by Mark Little on Mar 20, 2011. Estimated reading time: 2 minutes |

Recently Leonard Richardson, co-author or RESTful Web Services, has been wondering why people no longer appear to be referring to Web Services anymore ...

[...] I noticed that nobody uses the term "web services" anymore. Everyone talks about "APIs"

Now it is stretching things to say that "nobody uses the term" any more, when in fact there are still lots of occurrences, ranging from Cloud and mobile, through Cloud IDEs and including Social Networking. But Leonard's point is that the term is perhaps not being used as much as it once was.

The change I noticed is just that the terms used to be used interchangeably, and now "web service" has pretty much died out. When I say "web service" people know what I'm talking about, but I feel like I'm speaking out of a phrasebook, or doggedly saying "free software" in an "open source" world.

He wonders if this subtle change is indicative of something more fundamental and important going on within the industry? It is also true that the term "web service" used by REST proponents was never the same as the SOAP use of the same words. So is this something that is applicable only to the REST community? Is the apparent drop in use of the term in the SOAP community simply tied to the apparent downturn in the use of WS-*?

But Leonard wonders if this change is a problem?

[I believe] that there's a reason people might have stopped saying "web service" around 2007, but that using "API" as a generic term leads to products that are worse than they could be [...]

So is it really true that the term "web service" is dying out and being replaced by "API"? If so, why and what are the potential implications? Does this lead to poorer implementations due, presumably, to confusion arising around the term "API" as it applies to the Web? As one of the commenters on his original article states:

My understanding is that APIs don't self-describe. Obviously not all web services do either, but at least there exist standardized formats dedicated to description. As an anecdotal data point, though, we had a client hire us recently to write an app using their web service (not their API). It's SOAP, baroque and hideous, which probably has something to do with why they call it that. But I've certainly seen plenty of sites boasting about their APIs in the wild.

So it's obviously not so black and white. But is there something going on within those shades of grey?

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

extreme case formulations; normalisation by Gerald Loeffler

Firstly, i take issue with extreme case formulations like "nobody uses", "died out", "stopped saying [...] around 2007": it's obviously not like that, so why overload one's message by taking it to the extreme?

Secondly, if indeed "API" is being used more often in places where "web service" used to be (and i don't know if it is) then i think this just shows a different perspective on the same problem and a normalisation of the use of web services as a technology and architectural style:

In many discussions it's just not terribly interesting or relevant that an API is implemented in terms of web services: it's analogous to the shift from using the term "class library" to, well, "API". And for the cases where it matters (say in discussions of WS-* vs CICS ws REST ;-) i'm sure that the more specific terms are being used.

I don't think there's anything more significant going on than the establishment of a normalised canon of technologies and architectural styles, with "web services" being an established element of that.


Re: extreme case formulations; normalisation by Boris Lublinsky

This once again shows how freely we are using terms that technically make no sense.
Web Services, for example, is a technology and as such can't have APIs, no can they be replaced with the term API, which according to Wikipedia "is a particular set of rules and specifications that a software program can follow to access and make use of the services and resources provided by another particular software program". The services, that are exposed using Web Services technologies, on another hand, can have APIs implemented using Web Services technology.
Another example is RESTful Web Services. Here there is even more contradiction of term. First Web services is a specific technology (typically associated with SOAP), which has nothing to do with REST, second - REST has nothing to do with services.
So how can we seriously use these terms?

Re: extreme case formulations; normalisation by nina j

The change of term usage pattern may be related to shifting the focus from a technology (web services) to the functionality (application programming interface). APIs have existed long before networked services, but then the meaning of the term was closer to a "library of function calls" (e.g. OpenGL API).
Now the internet connectivity is almost taken for granted, and the focus is not anymore on "how the services are offered" (via web protocols), but what do they offer (application functionality).

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

3 Discuss