The main components of the messaging framework are:
Messaging
Transfer of a user-supplied package of data (the payload) from one process to another. The sender and receiver processes must be executing concurrently and have a channel established between them (for example, a TCP/IP connection).
Message queuing
Messages are delivered to a location from which the receiver retrieves them when required. This usually requires a third process (the queue manager).