Apex (Application Express / earlier HTMLDB) : is web application development tool for Oracle Database.
Components in Apex : Oracle Database, tables and PL/SQL code in database, Apex Engine, Oracle HTTP Server (optional from 11.1 database), PL/SQL gateway (from 10g EX or 11.1 and higher only) in place of Oracle HTTP Server
Request flow in Apex :
User type in Apex URL in browser -> Request hit web server (or XML DB HTTP Server) -> Web server forward this is PL/SQL call to database -> Database Processes APEX PL/SQL call and return result to web server as HTML page -> Web Server return web page to user
.
Changes in APEX architecture from Oracle database 11.1 and higher
From Oracle database 11g (11.1 and higher) or Oracle XE (10g), you could use either Oracle XML DB Web Server (installed as part of database) or standalone Oracle HTTP Server (Apache with mod_pls)
Option 1. For Oracle DB prior to 11.1 (or XE 10g) : Oracle database versions prior to 11.1 require Oracle HTTP Server (Apache with mod_plsql) to access Apex .
.
Option 2. From Oracle Database version 11.1 and higher (or 10g XE) you could use embedded PL/SQL gateway (XML DB Web Server) hence removing need of Oracle HTTP Server (Apache with mod_plsql) as
.
What is Oracle DB embedded PL/SQL Gateway ?
Embedded PL/SQL gateway provides Oracle Database with Web Server and infrastructure to create dynamic applications. Embedded PL/SQL gateway runs in XML DB HTTP Serverin Oracle Database and includes core features of mod_plsql (apache module for pl/sql), hence removing need of Oracle HTTP Server (Apache web server with additional modules from Oracle)
.
How to configure Apex with embedded PL/SQL Gateway ?
1. Run apxconf.sql ($ORACLE_HOME/apex) – enter ADMIN password and XML DB HTTP Server port when prompted
2. Unlock ANONYMOUS account (SQL> ALTER USER ANONYMOUS ACCOUNT UNLOCK;)
3. Access Apex using http://hostname:port/apex/apex_admin (where port is port you mentioned above, username as ADMIN and password you entered above)
.
How to Enable/Disable or change Port Oracle XML DB HTTP Server ?
To disable
1. Connect to database as sysdba &
SQL>EXEC DBMS_XDB.SETHTTPPORT(0);
SQL>COMMIT;
To Enable
1. Connect to database as sysdba &
SQL>EXEC DBMS_XDB.SETHTTPPORT(web_port);
SQL>COMMIT;
To check current XMLDB HTTP Server Port
SQL> SELECT DBMS_XDB.GETHTTPPORT FROM DUAL;
Interested in developing web application using Apex but don’t want to install Apex or Database then try http://apex.oracle.com
.
References
Creating workspace, users in Oracle Application Express (Apex) coming soon..