プロバイダ コンポーネントの使い方
プロバイダコンポーネント(Datasnap.Provider.TDataSetProvider および Datasnap.Xmlxform.TXMLTransformProvider)は,クライアントデータセットがデータを取得するための最も一般的なメカニズムを備えています。プロバイダは次のことを行います。
- クライアントデータセット(または XML ブローカ)からデータリクエストを受信して,要求されたデータを取り出して,送信可能なデータパケットにパッケージ化し,それをクライアントデータセット(または XML ブローカ)に返します。これを「プロバイドする」と呼びます。
- 更新されたデータをクライアントデータセット(または XML ブローカ)から受け取り,データベースサーバー,ソースデータセット,またはソース XML ドキュメントに更新内容を適用して更新エラーを記録し,調停のため未解決の更新をクライアントデータセットに返します。これを「解決する」と呼びます。
プロバイダコンポーネントのほとんどの機能は,自動的に実行されます。プロバイダ上でデータセットまたは XML ドキュメントのデータからデータパケットを作成したり,更新内容を適用するコードを書く必要はありません。ただし,プロバイダコンポーネントには,クライアントに渡すデータとしてどのような情報をパッケージ化するか,またクライアント要求にアプリケーションがどう応答するかについて,アプリケーションからより直接的に制御するための,多数のイベントとプロパティが用意されています。
TBDEClientDataSet,TSimpleDataSet,または TIBClientDataSet を使用する場合,プロバイダはクライアントデータセットの内部に組み込まれており,アプリケーションからは直接アクセスしません。しかし,TClientDataSet または TXMLBroker を使用する場合にはプロバイダは独立したコンポーネントであり,クライアントのため,そしてプロバイドおよび解決プロセスで発生するイベントに応答するために,パッケージ化する情報を制御するのにプロバイダを使用できます。内部プロバイダを持つクライアントデータセットは,プロバイダのプロパティおよびイベントの一部を,自らのプロパティおよびイベントとして表示しますが,ほとんどのコントロールに対して別のプロバイダコンポーネントを持つ TClientDataSet を使用することもできます。
別のプロバイダコンポーネントを使用する場合,これはクライアントデータセット(または XML ドキュメント)と同じアプリケーション内に配置したり,多層アプリケーションの一部としてアプリケーションサーバー上に配置できます。
以下のトピックでは,クライアントデータセットまたは XML ブローカとの対話を制御するためのプロバイダコンポーネントの使い方を説明します。
- データソースの決定
- クライアントデータセットとの通信
- データセットプロバイダを使った更新の適用方法の選択
- データパケットに加える情報を制御する
- クライアントのデータリクエストに応答する
- クライアントの更新リクエストに応答する
- クライアントが生成するイベントへの応答
- サーバー制約の処理