Friday, August 26, 2016

What is Apex?

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.




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




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

Reporting
Forms
Charting
PDF Printing
Web Services
Spreadsheet Upload
Session State Management
User Interface Themes
Flow Control & Navigation
Conditionality on all Components
External Interfaces & Extensibility
Declarative BLOB Support
Optional Runtime-Only Installation
Security
SQL Workshop Tools
Supporting Objects Utility
Performance
Packaged Applications
Hosted Development

No comments:

Post a Comment