Tuesday, June 25, 2013

REST from the Horse's Mouth

While working on the next segment of my blog series on REST I decided to read Dr. Roy Fielding's thesis, and his blog Untangled and have had my whole perception of REST changed dramatically.

I like many people have perverted Dr. Fielding's work and am guilty of contributing to the confusion regarding REST. Feeding the buzz-word status of REST as the new hot architecture.

In Dr. Fielding's thesis the idea of architecture defined by constraints is emphasized, the constraints are the guides by which a system is built with the attributes exhibited by the architecture. In simple terms you can't pick or chose which constraints to follow, if you desire the attributes of rest in the systems you are building or refactoring but decided to ignore the constraints that REST requires on URIs then you will not be creating a RESTful system. Agile development methodologies are similarly bastardized, organizations that profess to be agile but refuse to adhere to certain aspects of agile development methodologies are not practicing agile. It is impossible to perfectly implement any series of constraints to but willfully ignore some constraints fouls the whole endeavor.

I will be stopping my series on RESTful web services until I have a better grasp of the constraints that guide the development of APIs with REST architecture. When I return to the subject I know that Pyramid will not be the focus of the series, Pyramid tightly couples to the HTTP protocol and a constraint of REST is that a REST API does not depend on a single communication protocol. A specific communication protocol can be mapped to a REST API via metadata, but the API cannot be coupled exclusively to the protocol. There is much to learn in the meantime, and will be going back to my previous posts and revising as I increase my knowledge.

No comments:

Post a Comment