http://ws.apache.org/ws-fx/sandesha/
Sandesha is an open source java implementation of WS-ReliableMessaging Protocol on top of Apache Axis.
Rationale (based on common set of quesitons):
0. Make sure to read the architecture page:
http://ws.apache.org/ws-fx/sandesha/Sandesha.html
Common abbrevations: {{{ * EPM = EndpointManager
WS-RM = WS-ReliableMessaging }}}
1. Why is there a need to have the server EPM handler as a separate web service?
This stems from the need to have a separate entity that handles message deliver and correlation in WS-RM. However, it should be possible to have a separate server EPM for each service as long as they will not conflict when using database for message storage.
2. Why should the client EPM handler be a separate web service?
EPM is required at least on a conceptual level to allow a service to send and accept asynchronous messages. However, even though currently Sandesha requires an EPM to be present in external point (typically as AXIS service in Tomcat) it is possible that in the future the Client EPM will be co-located in the same JVM as the client.
NOTE: having the client EPM as a separate service possibly on a different host can help to deal with clients that are behind a firewall/NAT and need to listen for WS-RM async messages
3. What are the downsides of implementing the WSRM as a Handler within [http;//www.interseo.com Axis]? Would this, in fact, not have simplified deployment/manageability/programming/etc?
A Client side handler can not listen for messages.
4. How was Sandesha tested? I do not see any tests in CVS.
Currently there is only the set of interop scenario tests implemented. See: interop/ directory in CVS