Re: How much REST should your Web API get?

mike amundsen <[email protected]>
Newsgroups gmane.comp.web.services.rest
Message-ID <CAPW_8m4ERhPFR0L6KPo36EQXSMOwGKFmiDODCBuMVRz3NuRdQg@mail.gmail.com>
Jan:

yep - most of us are focused on getting an instance up and running. going
through the conscious work of wolking through a methodology for selecting
properties, requirements, and constraints doesn't happen. like so many
other things in life, we fall back on what we know, mental shorthand, past
experience, and rely on short-term execute/eval loops[1] to get the job
done as efficiently as possible given the time allotted.

also, Fielding points out that the abstraction of architectural styles (not
just one, but the category of all of them!) is two abstractions away from
the implementation[2] and that's one too many abstractions for most folks
to deal with.

anyway, back on point, I think Jerome makes a solid point here. My POV is
to step back (or up, if you like), ask what requirements you REALLY have
(low-barrier to entry for API devs), what properties you REALLY want to
induce (fast  build & release cycles), and what constraints you need to
impose in order to get the properties that meet the requirements
(convention over configuration constraints, etc.).

FWIW, another Q i ask clients is "what are we optimizing for?" for example
do we want to optimize first for runtime experience? user experience?
design-time experience? developer experience? governance experience? while
we may want all, what are the priorities here? (e.g. writing in assembler
can improve runtime experience, but is hell on dev experience!).


[1] http://www.it.bton.ac.uk/staff/rng/teaching/notes/NormanGulfs.html
[2] http://www.amundsen.com/blog/archives/369

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 8:18 AM, Jan Algermissen
<[email protected]>wrote:

>
> On 02.05.2013, at 13:58, mike amundsen <[email protected]> wrote:
>
> > 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.
>
> +1, well put.
>
> What continues to shock me is that the "UC Irvine School of Software
> Architecture" (building upon Garlan/Shaw and Perry/Wolf) seems to be
> completely unknown to the vast majority of people studying (and working) in
> the field of software in general. Why is that not part of software
> engineering 101 courses all over the world?
>
> The same goes for the idea of "principled design", namely that design
> decision should be driven by purpose instead of being ad-hoc. Your call for
> more detailed requirements (aka "properties of key interest") illustrates
> that.
>
>
>
> Jan
>
>
> >
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.