3.3 ページ・プロセスおよびページ・レンダリングの仕組み
APEXが暗黙的コミットを発行したときのOracle APEXエンジンによるページ・レンダリングとページ・プロセスの仕組み、条件付きのレンダリングおよびプロセスの仕組み、ユーザー・アイデンティティの検証方法またはコントロールやコンポーネントへのアクセスの制御方法について説明します。
- APEXエンジンによるページ・レンダリングおよびページ・プロセスの仕組み
- 暗黙的コミット・ポイントについて
- 条件付きのレンダリングおよびプロセスの理解
- ユーザー・アイデンティティの確認について
- コントロールおよびコンポーネントへのアクセスの制御について
親トピック: アプリケーション・ビルダーの概念
3.3.1 APEXエンジンによるページ・レンダリングおよびページ・プロセスの仕組み
Oracle APEXエンジンは、Oracleデータベース表に格納されたデータに基づいて、ページを動的にレンダリングおよび処理します。レンダリングされたアプリケーションを表示するには、APEXエンジンからURLを使用してそれをリクエストします。アプリケーションを実行すると、APEXエンジンは次の2つのプロセスに依存します。
-
ページを表示 - 「ページを表示」は、すべてのページ属性(リージョン、アイテム、ボタンなど)を表示可能なHTMLページに編成するページ・レンダリング・プロセスです。URLを使用してページをリクエストする場合、エンジンはページ表示を実行します。
-
ページ受入れ - ページ受入れでは、計算、検証、処理、ブランチなどのフォーム・ページの処理を実行します。ページを送信すると、APEXエンジンは「ページ受入れ」またはページ・プロセスを実行します(その間に、送信された値をセッション・キャッシュに保存し、計算、検証または処理を実行します)。
親トピック: ページ・プロセスおよびページ・レンダリングの仕組み
3.3.2 暗黙的コミット・ポイントについて
Oracle APEXは次のポイントで暗黙的なコミットを発行します。
- ロード時、ページのレンダリングが終了した後。
- 送信時、別のページにブランチする前。
- 送信時、1つ以上の検証が失敗した場合、ページの再レンダリング前。
- 計算後
- アイテムの値の変更後、たとえば、バインド変数値を変更するPL/SQLプロセスの後、または
APEX_UTIL.SET_SESSION_STATE
がコールされたとき。 APEX_MAIL.PUSH_QUEUE
がコールされたとき。
関連項目:
『Oracle APEX APIリファレンス』のSET_SESSION_STATEプロシージャおよびPUSH_QUEUEプロシージャ
親トピック: ページ・プロセスおよびページ・レンダリングの仕組み
3.3.3 条件付きのレンダリングおよびプロセスの理解
開発者は、アプリケーションで条件を使用して、ページおよびページ・コンポーネントの表示やプロセス、計算および検証の実行を制御できます。
3.3.3.1 条件の概要
条件とは、リージョン、アイテム、ボタンおよびタブの表示と、プロセス、計算および検証の実行を制御するために役立つ、小さいロジックの単位です。たとえば、ボタンに条件を適用すると、レンダリング・エンジンによって、レンダリング(ページ表示)プロセス中にその条件が評価されます。条件に合格するかどうかによって、ボタンが表示されるかどうかが決まります。
関連項目:
使用可能な条件タイプの詳細なリストは、使用可能な条件を参照してください。
親トピック: 条件付きのレンダリングおよびプロセスの理解
3.3.3.3 条件の例: 式1のカレント・ページ
式1のカレント・ページは、カレント・ページ番号が、指定されたカンマで区切られたページ・リストに含まれている場合にtrueと評価されます。次に例を示します。
3,100,203
カレント・ページが100である場合、この条件はtrueに評価され、条件に合格します。
親トピック: 条件付きのレンダリングおよびプロセスの理解
3.3.3.4 条件の例: 存在する
「存在する(SQL問合せが1行以上を戻す)」は、SQL問合せとして表現されます。問合せで1行以上が戻される場合、この条件はtrueと評価されます。次に例を示します。
SELECT 1 FROM employees WHERE department_id = :P101_DEPTNO
この例では、アイテムP101_DEPTNO
がバインド変数として参照されます。アプリケーション・プロセスおよびSQL問合せリージョン内でバインド変数を使用すると、セッション・ステートからアイテムを参照できます。P101_DEPTNO
の値に指定した部門に1人以上の従業員が存在する場合、この条件はtrueと評価されます。
親トピック: 条件付きのレンダリングおよびプロセスの理解
3.3.3.5 条件の例: PL/SQL式
「PL/SQL式」は、trueまたはfalseを評価する式を有効なPL/SQL構文で指定するために使用します。次に例を示します。
NVL(:MY_ITEM,'NO') = 'YES'
前述の例のように、:MY_ITEM
の値がYESであれば、この条件はtrueと評価されます。:MY_ITEMの値がYES以外の場合、この条件はfalseと評価されます。
親トピック: 条件付きのレンダリングおよびプロセスの理解
3.3.4 ユーザー・アイデンティティの確認について
認証は、ユーザーのアプリケーションへのアクセスを可能にするために、ユーザーのアイデンティティを証明するプロセスです。認証では、ユーザーにユーザー名とパスワードの入力を求めたり、デジタル証明書や保護キーを使用する場合があります。
Oracle APEXは、モジュール認証をサポートしているため、必要に応じて認証メソッドを簡単に切り替えられます。ユーザー・アイデンティティの証明は、いくつかの組込み認証メソッドから選択するか、またはウィザードを使用して独自のカスタム認証方法を作成して実行できます。
関連項目:
親トピック: ページ・プロセスおよびページ・レンダリングの仕組み
3.3.5 コントロールおよびコンポーネントへのアクセスの制御について
条件はページ上の特定のコントロールまたはコンポーネントのレンダリングおよび処理を制御しますが、認可スキームはユーザーのアクセスを制御します。認可は、ユーザー権限に基づいてリソースへのアクセスを制御することを示す広義語です。
認可スキームは、認証で証明されたアイデンティティを使用して、その中のアプリケーションおよびオブジェクトに権限を付与します。認可スキームは、アプリケーション全体、各ページ、またはリージョン、アイテム、ボタンなどの特定のページ・コントロールに対して指定できます。たとえば、認可スキームを使用して、ユーザーに表示するタブ、リージョンまたはナビゲーション・バー・エントリを選択的に決定できます。
関連項目:
親トピック: ページ・プロセスおよびページ・レンダリングの仕組み