In this situation, we need to transfer data from one application to another. Therefore, we use Document messages to reliably transfer a data structure from between applications.
Where a Command message will tell the recipient to invoke a specific behavior on their application (ie. execute a specific process or method), the Document message just passes data with no instructions on what actions to perform. It is at the discretion of the Receiver to determine what needs to be done.
The data that is passed is one of the following: a single unit of data (like a variable), a single object, or data structure that may be decomposed into smaller units.