Web Services war is over: Time to REST

15 Comments

Now that REST has won in the sense of representing the future of distributed application development on the web, what do we expect to see? Why of course a flood of enterprise software vendors offering REST support of some sort or another: Microsoft and IBM have already recognized the opportunity with Astoria and Project Zero, respectively.

By Anne Truitt Zelenka

In the recent past, supporters of the W3C’s web services standards (sometimes known as WS-*) have argued fiercely with supporters of an architectural style called REST over the future of distributed architectures for large-scale applications. Now some REST supporters contend that the war is over and that the web has won.

Nowhere was the war over REST (short for representational state transfer) and WS-* more passionately fought than within the Burton Group, an industry analyst firm that employed the most dedicated proponents on each side: Pete Lacey for the REST architectural style and Anne Thomas Manes for the WS-* group of standards. But in May of this year Manes asked, “So if WS-* is a tragic mistake, does that mean REST is the next big thing?” and answered with a “Perhaps so.”

REST is not a set of tools or standards or even a specific architecture. It’s a general style of distributed computing described by Roy Fielding, one of the authors of the HTTP specification. It finds its most common implementation in hypertext documents over HTTP — that is, on the web itself.

In a REST-style application, you make the application into a set of distributed, addressable, and navigable set of resources accessible via a uniform and minimal set of commands. Those commands (GET, PUT, DELETE, and POST in the case of the web) have certain properties allowing for scalability and safety over an unreliable network. This is exactly the architecture of the web itself: every resource has a uniform resource identifier, or URI, that uniquely names and locates it online. Resources (hypertext pages, images, processing capability, and so forth) are distributed across the web but connected via hyperlinks so that the whole web is navigable.

Theoretically, a REST-style application, relative to other distributed architectures, provides better scalability, interoperability, evolvability, and composability. But the REST approach currently is lacking in certain areas of security and tooling, and it doesn’t provide easy migration from existing enterprise application architectures, which have generally followed the basic model promoted by WS-*.

Even if REST won the war, however, that doesn’t mean that WS-* and related standards have become obsolete. WS-* is well supported by big vendors’ toolsets, offers a distributed application architectural paradigm that comfortably fits what many enterprise IT departments have been using for over a decade, and addresses security in a comprehensive way. WS-* is like mainframe computing: not gone, but not the future either.

Now that REST has won in the sense of representing the future of distributed application development on the web, what do we expect to see? Why of course a flood of enterprise software vendors offering REST support of some sort or another: Microsoft and IBM have already recognized the opportunity with Astoria and Project Zero, respectively.

Anne Truitt Zelenka is a writer, web technologist, and blogger. She serves as editor at large of Web Worker Daily.

15 Comments

Django

I think REST has it’s place, and can be useful. But for seamlessly integrating webservices directly into existing and new applications, I find SOAP to be a much better solution. Especially when not all of the data is just plain text.

Thomas

Does this mean that the programming community starts to realize that “it’s all about the data” and not the programming language? It doesn’t surprise me that a programming style that uses simple Database retrieval and modification mechanisms is winning. After all, what is Google but a giant database?

Nitin Borwankar

anon:

A resource is a result set item, i.e. a “row” in a result set – that’s all.
Aything that is received as a part of a result which is a response to a query, Yes, it’s abstract but so is “result set” and we don’t blink an eyelash when we hear “result set”, do we ?

anon

WTF is a “resource”? That’s the problem with REST. If I’m just doing “API calls” I have no idea what a “resource” is. I’m just GETing some data or POSTing some data and getting a response. There’s no reason to support such complex data models since at the end of the day, most data has to be represnetable in 2D or perhaps 3D.

Say it with me: request-response, request-response, request-response…

How hard is that?

Grant Czerepak

REST is the winner for simplicity. The security, if implemented with REST’s structure as a guiding principle, will have no impact on this.

Good article.

Anne Zelenka

Thanks, Pete, that means a lot coming from you. It was a lot of work to boil down the REST and WS-* discussion into such a short article.

I put in “theoretically” because I suspect that in building an actual REST-style application, engineers might have to make some tradeoffs that take it away from pure REST and compromise the scalability, evolvability, composability, etc. Be interested to hear real-world experiences in that regard though.

Pete Lacey

You know what I like best about this article, your description of REST is both concise and accurate. Very rare, indeed. I’d get rid of the word “theoretically,” but, hey, that’s just me.

  • Pete
stephanv

REST is truly a powerful way to design the applications for an enterprise 2.0. In our company we use it quite a while and it’s still easy to integrate new and other software within a short time. The open topic is it to combine the REST architecture with a new and simple way to define process steps. That finally would kill SOA.

Gleb Esman

I think it’s a war of simplicity of complexity. REST is very simple to use and in no time with rudimental tools anyone can put an active web service on the web.
Security of REST could be utilized easily with SSL and without any extra buzzwords or buzz technologies.
REST has never been at war – but was quietly winning :)

Gleb

Comments are closed.