- From: Burdett, David <david.burdett@commerceone.com>
- Date: Wed, 26 Feb 2003 08:22:11 -0800
- To: "'Mark Baker'" <distobj@acm.org>, "Burdett, David" <david.burdett@commerceone.com>
- Cc: "'www-ws-arch@w3.org '" <www-ws-arch@w3.org>
- Message-ID: <C1E0143CD365A445A4417083BF6F42CC053D1785@C1plenaexm07.commerceone.com>
>>>The *critical* thing that one has to accept in order to understand REST, is that application protocol methods are the same as operations in an API,<<< I agree. The only debate is where within the message you put the method/operation. >>>If you just take this as a given for a moment, you'll see that all the arguments I've ever made on this subject become a big, complex, yet entirely self-consistent description of much of Web architecture, and indeed several other Internet scale architectures.<<< I agree with the *much* as in ".. *much* of the Web Architecture" but you did not say all as in "... *all* of the Web Architecture". Recent email threads have identified an equally valid model for using *web technology* as "a low cost, protocol independent, ubiquitous method for moving information around". The "methods/operations" associated with this second use case must often be private, secure, and transport protocol independent. >>>So, a *rhetorical* question for those of you who don't believe that GET is at the same layer as getStockQuote; ...<<< Firstly I do believe that "GET" is at the same layer as getStockQuote, since getStockQuote is clearly doing a "get" and therfore using GET as the operation makes sense. All operations consist of two items: a) the verb, and b) the object of the verb as in "get, stockquote", "archive, order", "offer, order" where each of the verbs and nouns need to have their semantics defined so that they can be properly defined >>>... what would you call a protocol that does have a "getStockQuote" method? Note; "application protocol" is already taken. 8-)<<< I think I would call it a messaging protocol as it is a protocol designed to *just* move data around in potentially a secure reliable way. What you do (i.e. the verb/noun) is buried in the payload somewhere for reasons of privacy/security and transport protocol independence which is the opposite of the visibility provided by putting the method in the transport. In both cases you still have the same verb/noun combination although you are representing them differently. I think that both use cases can simultaneously exist as they are solving different problems and each provide significant advantages: 1. REST, visibility, caching & simplicity for "simple" operations 2. MESSAGING, privacy, security, transport independence and flexibility for complex operations. Mark, do you agree that both should exist? David -----Original Message----- From: Mark Baker [mailto:distobj@acm.org] Sent: Wednesday, February 26, 2003 8:01 AM To: Burdett, David Cc: 'www-ws-arch@w3.org ' Subject: Re: Visibility (was Re: Introducing the Service Oriented Architec tural style, and it's constraints and properties. > Do I detect a trout hole again ... anyway here goes ... comments in line ... Yes, we're quickly closing in on well worn arguments, so I'll leave it at this, which *has* already been said, but not recently ... On Wed, Feb 26, 2003 at 03:18:48AM -0800, Burdett, David wrote: > <DB>We need to define what we mean by an "application" if you mean it is > anything above the transport layer, then you are correct but really I think > the layers are typically: Operating System, App Server, "Web Services > Middleware", Application. The *critical* thing that one has to accept in order to understand REST, is that application protocol methods are the same as operations in an API, i.e. at the same layer of the stack as "getStockQuote" or "purchaseBook". If you just take this as a given for a moment, you'll see that all the arguments I've ever made on this subject become a big, complex, yet entirely self-consistent description of much of Web architecture, and indeed several other Internet scale architectures. If you don't accept it, then I probably come off as a loon, which I completely understand because I thought the same thing of some guys who saying that to me back in 97/98 (Dan Connolly and Roy Fielding, FWIW). So, a *rhetorical* question for those of you who don't believe that GET is at the same layer as getStockQuote; what would you call a protocol that does have a "getStockQuote" method? Note; "application protocol" is already taken. 8-) MB -- Mark Baker. Ottawa, Ontario, CANADA. http://www.markbaker.ca Web architecture consulting, technical reports, evaluation & analysis
Received on Wednesday, 26 February 2003 11:22:43 UTC