- From: Assaf Arkin <arkin@intalio.com>
- Date: Sat, 14 Dec 2002 17:28:30 -0800
- To: "Ricky Ho" <riho@cisco.com>, "Ugo Corda" <UCorda@SeeBeyond.com>, <www-ws-arch@w3.org>
- Message-ID: <IGEJLEPAJBPHKACOOKHNEEONCOAA.arkin@intalio.com>
<Ricky> Does it mean the value of "persistent storage" is so that RM can promise the App-A earlier after it persist the message, and release App-A to do something else ? In other words, does it mean if App-A is willing to wait until the message is actually delivered (RM-A get an ACK from RM-B), then there is no need for persistent storage. </Ricky> Yes and yes. If you use a low latency protocol such as UDP then you could wait to know if the message got delivered. If you use a high latency protocol, or want a queue to take care of delivery at its own pace, then you would expect the message to be stored and go about your business. <Ricky> But it is possible RM-A fail to deliver the message after retry and decide to give up. Does the application still not care ?? </Ricky> There is no benefit for the app to tell if the message was recieved or the RM gave up. I highlighted the reasons before, but just to recap. If the app sends a message than it agrees that the receiver can start processing it whether or not it knows about that fact. So, if you do not hear back from the receiver that does not mean that the message was not received. If the app depends on the message being received and processed it must anticipate the possibility that the message will be received, acked, but not processed. So it needs logic to deal with that possibility. The logic for dealing with that possibility is the same regardless of whether or not you received the ack, so it's just easier to develop an application that does not ask the RM for failure notification but has one logic for dealing with both kinds of scenarios. arkin
Received on Saturday, 14 December 2002 20:29:14 UTC