a pointless exercise

2011-05-04 @ 13:23#

"Judging an app based on what REST constraints it supports ... is a pointless exercise."

Measuring REST - @sallamar

do me a favor; read the above blog post before continuing; it's short and to the point.

It is my experience that too often people confuse judging RESTful-ness w/ judging usefulness for a particular use case. It is easy to see that blindly following a prescription w/o understanding it's meaning, use, and implications can lead to a great deal of trouble. In this regard, I find my self in agreement w/ Subbu.

[I]t is possible to evaluate and compare different architectural designs by identifying the constraints within each architecture, evaluating the set of properties induced by each constraint...

Evaluating the Design of Application Architectures - Roy T. Fielding

While I would agree that it is a mistake to assume that an implementation that adheres to the Fielding's REST constraints is automatically the right implementation for a given task, I do not accept the assertion that the very act of assessing an implementation's adherence to a set of constraints (per REST, C2, etc) is "a pointless exercise" or "silly."

I encourage people to dig deeper into Fielding's work (and others); to gain an understanding on why, for example, Fielding selected the constraints he offers for his model example (REST). I think it is important to achieve insight into the assertions Fielding makes on the importance of identifying "Architectural Properties of Key Interest" and how these properties relate to an identified set of constraints.

Is "passing judgment" on the value of an implementation based only on it's adherance to the set of constraints idenfitifed in Chapter 5 of a ten-year-old PhD dissertation "pointless"? Probably.

Is assessing the compliance of an implementation that claims|attempts RESTfulness "pointless"? Absolutely not. And this is especially true when the person doing the assesment is the one trying to learn more about now architectrual properties and constraints interact.