Re: How much REST should your Web API get?

mike amundsen <[email protected]> Thu, 2 May 2013 17:49:52 -0400
Newsgroups gmane.comp.web.services.rest
Message-ID <CAPW_8m7tLa6cnnx1-118Ka3J+RDzOLsZ2+63ET3qyP+BbqmZLg@mail.gmail.com>
<snip>
I want to make clear that I don't think a second that REST has failed in
any sense for what it was designed for, it is just not fully suited to the
Web API space.
</snip>
yeah, i was generalizing and characterizing and that's a bummer. you never
used the "failed" meme at all. sorry 'bout that.

<snip>
I'll continue working on this formalization (requirements, properties,
etc.) as suggested, following the full "Taylor School" approach, via this
project:
https://github.com/restlet/web-api-style
</snip>
i think this is cool and already added the repo to my watch list!

thanks for sharing.



mamund
+1.859.757.1449
skype: mca.amundsen
http://amundsen.com/blog/
http://twitter.com/mamund
https://github.com/mamund
http://www.linkedin.com/in/mikeamundsen


On Thu, May 2, 2013 at 5:44 PM, Jérôme Louvel <[email protected]> wrote:

> Thanks Mike for the constructive feed-back.
>
> I want to make clear that I don't think a second that REST has failed in
> any sense for what it was designed for, it is just not fully suited to the
> Web API space.
>
> I'll continue working on this formalization (requirements, properties,
> etc.) as suggested, following the full "Taylor School" approach, via this
> project:
> https://github.com/restlet/web-api-style
>
> Thanks,
> Jerome
>
>
>
> 2013/5/2 mike amundsen <[email protected]>
>
>> TL;DNR
>> - It's good to see some thinking about whether/how a single example arch
>> from over a decade ago maps to needs of current Internet apps.
>> - I think the approach in the blog post strays too far into a critique of
>> assumed failures of X and attempts to "fix that" w/ mods to get X-prime
>> - I'd like to see more work on using the "Taylor School" approach to
>> modeling software arch (Properties/Qualities, Requirements, and Constraints)
>>
>> details for those who care...
>>
>> GOOD IDEA
>> First, I like the general idea of crafting a style that meets the demands
>> of the local use" cases instead of just adopting a style based on fad. Of
>> course, that is the exact message of Fielding's dissertation:
>>
>> "...consider how often we see software projects begin with adoption of
>> the latest fad in architectural design, and only later discover whether or
>> not the system requirements call for such an architecture.
>> Design-by-buzzword is a common occurrence." [1]
>>
>> IMO, It's a bummer that so many ppl treat Fielding's Chapter 5 as a
>> solution instead of an example.
>>
>> A METHODOLOGY
>> I also like Fielding's approach of keeping properties[2], requirements
>> (of the Web)[3], and constraints[4] in clear separate categories. IME, they
>> are all needed in order to craft a clear software architectural style. Too
>> much has been written about the last one (constraints) and not enough about
>> the first two (system properties and requirements). I am guilty of this
>> myself.
>>
>> With all that as pre-amble, my primary comment on your blog post is that
>> I'd like to see more narration on the requirements you wish to meet (I see
>> some of this in the final section, I think). I'd also like to see the
>> properties that meet those requirements (I can't really identify examples
>> of that in your blog post right now). Finally, I'd like to see a list of
>> constraints to adopt in order to induce the properties that meet the
>> requirements.
>>
>> A RANT
>> IMO, after so many years of what I loving call the "UC Irvine School of
>> Software Architecture" or maybe the "Taylor School[6]", I am disappointed
>> that not more ppl talk about the general approach of identifying and
>> implementing "named styles." With luminaries such as Rohit Kahre[7], Roy
>> Fielding[8], Justin Erenkrantz[9] (to name just a few of the recognized
>> folks), Taylor's approach seems to incubate some incredible thinking in the
>> field of software architecture that we can all (I think) learn from and
>> consider emulating.
>>
>> I think this is a good start, but much more can be done to identify the
>> desired properties and selected constraints that would result in an arch
>> style that matches a set of clear requirements. Let's see more!
>>
>> Cheers.
>>
>>
>> [1] http://www.ics.uci.edu/~fielding/pubs/dissertation/introduction.htm
>> [2]
>> http://www.ics.uci.edu/~fielding/pubs/dissertation/net_app_arch.htm#sec_2_3
>> [3]
>> http://www.ics.uci.edu/~fielding/pubs/dissertation/web_arch_domain.htm#sec_4_1
>> [4]
>> http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm#sec_5_1
>> [5] http://www.isr.uci.edu/
>> [6] http://www.ics.uci.edu/~taylor/
>> [7] http://en.wikipedia.org/wiki/Rohit_Khare
>> [8] http://en.wikipedia.org/wiki/Roy_Fielding
>> [9] http://en.wikipedia.org/wiki/Justin_Erenkrantz
>>
>>
>> mamund
>> +1.859.757.1449
>> skype: mca.amundsen
>> http://amundsen.com/blog/
>> http://twitter.com/mamund
>> https://github.com/mamund
>> http://www.linkedin.com/in/mikeamundsen
>>
>>
>> On Thu, May 2, 2013 at 7:24 AM, jerome.louvel <[email protected]>wrote:
>>
>>>  After living with REST for 10 years and introducing in 2005 the first
>>> REST framework for Java (http://restlet.org), I felt that by pushing
>>> REST too far we are just trying to make it solve problems it was designed
>>> for in the first place.
>>>
>>> In this blog post, I tried to formalize a "Web API" architecture style
>>> and contrast it with REST, then introduce the idea of cross-device web
>>> sites as wrapping the power of both styles:
>>> http://blog.restlet.com/2013/05/02/how-much-rest-should-your-web-api-get/
>>>
>>> Interested in hearing what you think!
>>>
>>> Best regards,
>>> Jerome
>>>
>>> PS: sorry for those also following the "API-Craft" mailing list, but the
>>> topic is right at the crossing of both communities.
>>>
>>>
>>>
>>> ------------------------------------
>>>
>>> Yahoo! Groups Links
>>>
>>>
>>>
>>>
>>
>