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