Architecture

Oracle APEX uses a database encapsulated simple metadata-driven architecture that provides fast data access, top performance, and scalability, out of the box.

Overview

Oracle APEX uses a simple 3-tier architecture where requests are sent from the browser, through a web server, to the database. All processing, data manipulation and business logic is executed in the database. This architecture guarantees zero latency data access, top performance, and scalability, out of the box.

Application
ORDS
APEX
This diagram highlights the process flow when a user requests or submits a page in Oracle APEX.

A web request from the web browser is sent to Oracle REST Data Services (ORDS) where it is handed to Oracle Database to be actioned. Within the database, the request is processed by Oracle APEX. Once the processing is complete, the result is sent back through ORDS to the browser.

The Oracle RAD Stack

The Oracle RAD stack is an inclusive technology stack based on three core components: Oracle REST Data Services (ORDS), Oracle APEX, and Oracle Database.

This stack provides all the necessary components to develop and deploy world-class, powerful, beautiful, and scalable apps. There are no other moving parts of additional components required. In addition, both Oracle APEX and ORDS are no-cost features of Oracle Database, meaning if you have Oracle Database, you already have this Oracle RAD stack.

  • 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 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 RAD

Metadata Driven

When you create or extend an application, Oracle APEX creates or modifies the metadata stored in its database tables. When the application is run, the Oracle APEX engine then reads the metadata and displays the requested page or processes page submissions.

To provide stateful behavior within an application, Oracle APEX transparently manages session state in the database. Application developers can get and set session state using simple substitutions as well as standard SQL bind variable syntax. There is no need for file-based compilation and there is no code generation.

All processing is performed by PL/SQL acting directly on the data schemas in the database. Therefore, Oracle APEX apps are very efficient as data is manipulated directly in the database, and the results are sent back to your web browser. A single API call invokes all of the necessary data processing, based on the metadata definition, in a single request rather than requiring multiple calls to the database.

Stateless Access

Oracle APEX is vastly scalable and can support tens of thousands of concurrent users due to the manner in which it manages database requests. The API calls to the Oracle APEX engine use the standard Oracle database connection pool. This means that once an API call is processed and the response sent back to the browser, the connection used is returned to the database connection pool, and can be used by any other request.

The database sessions are only active when performing a request, otherwise, the users' session is inactive and does not consume any database resources. Session state information is stored in the browser cache when the user first authenticates, and then is sent with each subsequent request.