Oracle Application Express
Return to Oracle APEX Home
Application Express Architecture

Oracle Application Express consists of a metadata repository that stores the definitions of applications and an engine (called the Application Express engine) that renders and processes pages. It lives completely within your Oracle database. It is comprised of nothing more than data in tables and large amounts of PL/SQL code. The essence of Oracle Application Express is approximately 425 tables and 230 PL/SQL packages containing 425,000+ lines of code.

The Application Express engine performs:

  • Session state management
  • Authentication services
  • Authorization services
  • Page flow control
  • Validations processing
  • Rendering and page processing

The asynchronous session state management architecture ensures the minimal CPU resources are consumed. The browser sends a URL request that is translated into the appropriate Oracle Application Express PL/SQL call. After the database processes the PL/SQL, the results are relayed back to the browser as HTML. This cycle happens each time one either requests or submits a page. The session state is managed in the database and does not use a dedicated database connection. Each page view results in a new database session, thus database resources are only consumed when the Application Express engine processes or renders a page.

The Application Express engine is accessed from a Web browser through a Web server. Applications are rendered in real time from the metadata repository stored in database tables. Building or extending applications does not cause code to be generated, instead metadata is created or modified.

There are three choices of Web Server that can be used with Oracle Application Express:

1. Oracle Application Express Listener (APEX Listener)

The APEX Listener is built in Java and is installed into a J2EE Web Server. The APEX Listener is certified against Oracle Weblogic Server, Oracle Glassfish Server, and OC4J.

Oracle Application Express using the APEX Listener

2. Oracle HTTP Server (Apache) and mod_plsql

mod_plsql is an Apache extension for the Oracle HTTP Server. The Oracle HTTP Server can be installed on the same server as the database or installed on multiple servers, providing fault tolerance.

Oracle Application Express using the Oracle HTTP Server (Apache) with mod_plsql

3. Embedded PL/SQL Gateway (EPG)

The embedded PL/SQL Gateway is a feature of Oracle Database 11g. The EPG provides the Oracle Database with a Web Server and also the necessary infrastructure to create dynamic applications. The EPG runs in the XML Database HTTP Server, part of the Oracle Database, and includes the core features of mod_plsql, but does not require a separate Web Server. Oracle Database 10g Express Edition (XE) also utilizes the EPG.

Oracle Application Express using the Embedded PL/SQL Gateway