Message channel can be imagined as a conduit of data between one application to another. The data which will be transmitted via message channel, should be wrapped by some object that can be understand by message channel. Or we usually call this as a marshalling. Thus, before going to the message broker. The data should be marshalled. The data will be queued in the message broker.
If there is a client interested on the data, it will go to the message channel to get the data from the message broker. Before consuming the data, the data should be unmarshalled.
The data that is being transmitted via message channel contains 2 parts. They are:
- Header, header contains the data regarding destination and application.
- Body, this part contains information as-is. there should not be any modification on this part.
- ByteMessage, and
- Object message.