|
|
 |
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 apex.oracle.com. |
 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. |
|
|
| |
| 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. |
| Architecture |
|
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:
|
|
Reporting 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
|
|
Forms 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
|
|
Charting 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
| |
|
Web Services The Application Express Web services engine supports loosely defined types and document style Web services.
This makes it possible to support JDeveloper created Web services and Oracle BPEL synchronous Web services. It is also possible to interact with
Web services over SSL (HTTPS) and Web services that require basic authentication. Finally, there is also support for manually creating a Web
service reference if the Application Express engine cannot correctly parse
the WSDL document for a particular service. You supply the SOAP request
envelope and the URL endpoint among other information about the Web
service.
Spreadsheet Upload Use the Create Application from
Spreadsheet Wizard to quickly upload spreadsheet data directly into the
database. You can choose to store the data in a new database table
or add it to an existing database table. Once the data is uploaded,
you can quickly create an application. This handy wizard enables you
to go from spreadsheet to a shared application in just a few clicks.
Session State Management Oracle Application Express
transparently manages session state (or application context) in the
database. Forms automatically save session state, remembering your
application context over your session. Referencing session state
within SQL and PL/SQL is as simple as using bind variables. For
example, consider the following SELECT statement:
SELECT * FROM EMP WHERE EMPNO = :P1_ID
In this example, the value in the item P1_ID is
automatically bound when the query is run. You can also reference
session state within a static context by prefixing the item name with an
ampersand (&) and suffixing it with a period(.), for example:
&P1_NAME.
For management of two dimensional data sets, Oracle Application Express
provides a robust collections infrastructure. Best of all, session
management is stateless and does not consume any memory.
User Interface Themes Oracle Application Express separates
presentation (or user interface themes) from the application logic.
You can design your application in one theme, change to another supplied
theme, or create and use your own custom theme. By separating the
application logic (such as queries, processes, and branches) from the HTML
rendering, your application can take advantage of new designs and other
technological advances without an application rewrite.
In addition to the default themes provided with Oracle Application Express, you can create your own customized themes. This enables you to design a very specific look and feel to meet your corporate requirements and then publish this as a theme for all other applications to use. This can be done at the workspace level (Workspace Themes) or at the instance level (Public Themes).
Flow Control and Navigation Every Web application needs
navigation and dynamic applications need flow control. Oracle
Application Express provides built-in components to simplify the
development and maintenance of navigational controls. Navigation is
controlled using declarative tabs (one or two levels), breadcrumbs, tree
controls, and lists of links. Flow control is performed using
declarative branches that can take effect at specific events and under
certain conditions. The appearance of navigation controls are
managed through templates, making it easy to change from one look to
another.
Conditionality on All Components When creating dynamic Web
applications, many application components and processing are
conditional. In other words, you only show or process certain pieces
of information based on the application context, the data, an event, or a
privilege. Oracle Application Express enables you to declaratively
specify conditionality of all components. This gives you exact
control over what users see or do not see on a tab, button, item, list
entry, and so on.
External Interfaces and Extensibility Even though Oracle
Application Express provides a robust declarative environment for building
applications, you also have the option of developing custom interfaces or
controls. For example, if a component does not meet the needs of
your environment, you can generate your own custom HTML using
PL/SQL. You can also call external services using Web
services. Oracle Application Express also includes APIs to easily
integrate email alerts into an application. Plus, because Oracle
Application Express resides in the Oracle database, you can take advantage
of inherent database capabilities, including external tables, PL/SQL,
database links, gateways, and database Java to extend the functionality of
your application. An extensive set of JavaScript API's have been documented for use by Application Developers. The framework allows advanced Oracle Application Express developers to build and leverage custom Web 2.0 capabilities. This increases performance and enables developers to create more dynamic application widgets. Alos, all included JavaScript files have been compressed to improve page load time.
Declarative BLOB Support Declarative BLOB support enable files to be declaratively uploaded in forms, and downloaded or displayed using reports. BLOB display and download can also be authored procedurally using PL/SQL.
Optional Runtime-Only Installation For testing and production instances, Oracle Application Express supports the ability to install just a runtime version. This minimizes the installed footprint and privileges. It also improves your application security because in a runtime instance developers cannot inadvertently update any application source.
Security With Oracle Application Express, you can create
public applications that do not require a user log in, or you can create
secure applications that require authentication. Oracle Application
Express provides a number of built-in authentication schemes including
Single Sign On, Database Account Credentials, and an easy-to-use user
management system. You can also use custom schemes that interface
with just about any authentication service including Microsoft Active
Directory and Oracle Applications.
Additionally, you can customize authorization to meet the needs of your
environment and apply authorization selectively to an entire application,
a page, or a page component. Finally, you can also take advantage of
an innovative session state protection feature to prevent URL tampering
and built-in features to protect an application form SQL Injection and
cross-site scripting (XSS) attacks.
SQL Workshop Tools SQL Workshop provides tools to enable you
to view and manage database objects from a Web browser. Use SQL
Commands to run SQL and PL/SQL statements. Query Builder enables you
to define queries by dragging and dropping tables and easily create
relationships between objects. Object Browser provides an
easy-to-use graphical user interface for viewing, creating, modifying,
browsing, and dropping database objects. Finally, you can use SQL
Scripts to create, edit, view, run, and delete script files.
Supporting Objects Utility You can simplify the steps needed
to export and install an application in another Oracle Application Express
by creating a packaged application. Using the Supporting Objects
utility, you can bundle the application definition with scripts for
creating the database objects, seed data, images, cascading style sheets,
and JavaScript.
Creating a packaged application provides application users with an
installer-like experience and automates the process of importing and
installing an application in another development, test, or even production
instance.
Performance Oracle Application Express provides application
developers and application users with an extremely high level of
performance. Because Oracle Application Express resides in the
Oracle database, it has minimal impact on network traffic. Plus,
Application Builder includes a large number of monitoring reports to
enable you to identify and tune application performance.
Packaged Applications Packaged Applications are fully
functional applications that you can use and customize. Packaged
applications not only illustrate interesting examples of Oracle
Application Express applications, but they provide immediately useful
tactical business applications. Packaged applications are
ready-to-run - they come complete with database schema, seed data, images,
application definitions, everything you need and installation is via a
simple to use wizard. |
 Packaged Applications |
 Multi-Tenant Hosting |
|
|
|