Using Provider Components

From RAD Studio
Jump to: navigation, search

Go Up to Using Provider Components Index

Provider components (Datasnap.Provider.TDataSetProvider and Datasnap.Xmlxform.TXMLTransformProvider) supply the most common mechanism by which client datasets obtain their data. Providers

  • Receive data requests from a client dataset (or XML broker), fetch the requested data, package the data into a transportable data packet, and return the data to the client dataset (or XML broker). This activity is called "providing."
  • Receive updated data from a client dataset (or XML broker), apply updates to the database server, source dataset, or source XML document, and log any updates that cannot be applied, returning unresolved updates to the client dataset for further reconciliation. This activity is called "resolving."

Most of the work of a provider component happens automatically. You need not write any code on the provider to create data packets from the data in a dataset or XML document or to apply updates. However, provider components include a number of events and properties that allow your application more direct control over what information is packaged for clients and how your application responds to client requests.

When using TBDEClientDataSet, TSimpleDataSet, or TIBClientDataSet, the provider is internal to the client dataset, and the application has no direct access to it. When using TClientDataSet or TXMLBroker, however, the provider is a separate component that you can use to control what information is packaged for clients and for responding to events that occur around the process of providing and resolving. The client datasets that have internal providers surface some of the internal provider's properties and events as their own properties and events, but for the greatest amount of control, you may want to use TClientDataSet with a separate provider component.

When using a separate provider component, it can reside in the same application as the client dataset (or XML broker), or it can reside on an application server as part of a multi-tiered application.

The following topics describe how to use a provider component to control the interaction with client datasets or XML brokers.

See Also