Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Oracle Application Express 3.2 - The Essentials and More

You're reading from   Oracle Application Express 3.2 - The Essentials and More Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

Arrow left icon
Product type Paperback
Published in Jun 2010
Publisher Packt
ISBN-13 9781847194527
Length 644 pages
Edition 1st Edition
Languages
Arrow right icon
Toc

Table of Contents (30) Chapters Close

Oracle Application Express 3.2
Credits
About the Authors
About the Reviewers
1. Preface
1. An Introduction to APEX FREE CHAPTER 2. What we need to know to effectively use APEX 3. APEX Basic Concepts 4. The Application Builder Basic Concepts and Building Blocks 5. APEX Items 6. APEX Buttons 7. APEX Computations 8. APEX Validations 9. APEX Processes 10. APEX Branches 11. APEX SQL Workshop 12. APEX Forms 13. APEX Reports 14. Tabular Forms 15. Calendars 16. Interactive Reports 17. AJAX with APEX 18. Globalization and Localization With APEX Applications 19. Right-To-Left Support in APEX 20. Deploying APEX Applications 21. The APEX Runtime Environment 22. Security 23. Application Conversion 24. APEX Best Practices APEX Installation, Upgrade, and Configuration Tips

APEX architecture


The core of APEX is a collection of PL/SQL packages, written using the PL/SQL Web Toolkit, and several hundred database tables, in which all the metadata regarding developed applications are stored.

The PL/SQL Web Toolkit is a collection of Oracle supplied database packages, which allow us to produce Web page code, directly in the database, using PL/SQL stored procedures. During run-time, and in real-time, the APEX engine queries the metadata tables and retrieves all the relevant information for a specific application page. Next, it uses the PL/SQL Web Toolkit to generate the application page's HTML code. This page's code also includes the proper linkage to the CSS and JavaScript resources that support proper page functionality, layout, and styles. Some internal tests run by the APEX development team, showed that the APEX engine performs all the real-time rendering processes, with an average overhead of less than 0.04 seconds per page. Pretty impressive in my opinion, and the APEX engine includes a server side caching mechanism, that can help us reduce that further.

It is important to understand that although the final product of APEX Application Builder is an HTML page code, no static files with any related HTML file extensions, are stored on the server. Each page is created upon demand a specific URI request. That, of course, gives us considerable flexibility with constructing the pages, e.g. the same page can be displayed somewhat differently for various users, or include conditioned components, depending on the user's security privileges, or role in the company, etc.

So, on one side we have the APEX engine, a collection of PL/SQL packages, running inside an Oracle database, and on the other side we have the application user, using a Web browser. How can we connect, and communicate between the sides? As we are in a Web environment, we are going to use the HTTP protocol, implemented in two technologies.

The first way is by using the Oracle HTTP Server (OHS) technology. OHS is based on the well-known (open source) Apache HTTP server, in its 1.3 or 2.0 versions. What interests us, for the APEX environment, is the Oracle plug-in module for this HTTP server, called mod_plsql.

OHS, with the mod_plsql module, is located between the client's Web browser and the Oracle database server. The mod_plsql module communicates with the database by mapping the Web browser request into PL/SQL stored procedures in the database. In turn, the PL/SQL stored procedures can manipulate the data in the database tables and generate HTTP responses, which can include HTML code, to be displayed on the client Web browser.

In order to communicate with the database, mod_plsql is using a DAD (Database Access Descriptor) file, which contains configuration parameters on how to connect with the database, which user and password to use, NLS parameters, and others.

The second technology to implement the HTTP communication protocol utilizes the Embedded PL/SQL Gateway running on the XML DB HTTP server, which is an integrated feature of the Oracle Database. Using the DBMS_EPG package, the Embedded PL/SQL Gateway can implement the core functionality of the OHS mod_plsql module, without installing it. This technology was first supported by APEX in the embedded version (2.1) of the Oracle XE database. Today, it's also supported by APEX 3.0 and above versions, running on Oracle 11g databases. APEX 3.0, which uses the embedded PL/SQL gateway, is installed by default as part of the 11g database installation process, and can be upgraded to any higher APEX version.

You have been reading a chapter from
Oracle Application Express 3.2 - The Essentials and More
Published in: Jun 2010
Publisher: Packt
ISBN-13: 9781847194527
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image