ヘッダーをスキップ
Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド
リリース3.2
B53794-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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

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

この項に含まれる内容は次のとおりです。

セッションの概要

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

個々のセッションは相互に完全に独立しているため、任意の数のセッションがデータベース内に同時に存在できます。セッションは管理者によって消去されるまでデータベース内で存続するため、ユーザーは、以前のセッションに戻ることができ、1つのアプリケーションを長期間実行し続けることができます。また、ユーザーは複数のブラウザ・セッションで、アプリケーションの複数のインスタンスを同時に実行できます。

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


関連項目:

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

セッション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とユーザーの認証ステータスの整合性を保証します。

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

Oracle Application Expressアプリケーションの動作は、通常、セッション・ステートの値によって決まります。たとえば、ボタンは、アイテムのセッション・ステートの値に基づいて、条件付きで表示できます。ページのセッション・ステートを表示するには、開発者ツールバーの「セッション」をクリックします。

d_toolbar.gifの説明が続きます
図d_toolbar.gifの説明

セッション・ステート・ページについて

セッション・ステート・ページは、現在実行中のアプリケーションのセッションに関する有益な情報を提供します。特定のページを検索するには、ページ・フィールドにページ番号を入力して「実行」をクリックします。表3-1に、セッション・ステート・ページで参照可能な様々な情報を示します。

表3-1 セッション・ステート・ページで参照可能な情報

ヘッダー 説明

アプリケーション

アプリケーションの名前を表示します。

セッション

カレント・セッションのセッション・ステートのサマリーを表示します。

ユーザー

現行ユーザーを表示します。

ワークスペース

現行のワークスペースIDを表示します。

ブラウザ言語

現行のブラウザ言語を表示します。

ページ・アイテム

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

「ステータス」列には、セッション・ステートのステータスが示されます。表示される値を次に示します。

  • I: 挿入

  • U: 更新

  • R: リセット

参照: 「 ページ・レベル・アイテムの理解」

アプリケーション・アイテム

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

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