8 ms·
REST is over
- fsniper 15y agoIs this a sarcasm or what?
- icebraining 15y agoHave you read the actual blog post?
- nailer 15y agoI imagine he has, but hypermedia already generally means hypertext documents. JSON with some URLs in it (which I think the article means - but I'm not sure) is something very different.
- fsniper 15y agoYes sure I read it. But could not get what it means.
- icebraining 15y agoIt means "Nobody understands REST and it has been so misused that it has lost its usefulness as a term, let's create a new term for the original concept, a term that better reflects what REST really means". That term is Hypermedia APIs.
- kls 15y agoWhile the title is link bait, the author has a point and I think it was best summed up by his use of the word RESTish. Absolute adherence to REST nouns in every application is similar to the old over normalizing in relational databases some times it does not fit the need. But that does not make the concept null and void it just means that it is a good rule of thumb, to be broken when the situation calls for a different rule.
- icebraining 15y agoWhat do you mean by "REST nouns"?
- deleted 15y ago[deleted]
- kls 15y agoThis will go into detail far more than I can in a post. http://www.subbu.org/blog/2008/04/nouns-and-resources http://www.subbu.org/blog/2008/04/nouns-and-resources but the tl;dr is REST nouns are a construct in which you identify all of your objects in a system, these become your REST endpoints such as User in which you have GET, POST, PUT, DELETE each of these verbs causing a specific action on the object or noun. This works great for a large portion of the application but there are some areas such as transactions where it is very hard to logically turn the action into a noun and make it understandable. Sometimes we need the back end to orchestrate multi-step actions and the noun construct just does not convey the workflow. When this happens some people choose to use verb systematic such as generatePDF while still maintaining the REST HTTP actions while others tend to strictly adhere to making said process a noun which can effect readability.
- peterwwillis 15y agoTalk about bad branding. 'Hypermedia' sounds like something from a Gibson novel.
- earth2marsh 15y agoIt's still a better word than 'HATEOAS' (Hypermedia As The Engine Of Application State), which has to be in the running for worst acronym ever.
- AznHisoka 15y agoNo.. no.. no.. replace REST with SOAP, and I can go along with it.
- absconditus 15y agoWhy?
- Tichy 15y agoBecause it secures jobs.
- evoltix 15y agoI think the term "hypermedia" will catch on just like REST did. People will begin to slap on the hypermedia label to their APIs whether or not they are true hypermedia APIs. Developing hypermedia APIs will be the new craze until some other revolutionary terminology is introduced to describe yet another way to correctly develop APIs.
- stanleydrew 15y agoYes, this is how the world works. Some people push ideas forward. Others jump on for the ride. I fail to see a problem with this though. It's the job of those pushing the ideas forward to communicate effectively about what they are doing so that we can determine which followers are doing the right thing.
- bigtech 15y agoLooks more like REST 2.0.
- Tichy 15y agoFirst time I heard the term "hypermedia".
- icebraining 15y agoIt's in the first line of the REST chapter[1] of the original thesis: (...) Representational State Transfer (REST) architectural style for distributed hypermedia systems (...) Roy Fielding also talks about Hypertext[2], which means essentially the same (hypermedia being an expansion of the concept of hypertext). [1]: http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch... [2]: http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hyperte...
- motter 15y agoThere's also a good presentation here: http://www.slideshare.net/trilancer/why-hateoas-1547275 http://www.slideshare.net/trilancer/why-hateoas-1547275
- nailer 15y agoIt's from the 60s, when hypertext was invented: http://en.wikipedia.org/wiki/Hypermedia http://en.wikipedia.org/wiki/Hypermedia
- crazygringo 15y agoI'm sorry, but "hypermedia" is a terrible term. You might call a webpage a kind of hypermedia, but web API's accessed via HTTP? That makes no sense at all. Hypermedia is a huge umbrella term which describes content, not a means for sending and retrieving data!
- Craiggybear 15y agoHyper anything sounds terribly retro to me, circa 1992. But I agree: it is an uninformative term for anything which merely establishes a connection and sends/receives data as opposed to specifically delivering content. REST is just fine as it is. It is a well-understood term for what it does. Why reinvent the wheel and stick a new label on it every five minutes?
- icebraining 15y agoREST is well understood? The percentage of self-described REST APIs that actually respect its constraints is almost a rounding error.
- Craiggybear 15y agoWell, I'd probably agree with that. There are some truly bizarro API implementations.
- RickHull 15y agoSteve left out some context regarding what hypermedia API entails. I believe the essence of a hypermedia API is that the client does not construct URLs but instead follows links. Only the server constructs URLs, and the only URL the client should be aware of (that was not generated by the server and delivered in an HTTP response) is the initial URL.
- jmsduran 15y agoThe article is Ok, but posting "REST is OVER" is obvious flame bait. People need to stop doing this on HN.
- cgag 15y agohttp://www.youtube.com/watch?v=YlGqN3AKOsA http://www.youtube.com/watch?v=YlGqN3AKOsA
- virmundi 15y agoThe point is correct. Page 39 or 40 of the original thesis, if you get the PDF version, says that the goal of the thesis is to provide a mechanism to build hypermedia systems. This usage is key. The system that you make using REST needs to provide all of the "linking" ability within the response. It also assumes (Roy never defined what hypermedia is) that the content type is described somewhere, possibly in some standard like HTML spec. The reason that I bring this up, and have harped on this before, is that when most people design REST they are using HTTP + JSON. The problem is that JSON is not hypermedia. Hopefully it will not become hypermedia. As a result, the systems that are HTTP + JSON are not REST. They are RESTish, but not REST. I think that the terms really have value. That is the purpose of language. If we go about calling things that use POST or Get or PUT + JSON hypermedia, we can start to misapply the thoughts of the thesis. If we don't stick to the terms, we can not hope to properly understand the thesis' context and its fundamental goal of synthesizing lessons learned by Roy in how to design a better Internet infrastructure.
- icebraining 15y agoJSON is not hypermedia, but specific formats encoded as JSON can be. To clarify, "application/json" is not REST, but "application/foaf+json" can very well be.
- RyanMcGreal 15y agoSee, this is the problem with REST: just when you think you've finally grokked it and are building RESTfully, along comes yet another hurdle hidden behind the others. You're not really RESTful unless you also do X, where X is a seemingly infinite regress of progressively more pure necessary criteria that curve toward an asymptote. Seriously, why is it so hard to develop using a method that is supposed to make building web services easier? Please note that I'm not trolling: I have spent the past year and a half trying really hard to build RESTful web services, I see and have experienced the benefits of this approach, and I think I've been getting progressively better at it.
- kls 15y agoYou know what it reminds me allot of? MVC. MVC used to have a concrete definition in SmallTalk, Struts 1.0 adopted it fairly pure as well, but from there almost everything became MVC and MVC started to become a fairly generic term for separation of concerns. REST seems to me to be falling into the same trap where originally it was the HTTP actions, then nouns and verbs, now it seems to be expanding in scope again. In defense of the grandparent post though, REST never specified a data or for that mater media format. It could be JSON or XML or even a binary format like a bitmap but a lot of people that talk about RESTfull services talk about JSON which is not a requirement of the original REST concept. REST was more about how a resource was accessed, not what that resource is.
- jcurbo 15y agoI'm waiting for 'cybermedia' myself.
- firefoxman1 15y agoI have to say, the article itself was so abstract I hardly found it worth reading. I did, however, check out the book mentioned in this article. A nice paragraph from the foreword sort of defines hypermedia: "The World Wide Web is driven by hypermedia: the ability of a document to describe its possible states, and its relationship to other documents. Hypermedia is not just a way of making websites that average people can use; it’s a new style for distributed computing, powerful and flexible."
- RyanMcGreal 15y agoThese days, I've taken to calling them HTTP web services (as opposed to RPC over HTTP).
- BerislavLopac 15y agoThese days? That's what we called them in 2001. ;-)
- nemik 15y agohttp://bikeshed.org/ http://bikeshed.org/ when you cannot think of any other way to improve something, suggest a name change!
- wooptoo 15y agoThe author of this blog post is either confused about the subject or doesn't know how to express his thoughts. This article from Roy Fielding is much better: http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hyperte... The comments are also helpful.