I have a relativ complexe service composition. It would be very helpfull if i could decouple several services more. The logic behind is that one incoming message should be splitted in multiple parallel running service chains. Additionally, this incoming method invocation can (and should) be immediately returned after the parallel processings of these chains are started. At the moment all chains are processed sequentially and the triggering web service call is blocked until all is finnished. This could probably run into timeouts as well (although this can be switched off).
Can I achieve this somehow with, e.g. non blocking method invocation in switchyard?
Yes, there are multiple ways to achieve this, in a Camel component, using some of the Camel EIPs for this purpose. See http://camel.apache.org/multicast.html http://camel.apache.org/recipient-list.html and http://camel.apache.org/wire-tap.html or http://camel.apache.org/asynchronous-processing.html to do the asynchronous initial call.
Hope it helps.