Hi Richard, Apologies for the delay in replying. Please see my comments in-line.
2009/6/15 Richard Opalka <ropa...@redhat.com>: > what's the current state of CXF WS-RM? See below. > I'm asking because we'd like to integrate probably > WS-RM in our JBossWS CXF integration. Great that you're thinking of using CXF WS-RM. > The main questions are: > * Which WS-RM specs are supported now (I know about 1.0, is 1.1 supported > already)? Only WS-RM 1.0 (2005/02) is supported as yet. This was the current version of the spec when the original RM implementation was done as part of the Celtix project (the precursor to CXF). We've had some interest in WS-RM 1.1 and I intend to do a costing on the implementation effort soon, and hopefully will get the time to implement support for it in the CXF 2.3 timeframe. > * Is QoS (Quality of Service) ensured in CXF WS-RM implementation? Well yes, in so far as the qualities of service envisaged by the WS-RM spec as concerned. So for example the policy with regard to ordering and duplicates may be asserted via the /ws-rm-policy:RMAssertion/ws-rm:deliveryAssurance element in config (see schema[1]). However other QoS typically available in the MOM world, such as message expiration/TTL and priority, are not part of WS-RM. > * Is current CXF WS-RM implementation tightly coupled with Endpoint? Well, CXF WS-RM can be configured on a per-endpoint basis, or for the entire Bus. However, internally the WS-RM layer creates an RMEndpoint for each org.apache.cxf.endpoint.Endpoint with which a reliable exchange occurs. So that sense there is a certain one-to-one-ness going on. Is that what you meant by being tightly coupled? Or were you more thinking of using WS-RM to mediate message exchanges with something other than CXF endpoints? > * Is there some API for client side when receiving undelivered messages? By undelivered messages, do you mean un-acknowledged messages that have been resent? If the original client is still running, then the retransmitted response message will be delivered to the application in the normal way (either by virtue of the invoking client thread being blocked, or via a callback or pollable for an asynchronous invocation). However, if the client application has been restarted since the original request was sent, then there is no way currently for the resent message to rendez-vous with the application logic. This deficiency was clear to us when the original RM implementation was done, and we had at the back of our mind the intention to do something about it, via some sort of persistent callback mechanism. Any ideas you might have in this regard would be welcome. > Where I could find it? > * Is there some detailed architecture documentation about CXF WS-RM? No, unfortunately. Hope this helps, Eoghan [1] http://svn.apache.org/repos/asf/cxf/trunk/rt/ws/rm/src/main/resources/schemas/configuration/wsrm-manager-types.xsd