A messaging system and method are provided to enable transactional work,
done as a result of a recipient processing an asynchronous message, to be
involved in the transaction under which message was sent. Involvement may
be directly in the senders transaction or indirectly through a separate
transaction which can be a subordinate to, a child of, or merged with the
transaction under which message was sent. The message is delivered by
calling an operation, a definition of which has been registered for the
queue. If the message is added to a queue for subsequent delivery to a
recipient, details of the transaction under which message was sent are
added to the message. As a result the recipient can take appropriate
action to ensure that any transactional work, it causes to happen, will
be done directly or indirectly under the scope of the transactions under
which message was sent.