Oracle Application Express
Return to Oracle APEX Home
What is Application Express?

Oracle Application Express (Oracle APEX), formerly called HTML DB, is a rapid web application development tool for the Oracle database. Using only a web browser and limited programming experience, you can develop and deploy professional applications that are both fast and secure. Oracle application express combines the qualities of a personal database, productivity, ease of use, and flexibility with the qualities of an enterprise database, security, integrity, scalability, availability and built for the web. Application Express is a tool to build web-based applications and the application development environment is also conveniently web-based. Watch this Application Express Positioning flash demonstration and then try Application Express simply by signing up for an account at

Application Express Home Page

No client software is required to develop, deploy, or run Application Express applications. Application Express provides three primary tools:

  • Application Builder - to create dynamic database driven web applications
  • SQL Workshop - to browse your database objects, run ad-hoc SQL queries, as well as a graphical query builder
  • Utilities - allows for data to be loaded and unloaded from both flat files and spreadsheets

What types of applications can you build with Application Express?

Application Express is a productive tool to build applications that report on database data. Reports are typically hyper text linked with other reports allowing users to navigate through database data in the same way they navigate web sites. Columns in reports can be easily linked to other reports, charts, and data entry forms and it is all done declaratively. An extensive charting engine allows SQL queries to be represented graphically and that allows data to be more effectively communicated. Application Express is also very adept at editing database data and supports a large number of declarative form controls including radio groups, checkboxes, select lists, shuttles, text editors, and date pickers.

Interactive Report

Hyper Text Linked Report

Data Entry Form

Hyper Text Linked Chart
When to use Application Express?

Due to its ease of use, Application Express is designed to build opportunistic and departmental applications quickly. These application are deployed on the web with superior performance. Historically, departments, prototypes, and small projects have relied on desktop databases to provide an agile development tool for these smaller scale SMB or departmental application development needs. Desktop databases can become very fragmented because they keep data in too many places, they can be vulnerable or inappropriate for use with sensitive information, and they are typically not web friendly. The browser based design time interface, the declarative programming framework, and simple wizards make Application Express a natural replacement for multi-user desktop databases applications such as Microsoft Access.

SQL Savvy application developers also appreciate the ease with which you can create database applications with little or no web experience. You don't need to learn scripting languages or complex deployment frameworks, you simply write a few queries and choose from ready built user interface themes and form controls to create highly professional, secure, and scalable applications.

Declarative Programming

With Application Express, coding is declarative. That means that no code is generated, no code is compiled, and you interact with wizards and property sheets. The SQL language is used to define reports and charts, so some knowledge of SQL is very helpful. You can optionally write snippets of code using PL/SQL, if procedural logic is needed. Declarative code yields fewer differences between developers and this consistency makes Application Express applications easy to maintain and manage.


The Application Express engine renders applications in real time from data stored in database tables.  When you create or extend an application, Oracle Application Express creates or modifies metadata stored in database tables.  When the application is run, the Application Express engine then reads the metadata and displays the application.  Application Express 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 215 tables and 200 PL/SQL objects containing 300,000+ lines of code.

To provide stateful behavior within an application, Oracle Application Express transparently manages session state in the database.  Application developers can get and set session state using simple substitutions as well as standard SQL bind variable syntax.

To access the Oracle Application Express engine within the Oracle database you must configure the Oracle HTTP Server(Apache) containing the mod_plsql plug-in . The plugin functions as communication broker between the Web server and the Oracle Application Express objects in the Oracle database. This maps browser requests into database stored procedure calls. The following graphic illustrates the Oracle Application Express architecture using Oracle HTTP Server and mod_plsql.

Oracle Application Express using the Oracle HTTP Server (Apache) with mod_plsql

With Oracle Database 11.1, you can remove Oracle HTTP Server (Apache) from the architecture and replace it with the embedded PL/SQL gateway. The embedded PL/SQL gateway runs in the XML DB HTTP server in the Oracle database and includes the core features of mod_plsql, but does not require the Oracle HTTP Server powered by Apache. The graphic below illustrates the Oracle Application Express architecture using the Embedded PL/SQL Gateway.

