What is asynchronous messaging?

As used in WebSphere MQ, the term "asynchronous messaging" means a method of communication between programs in which a program places a message on a message queue, then proceeds with its own processing without waiting for a reply to its message. This contrasts with synchronous messaging, in which a program places a message on a message queue and then waits for a reply to its message before resuming its own processing.

In the context of WebSphere MQ transport for SOAP, long term asynchrony refers to the ability of a client to invoke a service request from one process and then retrieve the response from the service in a different process. Such a facility might be required where it is not practical or efficient to prolong the lifetime of a client until the response is received. Some services might not be designed to return a response immediately but might return a set of responses at some future point. Other services might be able to process the request immediately but might then be unable to return the response owing to unstable network connections. For both these situations, the ability to decouple the processing of the client's request and response across separate processes is a valuable option.

In the Microsoft .NET Environment, short term asynchrony means asynchronous operation within the context of a single client process.