| Feature |
Oracle Forms |
Application Express |
Description |
| 4GL Declarative |
Yes |
Yes |
Oracle Forms renders applications using metadata stored in an .fmx file. Application Express renders applications using metadata stored in an Oracle database. |
| 4GL Languages |
SQL and PL/SQL |
SQL and PL/SQL |
Oracle Forms runs client-side PL/SQL. Application Express uses server-side PL/SQL. |
| User Interface |
Java |
HTML |
Oracle Forms is accessed using a web browser and its user interface is rendered using a JVM. Application Express is also invoked from a Web browser but its user interface is HTML and JavaScript. |
| Page Layout |
Windows / Canvases |
Page / Regions |
Oracle Forms uses exact positioning and Application Express uses HTML-relative positioning. |
| Client-side Field Control |
Form triggers |
Javascript and AJAX |
Oracle Forms provides robust field-level validation and event processing. Application Express supports declarative page-level validation and event processing. Programmatic field-level validation and event processing requires Javascript and AJAX. |
| Web Service Support |
Yes |
Yes |
Both Oracle Forms and Application Express support the calling of Web Services, for example BPEL. |
| Charting |
BI Beans |
Flash Charts |
Oracle Forms uses BI Beans as its integrated charting engine. Application Express uses Flash Charts as its integrated charting engine. |
| Locking |
Pessimistic, Optimistic, Custom |
Optimistic, Custom |
Oracle Forms supports a range of locking models with pessimistic as the default. Due to its asynchronous architecture, Application Express uses an optimistic locking model. |
| Database Connections |
Synchronous |
Asynchronous |
Oracle Forms uses synchronous connections to allow transactions to span multiple screen interactions. Application Express does not transparently allow transactions to span page views. Application Express programmatically supports transactions spanning page views using collections. |
| Concurrent User Support |
Database connectivity maintained by user session |
Database connectivity only maintained for the processing of requests |
Each connected user in Oracle Forms maintains a synchronous connection to the Oracle database. Application Express users are asynchronously connected to the Oracle database. |
| Architecture |
3 Tier |
2 Tier |
With Oracle Forms, Application logic is processed in the Oracle database, a mid-tier Forms Server, or in the rich client. With Application Express, PL/SQL application logic is processed within the Oracle database. Client-side logic is implemented using JavaScript. HTTP communications are facilitated using Apache and Mod/PLSQL. |