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.

This guide assumes that you have installed Oracle Database XE on your Windows or Linux system as described in Oracle Database Express Edition Installation Guide for Microsoft Windows and Oracle Database Express Edition Installation Guide for Linux.


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.

Understanding Oracle Application Express Architecture

Oracle Application Express installs within Oracle Database Express Edition (Oracle Database XE) and is comprised of data in tables and PL/SQL code.

Whether you run the Oracle Application Express development environment or an application 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 Server Options

In order to run Oracle Application Express, you must have access to the embedded PL/SQL gateway, Oracle Application Express Listener, or Oracle HTTP Server and mod_plsql. By default, the version of Oracle Application Express that ships with Oracle Database XE is configured to work with the embedded PL/SQL gateway.

About the Embedded PL/SQL Gateway

The embedded PL/SQL gateway provides the Oracle database with a Web server and also the necessary infrastructure to create dynamic applications. It runs in the Oracle XML DB HTTP 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

As shown in the previous graphic, the embedded PL/SQL gateway is a simple two tier architecture and consists of the following components: a Web browser and Oracle Database XE, containing the embedded PL/SQL and Oracle Application Express.

Advantages of the embedded PL/SQL gateway:

  • Ease of configuration

  • Included in the database

  • No separate server installation

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

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.

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 illustration shows the relationship among 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.

About Oracle Application Express User Roles

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

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

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

  • End users have no development privileges. You define end users so that they can access applications that do not use an external authentication scheme.

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

The following illustration 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 illustration shows an Oracle Application Express instance with a single user.

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

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 department and employees tables that you create. The tutorial shows you how to build the application, modify it, and then preview it.