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

前
次

2.3 ページ・プロセスおよびページ・レンダリングの仕組み

Oracle Application Expressが暗黙的コミットを発行したときのApplication Expressエンジンによるページ・レンダリングとページ・プロセスの仕組み、条件付きのレンダリングおよびプロセスの仕組み、ユーザー・アイデンティティの検証方法またはコントロールやコンポーネントへのアクセスの制御方法について学習します。

2.3.1 Application Expressエンジンがページをレンダリングおよび処理する方法

Application Expressエンジンは、Oracle Database表に格納されたデータに基づいて、ページを動的にレンダリングおよび処理します。レンダリングされたアプリケーションを表示するには、Application ExpressエンジンからURLを使用してそれをリクエストします。アプリケーションを実行すると、Application Expressエンジンによって次の2つのプロセスが使用されます。

  • ページを表示 - 「ページを表示」は、すべてのページ属性(リージョン、アイテム、ボタンなど)を表示可能なHTMLページに編成するページ・レンダリング・プロセスです。URLを使用してページをリクエストする場合、エンジンはページ表示を実行します。

  • ページ受入れ - ページ受入れでは、計算、検証、処理、ブランチなどのフォーム・ページの処理を実行します。ページを送信すると、Application Expressエンジンはページ受入れまたはページ・プロセスを実行します(その間に、送信された値をセッション・キャッシュに保存し、計算、検証または処理を実行します)。

2.3.2 暗黙的コミット・ポイントについて

Oracle Application Expressは次のポイントで暗黙的なコミットを発行します。

  • ロード時、ページのレンダリングが終了した後。

  • 送信時、別のページにブランチする前。

  • 送信時、1つ以上の検証が失敗した場合、ページの再レンダリング前。

  • 計算後。

  • アイテムの値の変更後、たとえば、バインド変数値を変更するPL/SQLプロセスの後、またはAPEX_UTIL.SET_SESSION_STATEがコールされたとき。

  • APEX_MAIL.PUSH_QUEUEがコールされたとき。

関連項目:

『Oracle Application Express APIリファレンス』SET_SESSION_STATEプロシージャおよびPUSH_QUEUEプロシージャに関する項

2.3.3 条件付きのレンダリングおよびプロセスの理解

開発者は、アプリケーションで条件を使用して、ページおよびページ・コンポーネントの表示やプロセス、計算および検証の実行を制御できます。

2.3.3.1 条件の概要

条件とは、リージョン、アイテム、ボタンおよびタブの表示と、プロセス、計算および検証の実行を制御するために役立つ、小さいロジックの単位です。たとえば、ボタンに条件を適用すると、レンダリング・エンジンによって、レンダリング(ページ表示)プロセス中にその条件が評価されます。条件に合格するかどうかによって、ボタンが表示されるかどうかが決まります。

関連項目:

使用可能な条件タイプの詳細なリストは、使用可能な条件を参照してください。

2.3.3.2 条件の選択

条件を指定するには、条件タイプを選択します。条件タイプは、コントロールまたはコンポーネントを最初に作成するとき、または後でコントロールまたはコンポーネントを編集するときに選択できます。

選択した条件のタイプに応じて、表示されるフィールドに適切な値を入力します。条件は、入力した値に基づいてtrueまたはfalseに評価されます。任意のコンポーネントまたはコントロールに使用可能なすべての条件のリストを表示するには、選択リストをクリックします。

2.3.3.3 条件の例: 式1のカレント・ページ

式1のカレント・ページは、カレント・ページ番号が、指定されたカンマで区切られたページ・リストに含まれている場合にtrueと評価されます。次に例を示します。

3,100,203

カレント・ページが100である場合、この条件はtrueに評価され、条件に合格します。

2.3.3.4 条件の例: 存在する

「存在する(SQL問合せが1行以上を戻す)」は、SQL問合せとして表現されます。問合せで1行以上が戻される場合、この条件はtrueと評価されます。次に例を示します。

SELECT 1 FROM employees WHERE department_id = :P101_DEPTNO

この例では、アイテムP101_DEPTNOがバインド変数として参照されます。アプリケーション・プロセスおよびSQL問合せリージョン内でバインド変数を使用すると、セッション・ステートからアイテムを参照できます。P101_DEPTNOの値に指定した部門に1人以上の従業員が存在する場合、この条件はtrueと評価されます。

2.3.3.5 条件の例: PL/SQL式

「PL/SQL式」は、trueまたはfalseを評価する式を有効なPL/SQL構文で指定するために使用します。次に例を示します。

NVL(:MY_ITEM,'NO') = 'YES'

前述の例のように、:MY_ITEMの値がYESであれば、この条件はtrueと評価されます。:MY_ITEMの値がYES以外の場合、この条件はfalseと評価されます。

2.3.4 ユーザー・アイデンティティの確認について

認証は、ユーザーのアプリケーションへのアクセスを可能にするために、ユーザーのアイデンティティを証明するプロセスです。認証では、ユーザーにユーザー名とパスワードの入力を求めたり、デジタル証明書や保護キーを使用する場合があります。

Oracle Application Expressは、モジュール認証をサポートしているため、必要に応じて認証メソッドを簡単に切り替えられます。ユーザー・アイデンティティの証明は、いくつかの組込み認証メソッドから選択するか、またはウィザードを使用して独自のカスタム認証方法を作成して実行できます。

2.3.5 コントロールおよびコンポーネントへのアクセスの制御について

条件はページ上の特定のコントロールまたはコンポーネントのレンダリングおよび処理を制御しますが、認可スキームはユーザーのアクセスを制御します。認可は、ユーザー権限に基づいてリソースへのアクセスを制御することを示す広義語です。

認可スキームは、認証で証明されたアイデンティティを使用して、その中のアプリケーションおよびオブジェクトに権限を付与します。認可スキームは、アプリケーション全体、各ページ、またはリージョン、アイテム、ボタンなどの特定のページ・コントロールに対して指定できます。たとえば、認可スキームを使用して、ユーザーに表示するタブ、リージョンまたはナビゲーション・バー・エントリを選択的に決定できます。