| Feature
|
Application Express
|
Microsoft Access
|
Description
|
| 4GL Languages |
SQL and PL/SQL |
SQL, Macros and VBA |
Application Express uses server-side PL/SQL. Access uses Macros or Visual Basic for Applications (VBA). |
| Development Interface |
Web Browser |
Windows Client Tool |
Application Express only requires a web browser to develop applications. Access requires Access to be installed locally on a developer's Windows desktop. |
| Runtime Interface |
Web Browser |
Windows Client Tool |
Application Express is invoked from a Web browser with its user interface being HTML and JavaScript. The default user interface for Access is Windows with some limited HTML capability for Forms (Access Pages). |
| Page Layout |
Relative |
Exact |
Application Express uses HTML-relative positioning. Access uses exact positioning. |
| Client-side Field Control |
JavaScript and AJAX |
Macros / VBA |
Application Express supports declarative page-level validation and event processing. Programmatic field-level validation and event processing requires JavaScript and AJAX. Access supports fine grained validation and event processing through the use of Macros and VBA. |
| Web Service Support |
Yes |
No |
Application Express supports the calling of Web Services, for example BPEL. Web Services facilitate interoperability with Service Oriented Architecture (SOA) enabled components. |
| Locking |
Optimistic |
Pessimistic |
Due to its asynchronous architecture, Application Express uses an optimistic locking model. Access, via the Jet engine, applies a pessimistic locking approach. |
| Database Connections |
Asynchronous |
Synchronous |
Application Express does not transparently allow transactions to span page views. Application Express programmatically supports transactions spanning page views using collections. Access uses a synchronous interface to the Jet engine to allow transactions to span multiple windows. |
| Max Database Size |
Unlimited |
2 GB |
Application Express, being part of the Oracle database, has no limitations on database size. Access database size is limited to 2 GB. |
| Concurrent Users |
1,000's |
255 (Jet DB limit) |
Application Express, due to it architecture, can support 1000's of concurrent users on a small 2 CPU server. Access has a maximum of 255 concurrent users, but recommends no more than 20 concurrent users |
| Backup & Recovery |
Centralized and managed by Oracle DBAs |
Distributed, typically with non-professional management |
The Oracle Database has a host of backup and recovery options that can be employed. Application Express applications are stored as meta-data within the Oracle database. Therefore, the application definition is protected along with the data. Access applications are often scattered across the enterprise with varying backup and recovery capabilities. The management of these processes is typically left to the developers or LAN Administrators in each department. |
| Authentication |
Secure |
Vulnerable |
Application Express supports whatever single sign-on authentication schema your company implements. It also provides multiple authorization schemes for authenticated users. Access security is primarily file system based security. Access passwords are stored within the access mdb file and are vulnerable to Access password recovery utilities. |
| Client Platform |
Windows, MAC, Linux |
Windows |
Application Express will run on a variety of different platforms facilitated by a number of different browsers. Access runs on Windows only. |
| Client Software |
None |
Access |
Application Express requires no special client software to run. Access requires an Access or Office installation. |
| Data Management |
Consolidated in an Oracle database |
Distributed across multiple files |
Application Express encourages the consolidation of data and applications into a single hosted server. Access leads to information fragmentation, as each application is contained in one or more files. |
| Concurrent Development |
Yes |
No |
Application Express supports multiple developers within a workspace where these developers can be working on the same, or different, applications. Access normally has a single developer working on a single mdb file at a given time. |