A method, system and program product for processing a transaction that
requires multiple resources. The multiple resources for the transaction
are concurrently prepared and/or committed. Further, a response can be
sent to a requester before one or more of the resources has been
committed. The resources can be prepared/committed using non-blocking
function calls, using separate threads, or the like.