サーバー アプリケーションを作成する
多層アプリケーションの作成:インデックス への移動
アプリケーション サーバーの作成は、大半のデータベース アプリケーションの作成と非常に似ています。大きな違いは、アプリケーション サーバーではデータ モジュールを使用する点です。
サーバー アプリケーションを作成するには:
メモ: 以下の説明に現れるウィザードの中には、新規の VCL フォーム アプリケーション プロジェクトが必要なものがあります。また、[トランザクション データ モジュール]の場合は、プロジェクトに ActiveX ライブラリ([新規作成]ダイアログ ボックスの[ActiveX]ページで選択可能)を追加しておく必要があります。
- 以下のようにして、新規プロジェクトを開始します。
- 新しい DataSnap 技術を使用するには、[DataSnap サーバーの新規作成]ウィザードを使ってサーバー アプリケーションを作成するか、「チュートリアル:アプリケーションで DataSnap サーバーを使用する」で述べている手順を実施します。[DataSnap サーバーの新規作成]ウィザードでは、TDSServerModule を追加できます。
- SOAP をトランスポート プロトコルとして使用する場合は、プロジェクトは新規の Web サービス アプリケーションでなければなりません。 [ファイル|新規作成|その他...]を選択し、[新規作成]ダイアログ ボックスの[Web サービス]ページで[SOAP サーバー アプリケーション]を選びます。使用する Web サーバーの種類を選択し、SOAP モジュールの新しいインターフェイスを定義するかどうかを尋ねられたら、[いいえ]をクリックします。
- 他のすべてのトランスポート プロトコルについては、[ファイル|新規作成|<アプリケーション>]を選択するだけです。
- 新規プロジェクトを保存します。
- プロジェクトに新しいリモート データ モジュールを追加します。サーバー データ モジュール([DataSnap サーバーの新規作成]ウィザードを使って追加できます)の場合以外は、 [ファイル|新規作成|その他...] を選択し、[新規作成]ダイアログ ボックスの[多層サポート]ページまたは[Web サービス]ページで以下のいずれかを選択します。
- [リモート データ モジュール]: DCOM、HTTP、ソケットのいずれかを使ってクライアントからアクセスされる COM オートメーション サーバーを作成する場合。
- [トランザクション データ モジュール]: COM+ (または MTS)の下で動作するデータ モジュールを作成する場合。接続は DCOM、HTTP、ソケットのどれを使って確立してもかまいません。ただし、セキュリティ サービスをサポートしているのは DCOM だけです (このウィザードを開くには、プロジェクトにあらかじめ ActiveX ライブラリを追加しておく必要があります。これは[ActiveX]ページに含まれています)。
- [SOAP サーバー データ モジュール]: Web サービス アプリケーションにおける SOAP サーバーを作成する場合。リモート データ モジュールをセットアップする詳細は、「データ モジュールをセットアップする」を参照してください。
- 適切なデータセット コンポーネントをデータ モジュールに配置し、データベース サーバーにアクセスするようにセットアップします。
- クライアントに公開するデータセットごとに、データ モジュールに TDataSetProvider コンポーネントを配置します。このプロバイダは、クライアント要求のブローカリングとデータのパッケージ化に必要です。各プロバイダの DataSet プロパティをアクセス先のデータセットの名前に設定します。プロバイダには追加プロパティを設定できます。プロバイダをセットアップする詳細は、「プロバイダ コンポーネントの使用」を参照してください。XML ドキュメントに記述されたデータを扱う場合は、データセットと TDataSetProvider コンポーネントの代わりに TXMLTransformProvider コンポーネントを使用することができます。TXMLTransformProvider を使用する場合は、データの提供元および更新の適用先となる XML ドキュメントを指定するように XMLDataFile プロパティを設定します。
- アプリケーション サーバー コードを書いて、イベント、共有ビジネス ルール、共有データ検証、共有セキュリティを実装します。このコードを書く際には、以下を行ってもかまいません。
- アプリケーション サーバーのインターフェイスを拡張して、クライアント アプリケーションからサーバーを呼び出す方法を追加する。
- 更新適用時のトランザクションの自動生成より進んだトランザクション サポートを提供する。
- アプリケーション サーバーにおけるデータセット間にマスタ/詳細関係を作成する。
- アプリケーション サーバーのステートレス性を確保する。
- アプリケーション サーバーを複数のデータ モジュールに分割する。
- プロジェクトを保存およびコンパイルし、アプリケーション サーバーを登録またはインストールします。
- dbExpress を使用する DataSnap ではランタイムは不要です。
- サーバー アプリケーションで TCP/IP ソケットまたは HTTP 接続を使用する場合は、クライアント メッセージの受信、リモート データ モジュールのインスタンス化、インターフェイス呼び出しのマーシャリングを行うランタイム ソフトウェアをインストールする必要があります。
- TCP/IP ソケットの場合は、ソケット ディスパッチャ アプリケーション Scktsrvr.exe です。
- HTTP 接続の場合は、Web サーバーにインストールしなければならない ISAPI/NSAPI DLL である httpsrvr.dll です。
関連トピック
- DataSnap 通信ストリームのフィルタリング
- データ モジュールのセットアップ
- 複数のサーバー データ モジュールの使用(COM)
- アプリケーション サーバーのインターフェイスの拡張(COM)
- 多層アプリケーションでのトランザクションの管理(COM)
- マスタ/詳細関係のサポート
- 公開データ モジュールでの状態情報のサポート