1. A method of providing a data service, comprising: ordering into a given data structure a set of data items associated with a given application executing in a first processing environment; setting a pointer at an initial position with respect to the given data structure and flagging the set of data items for a data transfer; monitoring events as the given application interfaces to a local data store and collecting a set of events; and for a given event, wherein the given event is a given type of event, processing the given event against the given data structure by the following sub-steps: locating a data item at a then-current position of the pointer; determining whether the data item is flagged for data transfer; if the data item is flagged for upload, retrieving given information from the given data structure; forwarding the given information for inclusion in an application-aware data stream; unflagging the data item for data transfer; and resetting the pointer to a next data item in the given data structure.