Databases Reference
In-Depth Information
Obviously, the above example is very simplistic, but it illustrates the mechanism APEX uses to
generate pages. Real-world web pages are much more sophisticated. They generate specific CSS and
JavaScript as demanded by the application context, emit form controls, perform partial page renderings,
and include many other operations used by modern web applications. APEX developers don't need to
code using the Web Toolkit; with APEX , you take advantage of a declarative framework with built-in
components and controls.
The genesis of Oracle Application Express (first called Flows, then Platform, then Marvel, then
HTML DB, and finally Application Express) was the need to develop a better way to build web
applications that improved both productivity and functionality. Writing PL/SQL pages manually has the
following drawbacks:
Writing large amounts of code is time consuming and hard to maintain.
Manual coding lacks separation of user interface and application logic.
Manual coding has a much greater probability of being inconsistent.
Compared with declarative frameworks like APEX , applications that involve the hand coding of web
pages can be very labor intensive. It takes time to handcraft code, and it takes even more time to
maintain it, especially if you didn't write it.
Using a framework that has a clear separation of user interface and application logic is also a
significant advantage. For example, you can use one developer to write the presentation layer and
another to craft the application logic. This allows managers to take optimal advantage of specialized
skills.
Perhaps the greatest drawback of coding by hand is inconsistencies. With declarative frameworks,
controls are rendered using the same code, making application functionality consistent. Hand coded
applications, in contrast, have diverging implementations. These code differences can make it hard to
discover issues with globalization, accessibility, security, performance and aesthetic consistency. This
also makes testing more time consuming, because similar controls on different pages may behave
differently especially if they were developed by different developers.
The APEX architecture engine is designed to dramatically reduce code by allowing developers to
declare page components, such as a report, and rely on APEX to provide the rich controls needed to
render the results. The Application Express framework uses themes and templates to achieve a clear
separation of user interface and application logic, and not only makes application pages consistent, but
makes one application consistent with another. The combination of developer-defined page controls
and templates is all managed by the APEX engine.
Installing and Upgrading
APEX is installed by running a SQL Plus installation script which creates database objects in a specific
database schema. The SQL installation script calls many SQL files that create database tables, PL/SQL
packages, procedures, functions, etc. APEX has a few privileged objects installed in the SYS schema as
well. In addition to database objects, Oracle APEX has a large number of images, CSS, and JavaScript files
that are typically installed in the application server file sytem.
Upgrading to a new patch level requires re-creating various database packages, changes to
metadata, and new static files. Patching does not result in a new schema, so the 4.0.1 and 4.0.2 patches
are both made within the APEX_040000 schema.
Upgrades to new versions of APEX do result in the creation of new database schema. For example,
APEX 4.1 would install in an APEX_040100 schema. Upon installation, all APEX metadata is copied from
the old schema to the new schema. In a last step, the public synonyms are pointed to the new version.
This makes reverting to the previous version relatively simple as the database objects that comprise
Search WWH ::




Custom Search