When one application needs to communicate with another application using messages, then it employs the use of a Message Channel. After connecting to the Message Channel, the application will write information to the channel and the other application will read it from the channel.
The Message Channel will be an internal implementation of an Endpoint interface.
The data being transmitted will be encapsulated in a Message, but it is the role of the Message Channel to decouple the message producers (Sender) from the message consumers (Receiver).