Oracle Application Express using the Embedded PL/SQL Gateway
Converting Applications

Oracle Application Express Application Migration Workshop (Application Migration) enables you to convert Oracle Forms and Microsoft Access applications and generate an Oracle Application Express application from the retrieved objects.

Oracle Forms modernization projects are often undertaken to convert legacy applications to the latest Oracle Database version and enable developers to satisfy user demands for greater user interactivity and Web 2.0 capabilities.

Oracle Application Express Forms Conversion Overview

Oracle Application Express 3.2 enables you to load your Oracle Forms source into an Oracle Application Express project and generate an initial APEX application. The conversion automatically converts most user interface components but does not convert business logic implemented within triggers, program units, or PL/SQL libraries. Loading Oracle Forms definitions into the Oracle Application Express project provides analysis and tracking of the conversion project. Once the initial design has been generated, the rapid application development capabilities inherent within Oracle Application Express can be utilized to enhance and expand the generated application. Post-generation the business logic within Oracle Forms can be re-implemented and new screens which take advantage of Web 2.0 capabilities such as interactive reports and flash charts can be added using the wizards built into the Oracle Application Express builder.

Microsoft Access presents organizations with a myriad of manageability issues. Often simple applications grow in size and complexity and become mission critical. These same applications are often scattered throughout the network making maintenance, backups, security, and access increasingly costly and inconsistent. One key reason for migrating from Microsoft Access to an Oracle database is to consolidate the data and build common applications based on a single data source.

Key Features

The sections that follow describe key features of Oracle Application Express, including:

With Oracle Application Express, you can quickly generate HTML reports that display the results of SQL queries.  You can also download and print reports in HTML, PDF, RTF (compatible with Microsoft Word), and XLS (compatible with Microsoft Excel) formats.

You can declaratively link reports together to provide drill-down reporting and use bind variables to pass information from session state to a report.  Reports support declarative column heading sorting, control breaks, sums, and pagination.  Report sorting and pagination can use Partial Page Refresh (PPR) technology to avoid refreshing the entire page.  You can also add declarative links to a report to download the report data to CSV or XML formats.  Plus, you can customize the report appearance using templates.

"Interactive Reporting" Regions are a further extension of the classic reports that enable dynamic end-users report customization. Users can alter the layout of report data by displaying the columns they are interested in, applying filters, highlighting, and sorting. They can also define breaks, aggregations, include a chart, and their own computations. Users can create multiple variations of the report and save each as a named report. There are also multiple download formats available, including comma-delimited file (CSV) format, Microsoft Excel (XLS) format, Adobe Portable Document Format (PDF), and Microsoft Word Rich Text Format (RTF).

   Run   Download

Using wizards, you can easily create forms on tables or on a stored procedure.  When creating a form on a table, these wizards provide automatic management of insert, update, and delete as well as lost update detection.  Once you create a form, you can rearrange form fields (called form items) using a visual representation, enabling you to quickly achieve the layout you want.  Form items offer a variety of display options including text fields, text areas, radio groups, select lists, check boxes, date pickers, and popup list of values.

   Run   Download

You can also use wizards to create HTML, SVG, or Flash charts.  You can create charts that enable users to drill down from one chart to another chart or report.  Charts can also be refreshed using Partial Page Refresh (PPR) technology, avoiding the need to refresh an entire page.  You can also configure a chart to refresh at defined intervals.  Additionally, you can take advantage of report column templates to add simple HTML bar charts to any report.

   Run   Download

PDF Printing
As of Application Express 3.0, you can include the ability to export a report region to PDF - essentially, printing a report. A custom link or button can be added to any report region. You can also define Report Queries and Report Layouts under Shared Components. These are custom reports that can be linked anywhere within an application.

   Run   Download
Left Curve
Popular Downloads
Right Curve
Untitled Document