Re: Proposed text on reliability in the web services architecture

Hao,

>
> Let's start with " a client X deposites $100 into server Y".  This is a
> logical operation and it is non-idempotent.  Let's identify this operation
> as "http://example.com/bank/depo/1234".
>
> To perform this operation, the client has to send a request to the server.
> The request identifies itself
> as a request instance of "http://example.com/bank/depo/1234".  Now, I want
> the physical operation of sending such requests to be idempotent.  So, if
> something goes wrong for whatever reason, or even the client is unsure
about
> what has happened, the client simply sends the request again without
causing
> the logical operation to be performed more than once.
>
> So, would you consider this still RM?

Yes.  If the thing with identity is a message*, then it's message state
that's being set, and that's a messaging phenomenon.  However, if you said
that http://example.com/bank/depo/1234 was a deposit, and you were
using HTTP to PUT <amount>$101</amount> to that URI, then I would
say you have elevated your strategy to using idempotenct on application
level objects.

* although your example is not entirely consistent on this.

Do you have a different take?

Walden

Received on Friday, 17 January 2003 10:30:49 UTC