1. A system for sharing data objects among applications available on a network, comprising: a data protocol layer that permits a flow of data messages among applications on the network, at least a portion of the data messages including at least one data object; a client library coupled between each respective application and the data protocol layer; a data-type definition language that defines one or more data-types shareable among the applications through each of the respective client libraries; a data-set definition language that defines data-object sets that are of a given data-type; one or more data stores that contain data objects including, singularly or collectively, the data objects in the data-object sets; a data request module associated with each client library and operable to request data objects from the data stores that match a particular data-object set; a management server in communication with the data stores and configured to receive a request from the data request module, parse the request, retrieve any matching data objects, and cause the return of the any matching data objects to the data request module; a registration module associated with the management server and configured to accept subscriptions from subscribing applications; and an event notification module associated with the management server and configured to receive a data message from the applications on the network, compare the at least one data object in the data message with one or more of the subscriptions, and selectively notify the subscribing applications in response to the comparison.