プライマリ・コンテンツに移動
Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド
リリース5.1
E83810-03
目次へ移動
目次
索引へ移動
索引

前
次

2.6 セッション・ステートの管理の理解

Oracle Application Expressは透過的にセッション・ステートを保持するため、開発者は、アプリケーションの任意のページでセッション・ステートの値を取得および設定できます。

トピック:

2.6.1 セッション・ステートの概要

Hypertext Transfer Protocol (HTTP)は、HTMLページの配布に最も一般的に使用されるプロトコルであり、ステートレスなプロトコルです。Webブラウザは、ページ全体をダウンロードするために必要な時間のみサーバーに接続します。また、サーバーでは、各ページ・リクエストは、発生済または将来発生する他のページ・リクエストと関連しない個別のイベントとして処理されます。後続のページのあるページに入力したフォーム値にアクセスするには、値をセッション・ステートとして格納する必要があります。Oracle Application Expressは透過的にセッション・ステートを保持するため、開発者は、アプリケーションの任意のページでセッション・ステートの値を取得および設定できます。

2.6.2 セッションの概要

セッションは、ページ・ビュー間で永続性(またはステートフルな動作)を確立する論理的な構成体です。各セッションには、一意の識別子が割り当てられています。Application Expressエンジンは、この識別子(セッションID)を使用して、各ページ・ビューの前後に、アプリケーションで作業中のデータ・セット(セッション・ステート)を格納および取得します。

個々のセッションは相互に完全に独立しているため、任意の数のセッションがデータベース内に同時に存在できます。また、ユーザーは複数のブラウザ・プログラムで、アプリケーションの複数のインスタンスを同時に実行できます。

セッションは、ページ・リクエストの処理に使用されるOracle Databaseセッションとは論理的にも物理的にも異なります。ユーザーは、サインインからサインアウトまでの単一のOracle Application Expressセッションでアプリケーションを実行し、その期間は分または時間で測定される一般的なものとなります。このセッション中にページがリクエストされるたびに、Application ExpressエンジンはOracle Databaseセッションを作成または再利用してデータベース・リソースにアクセスします。多くの場合、これらのデータベース・セッションは、数分の1秒のみ存続します。

関連項目:

Oracle Application Express管理ガイドの「アクティブ・セッションの表示」を参照してください。

2.6.3 セッションIDについて

Application Expressエンジンは、ページ・リクエストごとにユーザーのアイデンティティを証明し、データベースからセッション・ステートをフェッチするためにセッションIDを確立します。セッションIDは、ページ・リクエストのURL内に明示的に示されています。URLの第3パラメータとしてセッションIDが表示されます。次に例を示します。

http://apex.somewhere.com/pls/apex/f?p=4350:1:220883407765693447

この例では、セッションIDは220883407765693447です。

また、ページのHTML POSTデータにも明示的に示され、セッションのCookieのコンテンツ内にも間接的に示されています。このCookieは、認証時にApplication Expressエンジンによって送信され、アプリケーション(またはブラウザ)セッションの存続中、維持されます。

Oracle Application Expressは、認証プロセス中に新しいセッションIDを割り当て、認証されたユーザーのアイデンティティをセッションIDとともに記録し、続けて各ページ・リクエストのURLまたはPOSTデータをセッションのCookieおよびデータベースのセッション・レコードと照合して確認します。この確認によって、柔軟性とセキュリティが向上します。

セッションIDがセッション・ステート用のキーであるのに対し、セッションのCookieおよびセッション・レコードは、セッションIDとユーザーの認証ステータスの整合性を保証します。

2.6.4 セッション・ステートの表示

Oracle Application Expressアプリケーションの動作は、通常、セッション・ステートの値によって決まります。たとえば、ボタンは、アイテムのセッション・ステートの値に基づいて、条件付きで表示できます。この項では、ページのセッション・ステートを表示する方法について説明します。

トピック:

2.6.4.1 ページのセッション・ステートの表示

ページのセッション・ステートを表示するには、次のステップを実行します。

  1. 開発者としてアプリケーションを実行します。
  2. ページの下部にある開発者ツールバーに移動します。
  3. 開発者ツールバーの「セッション」をクリックします。

    セッション・ページが表示されます。

2.6.4.2 セッション・ページの使用

セッション・ページは、現在実行中のアプリケーションのセッションに関する有益な情報を提供します。

セッション・ページの表示を制御するには、次のステップを実行します。

  1. ページ - ページ番号を入力します。
  2. 検索 - 検索する文字列を入力します。
  3. 行 - 表示する行数を選択します。
  4. 表示 - 表示する情報を選択します。
  5. 「設定」をクリックします。

    次の情報がページの上部に表示されます。

    • アプリケーション - アプリケーション名が表示されます。

    • セッション - カレント・セッションのセッションIDが表示されます。

    • ユーザー - カレント・ユーザーが表示されます。

    • ワークスペース - 現在のワークスペースIDが表示されます。

    • ブラウザ言語 - 現在のブラウザ言語が表示されます。

    表2-1に、選択した「表示」オプションに応じてセッション・ページに表示される情報を示します。

    表2-1 セッション・ページの「表示」オプション

    「表示」オプション 説明

    「表示」、「ページ・アイテム」

    アプリケーションID、ページ番号、アイテム名、アイテムの表示方法(チェック・ボックス、日付ピッカー、表示のみ、テキスト・フィールド、非表示、ポップアップ、ラジオ・グループなど)、セッション・ステートのアイテム値、セッション・ステートのステータス(「挿入」、「更新」、「リセット」など)、アイテムが暗号化されるかなどのページ・アイテムの属性が表示されます。

    関連項目: ページ・レベル・アイテムの理解

    「表示」、「アプリケーション・アイテム」

    アプリケーション・アイテムは、ページに存在しないアイテムです。アプリケーション・アイテムは、関連付けられたユーザー・インタフェース・プロパティを持たないセッション・ステート変数です。

    関連項目: アイテム値の参照の詳細は、アプリケーション・レベル・アイテムの管理および置換文字列の理解を参照してください。

    「表示」、「セッション・ステート」

    アプリケーションID、ページ番号、アイテム名、セッション・ステートのアイテム値、アイテムの表示方法(チェック・ボックス、日付ピッカー、表示のみ、テキスト・フィールド、非表示、ポップアップ、ラジオ・グループなど)、ラベル、暗号化ステータス、データ・アイテムIDなどのセッション・ステートの詳細が表示されます。

    「表示」、「コレクション」

    現在定義されているコレクションが表示されます。

    関連項目: コレクションの使用について