The data-centric (or form-centric) activities are a simple mechanism for workflow to host communication and vice versa. This communication centers around a data class that defines the structure of the communicated data.
There are four activities in this group and among them they allow for both proactive and reactive, requests and submits of data, to and from the workflow and host.
In other words, to look at things from the workflow point of view, looking at the host:
It is possible to request data from the host or to send data to the host.
It is also possible to suspend and wait for a data query from the host, and it’s possible to suspend and wait for data to arrive from the host.
And from the host point of view, looking at the workflow:
It is possible to send data to the workflow or to send a request for data.
It is also possible to implement an interface that can be called at any time to receive data from the workflow or to receive a request for data.
A data source is created in the workflow. The data source refers to the data class and a class that implements the host interface IDataHandler. Think of this as the interface class. An ID property in the data class is used as part of correlating a data update from the host with a WaitForData or WaitForQuery.
Chapter 5, "Workflow Integration with Data Activitites," has more detail on these four activities: