Oracle APEX utilizes a unique, metadata-driven architecture that distinguishes it from traditional file-based web development frameworks.
This framework resides entirely within the Oracle Database, meaning the engine and the application data coexist in the same environment.
By leveraging this design, APEX eliminates the latency often associated with multiple network round-trips between an application server and a database.
The architecture is fundamentally a three-tier structure comprising the web browser, the middle tier, and the database tier.
The Three-Tier Components of Oracle APEX Architecture
The Web Browser Tier
The first tier is the client-side web browser, where the end-user interacts with the application interface.
It runs standard HTML, CSS, and JavaScript that are generated dynamically by the APEX engine.
No additional client software or specific plugin is required on the user's device to run these applications.
This tier is responsible only for rendering the user interface and sending URL requests to the server.
The Middle Tier (ORDS)
The middle tier consists of Oracle REST Data Services (ORDS), which functions as a communications bridge.
ORDS is a Java-based application that runs on a web server like Apache Tomcat or WebLogic.
Its primary role is to map incoming HTTP requests from the browser to the appropriate PL/SQL calls in the database.
Crucially, this layer holds no business logic and serves strictly as a conduit for data traffic.
The Database Tier
The database tier is the core of the architecture where the APEX engine and application metadata reside.
All business logic, data processing, and page rendering instructions are executed directly within the Oracle Database.
This tier uses the PL/SQL language to efficiently manipulate data without moving it across a network.
Because the code and data are unified, complex data operations execute with exceptional speed and security.
Oracle APEX Request-Response Cycle
Step 1: The Page Request
The cycle begins when a user clicks a link or button, prompting the browser to send a URL request.
This HTTP request travels from the browser to the middle tier listener, ORDS.
Step 2: Handoff to the Database
ORDS receives the request and translates it into a specific PL/SQL procedure call.
This call is immediately forwarded to the Oracle Database using a highly efficient SQL*Net connection.
Step 3: APEX Engine Processing
Once inside the database, the Oracle APEX engine intercepts the call and identifies the requested application ID and page ID.
The engine reads the application's definition from metadata tables to understand how the page should look and behave.
If the request is to "Show Page," the engine runs the rendering process to assemble HTML regions, items, and buttons.
If the request is to "Accept Page," the engine runs computations, validations, and database manipulation processes.
Step 4: Generating the Response
After processing, the APEX engine generates a complete HTML document or a JSON response.
This response is passed back to ORDS, which relays it via HTTP to the web browser.
Step 5: Browser Rendering
Finally, the browser receives the HTML response and renders the visible page for the user.

Session Management and Statelessness
Stateless Operation
Oracle APEX operates in a stateless manner, meaning it does not maintain a persistent physical connection for each user.
This approach allows the system to support thousands of concurrent users with relatively few database connections.
Connection Pooling
ORDS maintains a pool of active database connections that are shared among all users.
When a request arrives, ORDS borrows a connection from the pool, executes the task, and immediately returns the connection.
This efficient reuse of resources ensures that the database server is not overwhelmed by idle sessions.
Session State Protection
Although the architecture is stateless, APEX maintains logical session state within database tables.
This ensures that user data, such as shopping cart items or form entries, persists securely across different page views.
Conclusion
The Oracle APEX architecture offers a streamlined, high-performance model for building enterprise web applications.
By consolidating the application logic and data within the database, it reduces complexity and improves execution speed.
Understanding this request cycle is essential for developers aiming to optimize performance and debug applications effectively.



