- From: Walden Mathews <waldenm@optonline.net>
- Date: Fri, 17 Jan 2003 10:30:32 -0500
- To: Hao He <Hao.He@thomson.com.au>, Assaf Arkin <arkin@intalio.com>, Peter Furniss <peter.furniss@choreology.com>, "Champion, Mike" <Mike.Champion@SoftwareAG-USA.com>, www-ws-arch@w3.org
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