WS-Reliability Demonstration Showing that it works December 9, 2003
Rationale for WS-Reliability Web Services increasing being utilized for operations that require transactional integrity. Unpredictable delay and multiple paths create havoc in complex applications with needs for coherent transmission of multiple messages. Thus, a normative mechanism that supports mission critical Web Services applications
WS-Reliability Primary Features Guaranteed Delivery –Messages are persisted at sender until responsibility for message has been transferred to receiver. Duplicate Elimination –Duplicates caused by re-tries (or lost acknowledgements) are eliminated Message Ordering and Grouping –Association of multiple messages into an ordered sequence. Guaranteed application receipt in correct order
The Standards Challenge Spec reads well, but: –does it work? –Is it vague? –How difficult to implement? –What is unspecified that should be? My code works fine on localhost, but what about inter-operating with others?
Interoperability Demo Purpose Test interoperability in a mixed-vendor environment. Gain implementation experience. Feedback that experience to the technical committee. Promote the standard and demonstrate usefulness
Sender States Wait For Reply Prep Request Resent Prepare Request Prep Failure Notify Delete Sent Msg DupofHeldMsgFault AckTimeout ResendRequest MsgExpiryFault SendTimeout ReceiveAck FailureReported DupofDlvdMsgFault
Checking for Duplicate Checking Order Checking Expiry Time Prepare Ack Receive from Transport Prepare Expiry Fault Held waiting for Prior Prepare Dup of Held Fault Prepare Dup of Delivered Fault Expired AckOnlyRequest DupElimRequest nonDupNoOrder Dup of held Msg Dup of Dlvd Msg Deliver Msg Prior not dlvdPrior dlvd Non Dup Ordered Prior dlvy notified Receiver States
RMP2 RMP1 Sender Test App Receiver Test App Network “ trouble maker ” Message loss Message duplicates Message dis-ordering Ack loss (WS-R node) Demo Configuration
First Reliable Bank Bank requires that no account is permitted to have a negative balance at any time. Transfers are a withdrawal from one account followed by a deposit to another.
Demo Scenarios DemonstrationSenderReceiver Guaranteed DeliveryHitachiNEC Duplicate EliminationNECFujitsu OrderingSunOracle
Guaranteed Delivery Troublemaker sent to block all traffic Sender sends and continues to re-try Troublemaker allows message to pass Sender receives acknowledgement and deletes message
Duplicate Elimination
Demo Results Demonstrable interoperability after 36 hours of test