Search |
||
Reliable Messaging in WSIT Milestone 2Posted by mikeg on September 22, 2006 at 2:10 PM PDT
Other than the usual bug fixes and minor adjustments needed to adapt to changes between WCF versions,
the new work for the milestone consists of implementing some configuration settings that may
affect performance. First some background:
The WS-RM spec defines a SOAP-based protocol used by middleware components that exchange messages called the sender and receiver. It defines a way for a sender of to ask the receiver which messages have arrived and a way for the receiver to answer. The specification says little about how to use the protocol. Of course, the main use is that it allows the sender to ensure that all messages have arrived by periodically asking the receiver which ones have been delivered and resending the ones that haven't. A few variables affect the efficiency and performance of a system that does this. Namely how often the sender asks the receiver to account for the received messages and how often the sender resends the un-accounted-for messages. Imagine a scenario where almost no messages are lost. "Correct" values for these variables depend very much on the frequency of lost messages and the length of time it takes to deliver a message. We are exposing these variables as configuration settings, so end-users will be able to adjust them. The configurations are client configurations, unlike the other RM configurations that only affect the endpoint. As of Milestone 2, the settings are not exposed in the Netbeans UI, but it is possible to try them by manually editing the configuration files. Each setting uses a proprietary PolicyAssertion. They are:
<sun:AckRequestInterval Milliseconds="1000"/>
By default, retries happen every 2000 ms. The Resend setting in the Policy assertion will be used if it is larger than 2000, unless the system detects an abnormal build-up of unacknowledged messages, in which it will revert to the default value. By default the client requests acknowledgements on every application message. If a positive value is specified for AckRequestInterval in the policy assertion, the system will always wait for that interval between requests for acknowledgements, unless the system detects an abnormal build-up of unacknowledged messages, in which case it will refert to the default behavior. As of Milestone 2, the settings are not exposed in the Netbeans UI. However it is possible to experiment with the settings by manually adding them to the PolicyAssertion for an endpoint's wsdl:binding. Obviously, this is a temporary arrangement, since the settings ultimately need to be part of the client's configuration. However, at the moment, a client will use these settings if it finds them in the WSDL for the endpoint it is communicating with. »
Related Topics >>
Web Services and XML Comments
Comments are listed in date ascending order (oldest first)
|
||
|
|