Thursday, May 26, 2016

Oracle APEX - Page Zero / Global Page

In Oracle APEX 4.1 and before we had something called Page Zero. From APEX 4.2 onwards these are now known as Global Pages. 
In any application, you can create a global page - and you can now add a separate one for each user interface. 
A Global Page is a special page. Unlike all other pages it has no processes, validations or branches. 
It functions as a master page in that APEX renders all the components you add to this page onto every page within your application. 
And just like virtually all the other parts in your application you can define your own conditions on the page and its components.  
So you can now create a region once and it will display on as many pages in your application as you want rather than you having to create it on every page.

A Global Page is useful for:
  •  Conditional items 
  •  Commonly Used Regions
  •  Lists
  •  Items which will nearly always be displayed
  •  Breadcrumb menus
How to create one 
  • Login to Application Express
  • Click on Application Builder
  • Click on the application you want to modify
  • Click the Create Page > button
  • Select Global Page as the page type
  • Click Finish
Oracle APEX - Page Zero / Global Page

Architecture of Oracle APEX

The Application Express engine renders applications in real time from data stored in database tables.  
When we 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 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.

Architecture of Oracle APEX 
In addition to an Oracle Database the Oracle Application Express architecture requires some form of Web server to proxy requests between a Web browser and the Oracle Application Express engine. There are three options for configuring the web server:

1.   Oracle HTTP Server with mod_plsql.
2.   Embedded PL/SQL Gateway (EPG).
3.   Oracle Application Express Listener.

Oracle HTTP Server
The Oracle HTTP Server (Oracles web server) is based on the Apache web server.  
Oracle introduced a module to the Oracle HTTP Server called mod_plsql which allows requests to execute PL/SQL code to be passed via a URL to the Oracle database for processing.

Embedded PL/SQL Gateway
Starting with Oracle Database 10gXE , you can use the embedded PL/SQL gateway. 
The embedded PL/SQL gateway is installed with Oracle Database 11g and does not require the Oracle HTTP Server. It provides the Oracle Database with a web server and the necessary infrastructure to create dynamic applications. The embedded PL/SQL gateway runs in the Oracle XML DB HTTP Server in the Oracle Database. It includes the core features of mod_plsql.

Oracle Application Express Listener
Oracle Application Express Listener is a Java-based interface that communicates directly with the APEX engine, thus eliminating the need for mod_plsql. 
It can be installed in a J2EE application server or can be installed in stand-alone mode. The use of the Oracle APEX listener simplifies the deployment process because there is no Oracle home required as connectivity is provided using an embedded JDBC driver. The J2EE implementation offers increased functionality including a web based configuration, enhanced security, and file caching. 
The APEX Listener also provides flexibility by supporting deployments using Oracle Web Logic Server (WLS), Oracle Glassfish Server and OC4J.

Wednesday, May 25, 2016

What's Oracle APEX all about?

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. 
We can try Application Express simply by signing up for an account at apex.oracle.com.

What types of applications can we 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 other multi-user desktop databases applications .
We 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.