Can we be a little scientific about this discussion?

Roy stipulates [1] the derivation of REST as:

Style = nil
Style += Client/Server
Style += Stateless
Style += Caching (optional)
Style += Uniform Interface
Style += Layered System
Style += Code on Demand (optional)

So long as the architecture of your system falls within these
constraints, your system can be considered RESTful. If your system
breaches a constraint, it is isn't RESTful. There is no such thing as
'partially' RESTful [2] which doesn't mean that you can't relax the
constraints [3] just don't call the resulting system RESTful.

In my experience, the most frequently breached constraint in
non-trivial systems is statelessness. The next most-often breached
constraint is the uniform interface. This is entirely anecdotal.

I don't have any numbers, but what is needed to clarify this
discussion is an estimate of the number of systems without breached
constraints.

I have no idea which side of the current discussion this assists (if any).

Regards,
Alan Dean

[1] http://tinyurl.com/56nrp8 (slide 40 onwards)
[2] http://tinyurl.com/5e4ghv
[3] http://tinyurl.com/6kojzx
[see also] http://tinyurl.com/6qgcat
[see also] http://delicious.com/alan.dean/rest+roy.fielding

On Wed, Dec 3, 2008 at 8:32 PM, Steve Jones <[EMAIL PROTECTED]> wrote:
> 2008/12/3 Nick Gall <[EMAIL PROTECTED]>:
>
>> On Wed, Dec 3, 2008 at 3:50 AM, Steve Jones <[EMAIL PROTECTED]>
>> wrote:
>>> Firstly I didn't write that slide (a chap at work called Ben Scowen
>>> did) because I wanted to make sure I got a REST fan writing stuff
>>> rather than a REST cynic, I'll pass on your comments.
>>
>> Somehow I had a feeling that someone other than you wrote that bullet.
>>
>>> Secondly the WWW is the biggest RESTful system out there... BUT as I
>>> said in the voice over the majority of the Web _isn't_ implemented as
>>> a REST. In theory WWW is _all_ RESTful but in practice it isn't (e.g.
>>>
>>>
>>> http://www.heartratemonitor.co.uk/hrmselector/comparisontable_search_form4.php
>>> should be a straight parametrised GET but is a POST and the "Search
>>> Again" doesn't include the previously selected elements).
>>
>> I wholeheartedly agree that most websites that comprise the WWW aren't
>> implemented in a fully RESTful way. We can leave the debate regarding what
>> percentage for another day. My point is that even if the "vast vast
>> majority" of websites aren't fully RESTful, that still means that
>> some (perhaps tiny) percentage of websites are fully RESTful, and a
>> somewhat
>> greater percentage (but perhaps still a small minority) are at least
>> partially RESTful. I think we agree on this (see below).
>>> My point in the discussion with Mark is that most people (the vast
>>> vast majority) do not implement Websites in a RESTful way, even though
>>> WWW is inherently RESTful by its Fielding definition.
>> Again, no need to quibble about percentages, for the sake of the point
>> I'll
>> make below, let's agree that the "vast vast majority" of people do NOT
>> implement websites in a fully RESTful way. But let's also agree that at
>> least some tiny percentage DO implement websites in a substantially or
>> wholly RESTful way.
>>> Not really a contradiction its a question of theory v practice, in
>>> theory Mark is right, in practice I am ;)
>>
>> Ahhh... but there still is a bit of contradiction left. Though we all now
>> roughly agree that the websites that compose the WWW mostly fall short of
>> full REST compliance, and that most of those that fall short fall WAY
>> short,
>> this still means that a small, but significant set of websites do
>> exemplify
>> the REST style. But that's not what you said in the post I quoted:
>>> > 'Your references are about purely websites, this has NOTHING to do with
>>> > proving your statement on REST adoption being in the "millions".'
>>
>> My problem with this statement is your use of all caps "NOTHING" in your
>> assertion. If you had said, "almost nothing", or "virtually nothing", or
>> "very little", etc. there wouldn't be a contradiction. Maybe its just me,
>> but when I read "NOTHING" in all caps, I take that to mean absolutely,
>> positively, CATEGORICALLY nothing with no exceptions or degrees
>> whatsoever.
>
> The context here was the Mark said this this was "all" the evidence he
> needed in terms of REST adoption. That reference has NOTHING to do
> with proving the statement in the millions its like a Chinese
> Economist piece..... more on that concept in a bit.
>
>> But given our agreement that at least some websites of the WWW are
>> substantially or wholly RESTful, this means that Mark's reference to
>> "purely
>> websites" has at least something to do with "REST adoption being in the
>> 'millions'". That was my point in my email raising the issue.
>> Now this is not to say that the fact that SOME websites are RESTful makes
>> Mark's case that REST has been adopted by "millions". We'd have to go out
>> and count the number of websites we considered RESTful enough to count.
>> But,
>> it does mean that your claim that such websites have "NOTHING" to do with
>> REST adoption cannot be reconciled with your apparent admission that at
>> least some websites are implemented RESTfully.
>> I say apparent because you never come out and directly state this.
>
> I'm sure lots do, not sure how many are 100% compliant with everything
> though (e.g. the Yahoo and Google APIs have been said by some to be
> not 100% RESTful). Hell we've got some pretty massive REST stuff on
> the Webside at work (and I mean MASSIVE).
>
>> You
>> simply said things such as "most people (the vast vast majority) do not
>> implement Websites in a RESTful way". This implies that you agree that at
>> least a minority DO implement Websites in a RESTful way."
>> So Mark's counting of such websites towards his goal of "millions" of
>> RESTful developers did indeed have SOMETHING to do with the issue of how
>> many RESTful developers there are in the world.
>
> But from a statistics point of view this is just Chinese Economics.
> This is the argument that says "there are billions of people in China
> and some must do X therefore given its from a billion its must be
> millions".
>
> Statistically the concept that "millions of developers" do REST
> (specifically the Hypermedia...engine....state bit) can NOT be
> inferred from the statement that SOME people who have created SOME of
> the pages have done it that way. Its statistically a completely and
> utterly pointless thing to claim as you cannot in any way shape or
> form get between the pages and the developers and certainly not to the
> numbers of developers.
>
>> Accordingly, to
>> categorically exclude (via the use of "NOTHING") such RESTful websites
>> from
>> attempts to estimate the number of RESTful developers is wrong.
>
> It is absolutely and utterly wrong to do that from a statistical
> perspective, the two sets of data (Pages and developers) are disjoint
> and there is no defined overlap between them that enables you to reach
> any meaningful conclusions especially at the level of "millions"
> (which given that Java often claims "only" 3-5 million developers is a
> ruddy big number).
>
> It was just as wrong as the ridiculous use of "number of HTTP
> requests" to indicate REST usage. This would be like measuring the
> number of characters on the web and using that to indicate the number
> of people who speak in an obscure regional dialect that happens to use
> the standard ASCII character set is in the "millions". Its like
> saying that as there are Billions of Muslims in the world and that
> _some_ of them are terrorists that therefore there are millions of
> terrorists.
>
> If he'd done something like taking a reference set of developers and
> said that x% of them had done proper REST and then scaled that by the
> number of global developers it would at least have been a reasonable
> way of sampling the population.
>
> Its bad stats, its even bad set theory, its plain bad maths.
>
>> I hope you agree that if and when we ever do get around to estimating the
>> number of RESTful designers/developers we can justifiably include in that
>> count some number of website designers, not just
>> application-to-application
>> interface designers.
>
> We can, with the proviso that they aren't of course fulling doing REST
> as they can't do PUT or DELETE from the browser. I've fairly regularly
> said that for the Website interaction side that I get the REST point,
> its always been on the A2A/B2B that I've had the issue and its there
> that I tend to find myself most of my working life.
>
> Steve
>
> Steve
>
>> -- Nick
>>> 2008/12/2 Nick Gall <[EMAIL PROTECTED]>:
>>>
>>> > On Tue, Dec 2, 2008 at 7:02 AM, Gervas Douglas
>>> > <[EMAIL PROTECTED]>
>>> > wrote:
>>> >>
>>> >> <<So last week at AdobeMAX I did my first public presentation on doing
>>> >> REST and SOA together. Thanks to Duane for that and to the person who
>>> >> dropped out leaving me with the baby :)
>>> >
>>> > Steve, I'm going through the slides right now. So far they are
>>> > excellent.
>>> > This particular bullet on slide 22 caught my eye:
>>> > "The World Wide Web is therefore inherently RESTful and the largest
>>> > example
>>> > of a REST based system."
>>> > Amen to that brother! That reminded me of the debate Steve and Mark had
>>> > back
>>> > in early November. In one post
>>> > (
>>> >
>>> > http://tech.groups.yahoo.com/group/service-orientated-architecture/message/11892
>>> > ),
>>> > Steve asserted:
>>> > 'Your references are about purely websites, this has NOTHING to do
>>> > with proving your statement on REST adoption being in the "millions".'
>>> > In my mind, saying the WWW is inherently RESTful and is the largest
>>> > example
>>> > of a REST-based system strongly implies that Mark's references to
>>> > websites,
>>> > which are what make up the WWW after all, has at least SOMETHING to do
>>> > with
>>> > REST adoption.
>>> > How could all these web site designers/developers have contributed to
>>> > the
>>> > emergence of the WWW -- the largest example of a REST-based system --
>>> > without in some way "adopting" or implementing REST? It seems quite
>>> > strange
>>> > to say that all the world's web site designers/developers were ignoring
>>> > REST
>>> > yet from all these ignorant efforts the WWW emerged as "inherently
>>> > RESTful."
>>> > Steve, could you please reconcile these two statement?
>>> > -- Nick
>>> >
>>>
>>>
>>
>>
>> --
>> Nick Gall
>> Phone: +1.781.608.5871
>> AOL IM: Nicholas Gall
>> Yahoo IM: nick_gall_1117
>> MSN IM: (same as email)
>> Google Talk: (same as email)
>> Email: nick.gall AT-SIGN gmail DOT com
>> Weblog: http://ironick.typepad.com/ironick/
>>
>
> 

Reply via email to