Previous | Table of Contents | Next |
A proxy data provider presents a simple facade to the clients, on the one hand, and combines the services of multiple data
providers on the other. At one extreme, very simple proxies could be envisaged. At the other, the proxy may actually be a
wrapper for a more extensive application integration environment, an “integration bus? or a “data federation service.?
In any case, the proxy data provider must provide the following capabilities:
• The proxy must hide the existence of multiple data providers from the clients so that they can operate unchanged in both single-data provider contexts and multiple-data provider contexts.
• The proxy must encapsulate configuration information about which data providers are present and what data they are responsible for supplying. Data providers and clients must be insulated from the configuration details.
• A proxy must not require additional interfaces to be exposed either to clients or the ultimate data providers. It acts as both a server and a client for the ResourceQueryService, ResourceIDService, and ResourceEventSource interfaces defined in this specification.
• A proxy must present a unified view of all the data in the context to the clients, combining information provided by the ultimate data providers. A query must return all the requested information that is available, even though it may be obtained from multiple data providers.
• A proxy may implement various policies and optimizations to delegate queries, but these must be transparent to clients and the ultimate data providers.