Hi, In answer to your questions. UnmanagedNonPersistent is an inmemory solution. The benefits are minimal configuration and reliability during service downtime e.g. a service has been taken down for maintenance.
The managed offerings are more than that and are designed for Web Services that require reliability but are also highly available and scalable. Hence clustered servers are supported and reliability is maintained even if servers become unavailable. Dave Dave Parsons Web Services Development INTERNAL: David Parsons1/UK/i...@ibmgb :: DE3F20 :: 246930 EXTERNAL: [email protected] :: (01962) 816930 Mail Point 211, IBM Hursley Park, Winchester. SO21 2JN From: Amila Suriarachchi <[email protected]> To: David Parsons1/UK/i...@ibmgb Cc: venkov <[email protected]>, [email protected] Date: 25/07/2010 06:44 Subject: Re: Sandesha2 question? On Fri, Jul 23, 2010 at 4:47 PM, David Parsons1 <[email protected]> wrote: Hi, The lastMessage property isn't saying to the Sandesha Handler wait for the last message before delivering any of the messages on that sequence to the client or service. All it is saying to Sandesha is that there will be no more messages sent on this sequence so you can terminate it. It is just there for sequence administration. One thing you can do is set the inorder property. This tells the Sandesha handler to deliver the messages that have arrived in the order they were originally sent by the client. Therefore if message 1 & 3 have arrived but not message 2, Sandesha would have the service invoked by message 1 but not message 3. It would hold onto message 3 until msg 2 had arrived and been invoked. If you want all or nothing you either need to trust sandesha i.e. that all the messages will get sent. One drawback of this is that your have to rely on the server hosting your service to always be available, that way the resending of lost messages is handled for you. Or you switch to having some transactional solution. I have an article that has some early sections that may be of interest. The sections that may be of interest talk about what WS-RM is and the key concepts that it uses, http://www.ibm.com/developerworks/websphere/library/techarticles/0912_parsons/0912_parsons.html In this article there are three ways of using WS-RM, namely UnManagedNonPersistent, ManagedNonPersistent and ManagedPersistent. What is the real benefit of using UnManagedNonPersistent. In your article there are two things. Here first thing does not apply since it can not survive on a server restart. Can we achieve the second benefit just increasing the tcp time out time? In other words can we use the tcp retransmission? I think WS-RM follows the same principles as in tcp protocol. For ManagedNonPersistent and ManagedPersistent what does the clustering realy means? I assume underling WS-RM implementation that WAS use is Sandesha2. So it is about sharing one storage between different RM Nodes so that they can use to receive messages for a same WS-RM sequence? Do you refer this common storage as messging engine? I did my Msc[1] on WS-RM to reasearch on how to achive application to application reliability. Is there a similar thing happens in the ManagedPersistent using distributed transactions? In my work, it can support stanalone clients since I uses the Atomikos library get distributed transactions. thanks, Amila. [1] http://amilachinthaka.blogspot.com/2010/03/queued-transaction-processing-with-ws.html Regards, Dave Dave Parsons Web Services Development INTERNAL: David Parsons1/UK/i...@ibmgb :: DE3F20 :: 246930 EXTERNAL: [email protected] :: (01962) 816930 Mail Point 211, IBM Hursley Park, Winchester. SO21 2JN From: venkov <[email protected]> To: [email protected] Date: 23/07/2010 10:20 Subject: Sandesha2 question? How does Exactly-once option of WSRM works? I am using the ping sample from sandesha2 where it sends 3 messages and the 3rd is set to be last! after it gets the 3rd one it terminates the sequence and everything is ok! But if i remove the last message property or before i send the last one i terminate the program! I have the following situation the server gets first and second message, execute the action for each one, without waiting for the last message! I want to execute all or nothing! -- View this message in context: http://old.nabble.com/Sandesha2-question--tp29245485p29245485.html Sent from the Apache Sandesha mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
