アーキテクチャ
Oracle APEXでは、高速データ・アクセス、最高度のパフォーマンスおよびスケーラビリティが即座に提供される、データベースにカプセル化された単純なメタデータ駆動型のアーキテクチャを使用しています。
概要
Oracle APEXでは、単純な3層アーキテクチャを使用しており、リクエストはブラウザからWebサーバーを介してデータベースに送信されます。すべての処理、データ操作およびビジネス・ロジックは、データベースで実行されます。このアーキテクチャにより、そのままの状態で、待機時間なしのデータ・アクセス、最高度のパフォーマンスおよびスケーラビリティが保証されます。



WebブラウザからのWebリクエストは、Oracle REST Data Services (ORDS)に送信され、そこでアクション対象のOracle Databaseに渡されます。データベース内で、リクエストはOracle APEXによって処理されます。処理が完了すると、その結果はORDSを介してブラウザに戻されます。
Oracle RADスタック
Oracle RADスタックは、Oracle REST Data Services (ORDS)、Oracle APEXおよびOracle Databaseという3つのコア・コンポーネントに基づいた包括的なテクノロジ・スタックです。
このスタックにより、強力で洗練されたスケーラブルな最高レベルのアプリケーションを開発およびデプロイするために必要なすべてのコンポーネントが提供されます。他に未確定の追加コンポーネントは必要ありません。また、Oracle APEXとORDSは、両方ともOracle Databaseの無償機能であるため、Oracle Databaseがあれば、このOracle RADスタックを使用できます。
-
REST Data Services (ORDS)
ORDS is a Java application that enables developers with SQL and database skills to develop REST APIs for Oracle Database, Oracle Database 12c JSON Document store and higher, and the Oracle NoSQL Database.
-
APEX
The Oracle Database's native low-code development platform that enables you to build stunning, scalable, secure apps, with world-class features, that can be deployed anywhere.
-
Database
Oracle Database — the most complete, integrated, and secure database solution for any scale deployment. This solid foundation enables apps built using Oracle APEX to be enterprise ready from day one.

メタデータ駆動
アプリケーションを作成または拡張すると、Oracle APEXによって、データベース表に格納されるメタデータが作成または変更されます。アプリケーションが実行されると、Oracle APEXエンジンがメタデータを読み取り、リクエストされたページを表示するか、ページ送信を処理します。
アプリケーション内でステートフルな動作を提供するため、Oracle APEXは、データベースのセッション・ステートを透過的に管理します。アプリケーション管理者は、標準のSQLバインド変数構文と同様に単純な置換を使用してセッション・ステートを取得および設定できます。ファイルベースのコンパイルは不要で、コードも生成されません。
すべての処理は、データベースのデータ・スキーマに直接作用するPL/SQLによって実行されます。したがって、データがデータベースで直接操作され、結果がWebブラウザに戻されるため、Oracle APEXアプリケーションは非常に効率的です。単一のリクエストでは、データベースに複数のコールが要求されることはなく、メタデータ定義に基づいて単一のAPIコールで必要なすべてのデータ処理が起動されます。

ステートレス・アクセス
Oracle APEXは、非常にスケーラブルで、そのデータベース・リクエストの管理方法に基づいて、何万人もの同時ユーザーをサポートできます。Oracle APEXエンジンに対するAPIコールでは、標準のOracleデータベース接続プールが使用されます。つまり、APIコールが処理されてレスポンスが元のブラウザに送信されると、使用された接続はデータベース接続プールに戻され、他のリクエストで使用できるようになります。
データベース・セッションは、リクエストの実行時のみアクティブとなり、それ以外の場合、ユーザーのセッションは非アクティブで、データベース・リソースを消費しません。セッション・ステート情報は、ユーザーが最初に認証されたときにブラウザ・キャッシュに格納され、後続の各リクエストとともに送信されます。

AppDev as a Service
このメタデータ駆動型データベース・アーキテクチャのメリットの1つは、Oracle APEXで完全にセルフサービスの自動化されたアプリケーション開発プラットフォームを提供できることです。
Oracle APEXをセルフサービス・モードで実行するように構成すると、組織内の誰もが独自のワークスペースにサインアップできるようになります。このアプローチでは、各部門は引き続き独自のアプリケーションの構築に責任を負いますが、ITの管轄内にとどまります。この場合、ITは、企業データへのアクセスとその使用に関するポリシーおよび手順を適切に管理できる立場にあります。
これにより、各部門が「シャドウIT」を形成することなく、ITと各部門間の作業関係の改善が促されます。コラボレーションはITに、そして各部門によい影響を与え、結果として組織全体のレベルが向上します。

-
セルフサービス機能
APEXでは、電子メール・プロビジョニングを提供しており、誰でもホストされた独自のワークスペース(開発環境)を確保するためにサインアップして、数分のうちにアプリケーション開発を実行に移すことができます。
-
ITガバナンス
開発環境は、IT部門によって専門的技術で管理され、すべてのデータがバックアップされることが保証されます(データはすべてデータベース内に存在するため)。ITによって、アプリケーション・パフォーマンスとデータ・アクセスを容易にモニターできます。
-
コラボレーション
ITでは、SQLおよびPL/SQLベースの一貫性のあるツールを使用して、各部門を簡単に支援できます。また、必要に応じてJavaScript、HTML、CSSなどのロー・レベル・コードを使用して、支援のためにアプリケーションを拡張することもできます。
-
企業データへの直接アクセス
各部門は、いつも苦労して企業データにアクセスしており、ときにはデータの再入力さえ行っています。ITにより、データのソースに対する信頼できるアクセスを提供することや、APEXアプリケーション内で使用できるRESTful Webサービスを提供することが可能です。