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
|
How the Application Express Engine Renders and Processes Pages
The Application Express engine dynamically renders and processes pages based on data stored in Oracle database tables.
To view a rendered version of the application, we request it from the Application Express engine.
When we run an application, the Application Express engine relies on two processes:
Show Page is the page rendering process. It assembles all the page
attributes (including regions, items, and buttons) into a viewable HTML
page.
Accept Page performs page processing. It performs any computations,
validations, processes, and branching.
When we request a page using a URL, the engine is running Show Page.
When we submit a page, the Application Express engine is running Accept Page or performing page processing
during which it saves the submitted values in the session cache and then performs any computations, validations, or processes.
The Application Express
engine is accessed from a Web browser through a Web server.
There are three choices of
Web Server.
1. Oracle Application Express Listener (APEX Listener)
-- Built in Java
-- installed into a J2EE Web Server.
-- Alternative for Oracle HTTP Server (OHS) and mod_plsql.
-- Offers increased functionality including
-- A web based configuration,
-- enhanced security,
-- And file caching.
-- provides flexibility by supporting deployments using Oracle Web
Logic Server (WLS), Oracle Glassfish Server and OC4J.
Standard Configuration
Applicable
for the majority of installations for local systems or multi-tenant private
clouds where there is no requirement to handle requests from outside a
firewall.
Oracle APEX Listener is installed onto a J2EE
compliant Web Server and the users are provided the appropriate link directly
to that service.
Advanced Configuration
--For public systems or hosted environments.
--Oracle APEX Listener is installed inside of the firewall.
--HTTP listener is installed outside of the firewall.
--The requests are sent to the external Web server and passed through the
firewall to the APEX Listener.
2. Oracle HTTP Server (Apache) and mod_plsql
--mod_plsql : 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 HTTP Server uses the mod_plsql plug-in to communicate with the
Oracle Application Express engine.
Oracle HTTP Server:
--Web server component for Oracle Fusion Middleware.
--It provides a HTTP listener for Oracle WebLogic Server and the framework for hosting static pages, dynamic pages, and applications over the Web.
mod_plsql
-- provides support for building PL/SQL-based applications on the Web.
-- Oracle HTTP Server plug-in that communicates with the database.
-- It maps browser requests into database stored procedure calls over
a SQL*Net connection.
-- It is often indicated by a /pls virtual path.
The Oracle HTTP Server receives a PL/SQL Server Page request from a client
browser.
The Oracle HTTP Server routes the request to mod_plsql.
The request is forwarded by mod_plsql to the Oracle Database. By using the
configuration information stored in your DAD, mod_plsql connects to the
database.
mod_plsql prepares the call parameters, and invokes the PL/SQL procedure
in the application.
The PL/SQL procedure generates an HTML page using data and the PL/SQL
Web Toolkit accessed from the database.
The procedure returns HTTP response is returned to mod_plsql.
The Oracle HTTP Server sends the response to the client browser.
mod_plsql
includes the PL/SQL Web Toolkit, which contains a set of packages called the
owa packages.
DAD(Database Access Descriptor):
Each mod_plsql request is associated with a Database Access Descriptor (DAD), a set of configuration values used for database access. A DAD specifies information such as:
·the database alias (Net8 service name).
·a connect string, if the database is remote.
·a procedure for uploading and downloading documents.
You can also specify username and password information in a DAD. If they are not specified, the user is prompted to enter a username and password when the URL is invoked.
3. Embedded PL/SQL Gateway (EPG)
--The embedded PL/SQL gateway installs with the Oracle database.
--It provides the Oracle database with both a web server and the
necessary infrastructure to create dynamic applications.
--Runs in the Oracle XML DB HTTP server in the Oracle database and
includes the core features of mod_plsql.