Thursday, 16 May 2013

Oracle Apex 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

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.

 

No comments:

Post a Comment