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.
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 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.
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.
AppDev as a Service
One of the benefits of this metadata-driven and database architecture is Oracle APEX's ability to provide a fully self-service, automated, application development platform.
You can configure Oracle APEX to run in a self-service mode, allowing anyone in the organization to sign up for their own workspace. With this approach, departments can continue to be responsible for building their own apps, while staying within the purview of IT. IT is now in a position to properly manage policies and procedures for accessing and using corporate data.
This fosters a better working relationship between IT and departments, rather than departments forming "Shadow IT". Collaboration is better for IT, better for the departments, and therefore much better for the organization.
-
Self-Service Capabilities
APEX provides email provisioning to allow anyone to sign-up for their own hosted workspace (development environment) and be up and running in minutes developing their own apps.
-
IT Governance
The development environment is professionally managed by the IT department, ensuring all of the data is backed up, as everything is within the database. IT can readily monitor the apps performance and data access.
-
Collaboration
IT can easily help departments as they are using consistent tooling, that is SQL and PL/SQL based. IT can also help by extending the apps with low-level code such as JavaScript, HTML, and CSS as needed.
-
Direct Access to Corporate Data
Departments regularly struggle accessing corporate data and will sometimes even rekey data. IT can provide trusted access to the source of the data or provide RESTful Web Services they can use within their APEX apps.