1 Introducing Oracle Application Express

This section describes Oracle Application Express, its architecture, and the environment for using the product. It also introduces you to concepts and terms used in this guide when discussing Oracle Application Express.

Topics:

1.1 About Oracle Application Express

Oracle Application Express is a rapid web application development tool for the Oracle database. Using only a web browser and limited programming experience, you can develop professional applications that are both fast and secure. Thanks to built-in features such as user interface themes, navigational controls, form handlers, and flexible reports, Oracle Application Express accelerates the application development process.

From the end user's perspective, the deployed applications require only a browser and access to an Oracle database running Application Express.

Tip:

To learn more about Oracle Application Express features, click Learn more... on the Workspace home page.

1.2 Understanding Oracle Application Express Architecture

Oracle Application Express installs with your Oracle database and is composed of data in tables and PL/SQL code.

Whether you run the Oracle Application Express development environment or an application you built using Oracle Application Express, the process is the same. Your 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 your browser as HTML. This cycle happens each time you request or submit a page.

The application session state is managed in the database tables within Oracle Application Express. It does not use a dedicated database connection. Instead, each request is made through a separate database session, consuming minimal CPU resources.

Understanding Web Listener Options

In order to run, Oracle Application Express must have access to Oracle Application Express Listener, Oracle HTTP Server and mod_plsql, or the embedded PL/SQL gateway.

About Oracle HTTP Server (Apache) and Oracle Application Express Listener

Oracle HTTP Server uses the mod_plsql plug-in to communicate with the Oracle Application Express engine within the Oracle database. Oracle Application Express Listener communicates directly with the Oracle Application Express engine, thus eliminating the need for the mod_plsql plug-in.

Both Oracle HTTP Server and the Oracle Application Express Listener function as communication brokers between the web server and the Oracle Application Express objects in the Oracle database. More specifically, they map browser requests into database stored procedure calls over an Oracle Net Services connection. The following graphic illustrates the Oracle Application Express architecture using Oracle HTTP Server and mod_plsql.

Description of arch.gif follows
Description of the illustration arch.gif

This three-tier architecture has the following components:

  • A web browser

  • Oracle HTTP Server (Apache) with mod_plsql or Oracle Application Express Listener

  • An Oracle database containing Oracle Application Express

Advantages of either Oracle HTTP Server (Apache) with mod_plsql or Oracle Application Express Listener include:

  • Separation of database tier from mid-tier

  • Appropriate for Oracle Real Application Clusters (Oracle RAC) environments

  • Versions before Oracle Database 11g Release 1 require Oracle Application Express Listener or Oracle HTTP Server (Apache) with mod_plsql

About the Embedded PL/SQL Gateway

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. The embedded PL/SQL gateway runs in the Oracle XML DB Protocol Server in the Oracle database and includes the core features of mod_plsql. The following graphic illustrates the Oracle Application Express architecture using the embedded PL/SQL gateway.

Description of arch_epg.gif follows
Description of the illustration arch_epg.gif

This two-tier architecture has the following components:

  • A web browser

  • An Oracle database containing the embedded PL/SQL gateway and Oracle Application Express

Advantages of the embedded PL/SQL gateway:

  • Ease of configuration

  • Included in the database

  • No separate server installation

See Also:

"Security Considerations When Using the Embedded PL/SQL Gateway" in Oracle Application Express Application Builder User's Guide

About the Application Express Engine

The Application Express engine renders and processes pages. It also performs these tasks:

  • Session state management

  • Authentication services

  • Authorization services

  • Page flow control

  • Validations processing

1.3 About the Oracle Application Express Environment

Oracle Application Express enables a single Oracle database to become a shared workgroup database service. Multiple users can access it using a web browser without installing additional software.

1.3.1 About Workspaces

The area where you develop applications is called a workspace. A workspace is a virtual private database that enables multiple users to work within the same Oracle Application Express installation while keeping their objects, data, and applications private.

In a typical development environment, you might create a single workspace for all your developers to share. However, you can also create dedicated workspaces for specific developers or projects. Creating a dedicated workspace limits access to the workspace objects to only those users associated with the workspace.

The following graphic shows the relationships between users and developers, workspaces, and database schemas.

Description of arch_multi2.gif follows
Description of the illustration arch_multi2.gif

When you create a workspace, you associate it with a new or existing schema. A schema is a logical container for database objects such as tables, views, and stored procedures. A single schema can be associated with one or more workspaces.

1.4 About Oracle Application Express User Roles

When setting up Application Express users at a large organization, you assign roles and privileges to specific users. The roles within Oracle Application Express include the following:

  • End users are application users without any access to development or administrative capabilities.

  • Developers are users who create and edit applications and modify database objects. Developers can have their own workspaces or share a workspace.

  • Workspace administrators are developers who perform administrator tasks specific to a workspace such as managing user accounts, monitoring workspace activity, and viewing log files.

  • Instance administrators are superusers who manage an entire hosted instance using the Application Express Administration Services application.

The following graphic shows multiple users with various roles accessing the Oracle Application Express development environment, Application Express Administration Services, and the published applications.

Description of arch_diffroles2.gif follows
Description of the illustration arch_diffroles2.gif

For this guide, you must have the privileges usually associated with three roles: Instance Administrator, Workspace Administrator, and Developer. The following graphic shows an Oracle Application Express instance with a single user.

Description of arch2_single.gif follows
Description of the illustration arch2_single.gif

1.5 Overview of the Application You Build

In "Building Your Application", you create a simple Human Resources (HR) application for a fictitious company called AnyCo Corp. The application manages departmental and employee information stored in the departments and employees tables that you create. The tutorial shows you how to build the application, modify it, and then preview it.