3 層アプリケーションの概要

提供: RAD Studio
移動先: 案内検索

多層データベース アプリケーションを理解する への移動

次の手順で、プロバイダベースの 3 層アプリケーションで通常発生する処理の流れを説明します:

  1. ユーザーがクライアント アプリケーションを起動します。クライアントはアプリケーション サーバー(設計時または実行時に指定可能)に接続します。アプリケーション サーバーが実行中でない場合、起動します。クライアントは、アプリケーション サーバーと通信するのに必要な IAppServer インターフェイスを受け取ります。
  2. クライアントがアプリケーション サーバーのデータを要求します。クライアントは、1 度にすべてのデータを要求する場合もありますが、セッションを通じてチャンク形式でデータを要求(必要に応じて取得)する場合もあります。
  3. アプリケーション サーバーは、(必要な場合ははじめにデータベース接続を確立して)データを取得し、クライアント用にパッケージ化して、クライアントにデータ パケットを返します。追加情報(フィールドの表示特性など)を、データ パケットのメタデータに設定することができます。データをデータ パケットにパッケージ化するプロセスを "プロバイドする" といいます。
  4. クライアントがデータ パケットをデコードして、ユーザーにデータを表示します。
  5. ユーザーがクライアント アプリケーションで作業すると、データが更新されます(レコードの追加、削除、または変更)。 これらの変更は、クライアントによって変更ログに保存されます。
  6. 最終的に、クライアントはこれらの更新を(通常はユーザー アクションへの応答として)アプリケーション サーバーに適用します。更新を適用するために、クライアントは変更ログをパッケージ化して、データ パケットとしてサーバーに送信します。
  7. アプリケーション サーバーはこのパッケージをデコードして、(トランザクションの範囲内で適切な場合に)更新を登録します。レコードを登録できない場合(たとえば、クライアントがレコードを要求した後や、クライアントがレコードの更新を適用する前に、他のアプリケーションがそのレコードを変更した場合)、アプリケーション サーバーはクライアントの変更を現在のデータで調停しようとするか、登録できなかったレコードを保存します。 レコードを登録したり問題のあるレコードをキャッシュするプロセスを、"解決する" といいます。
  8. アプリケーション サーバーで解決プロセスが完了したときに登録されなかったレコードがある場合、別の方法で解決するために、アプリケーション サーバーはクライアントにそのレコードを返します。
  9. クライアントは、未解決のレコードを調停します。クライアントが未解決のレコードを調停する方法は、さまざまです。通常クライアントは、レコードの登録を妨げる状況を修正しようとするか、変更を破棄します。 エラーが発生した状況を修正できた場合、クライアントは再度更新を適用します。
  10. クライアントはサーバーのデータをリフレッシュします。

DataSnap を使用して 3 層アプリケーションを作成する

DataSnap を使用すると、インターネット、ローカル ネットワーク、またはローカル ホストを介して通信するクライアント/サーバー アプリケーションを作成できます。 DataSnap では、サーバー メソッドのプロトタイプを含め、クライアントがサーバーと通信するのに必要なインターフェイスが自動的に生成されます。DataSnap 技術で開発された 3 層アプリケーションを使用すると、クライアント ユーザーはすべてのサーバー メソッドを呼び出すことができます。

DataSnap を使ってアプリケーションを作成する方法の例については、次のページを参照してください:

多層 DataSnap アプリケーションを配置する

DataSnap には、Delphi アプリケーションに対する多層データベース機能があり、クライアント アプリケーションによるアプリケーション サーバーのプロバイダへの接続を実現します。

アプリケーションと共に再配布が必要なファイルの詳細については、DEPLOY ドキュメント(Delphi のメイン ディレクトリにあります)を参照してください。 再配布できる DataSnap ファイルの種類やその方法の関連情報については、REMOTE ドキュメントも参照してください。

関連項目