DataSnap サーバーの作成
ファイル > 新規作成 > その他... > Delphi プロジェクト [または C++Builder プロジェクト] > DataSnap サーバー
これらのオプションを使用して、サンプルの DataSnap のサーバーやブローカを作成したり、別のサーバー モジュールを既存の DataSnap アプリケーションに追加することができます。 サーバー モジュールを使用すると、クライアント アプリケーションに公開可能なサーバー メソッドを実装することができます。
従来の DataSnap サーバーは少なくとも次の 3 つのコンポーネントから構成されます。
- TDSServer -- 独自の中間層サーバーを作成するために使用されます。
- TDSServerClass
- トランスポート クラス
TDSServer は、転送およびサーバー メソッド クラスの作成および存続期間を管理します。
TDSServerClass は、OnGetClass イベントをオーバーライドすることで、動的メソッド呼び出しを使ってリモート クライアントから呼び出すことができる公開メソッドを備えたアプリケーション サーバーサイド クラスを指定するのに使用できます。 このクラスのメソッドは DBX クライアント プロバイダや ADO.NET プロバイダなどのリモート クライアントから呼び出すことができ、そのために必要な要件は次の 2 つだけです。
- TComponent の下位クラスでなければならない。
- MethodInfo 指令を有効にする必要がある。
DataSnap サーバーにいったん接続すると、アプリケーション サーバー内のメソッドをストアド プロシージャと同じように呼び出すことができます。 たとえば、新しいクラス TSqlServerMethod を使用すると、コマンド テキストのテキスト クラスおよびメソッド名とそのメソッドのパラメータを指定することでサーバー メソッドを呼び出すことができます。 サーバー メソッドでは、TDBXReader を使用して、クライアントとの間でデータセットをやり取りできます。 新しいスマート テーブルは、DataSnap でサポートしているさまざまなデータセットを抽象化したものであるため、クライアントとサーバーの間で透過的に受け渡すことができます。
転送レイヤは、TDSTCPServerTransport や TDSHTTPService によって変換されます。
TRemoteDataModule を拡張するアプリケーション サーバー側クラスを依然として作成できるため、その中に含まれているプロバイダには、クライアント側の新しい TDBXAppServerConnection クライアント コンポーネントからアクセスすることができます。 TDBXAppServerConnection は、dbExpress を使って DataSnap サーバーに接続するためのもので、既存のアプリケーションの互換性を保ちつつ新しい DataSnap 機能を活用できるようにするために用意されています。 新しいアプリケーションでは、TRemoteDataModule を DataSnap と共に使用する必要はありません。