Creating a Database Application
App Builder concepts

This course will guide you through how to create a database application through a variety of features offered by Oracle APEX.

Learning Objectives

  • Gain a foundational understanding of App Builder Concepts
  • Learn how to access App Builder and how to access the Create Application Wizard to build your APEX applications.
  • Understand how to create an APEX application based on existing tables
  • Understand how to create an Apex application from a file
  • Learn about Progressive Web Applications and how to enable Progressive Web Application installability within your APEX application

Intended Audience

  • Anyone who wants to enhance their knowledge of Oracle APEX


We recommend that you take this course as part of our Oracle APEX: Foundations learning path.


Hello, welcome to Oracle APEX Foundations Course, Creating a Database Application Module App Builder Concepts lesson. I'm Chaitanya, product manager on the Oracle APEX Product Development team. Before going to learn how to create an APEX application, let's go ahead and learn some basic concepts of App Builder. So, let's get started. In this lesson, you're introduced to App Builder Concepts. To efficiently use App Builder to build your applications, you must first understand some key concepts such as what is an APEX application,

what is a page, what is Application User Interface, Session State management, how is an APEX application page rendered and processed, and Application URL Syntax. Now let us first understand what is an APEX application. An APEX application is an HTML interface that exists on top of database objects such as tables or procedures. An APEX application is basically a collection of pages that are linked together using navigation menus, tabs, buttons, or hypertext links.

You use the Create Application Wizard to create an APEX application wherein you declaratively assemble pages and navigation. Now, let's learn about an application page. A page is the basic building block of an application. Every application consists of one or more pages. To view a rendered version of your APEX application, you run or submit it to the Oracle APEX engine. The APEX engine dynamically renders and processes pages based on the data stored in database tables. Now if you create new pages, you can either run them individually or run an entire application. Each page can have buttons and fields called items that are grouped together into containers called regions. Pages can include application logic or processes. You can branch from one page to another using conditional navigation. On a page, you can perform calculations called computations. You can perform validations such as edit chips, and you can display reports, calendars, and charts. You can view and edit a page in Page Designer.

Page Designer is a fully feature integrated development environment to maintain your application pages. Page Processing and Page Rendering. We already understood that the Oracle APEX engine dynamically renders and processes pages based on data stored in Oracle database tables. To view a rendered version of your APEX application, you request it from the APEX engine with the URL. When you run an APEX application, the APEX engine relies on two processes: Show Page, which is a page rendering process that assembles all the page attributes, including regions, items, and buttons into your viewable HTML page. So, when you request a page using the URL, the engine is running Show Page. And then the next one is Accept Page, which performs forms page processing including computations, validations, processes, and branching. So, when you submit a page, the APEX engine is running at some page or performing page processing during which it saves the submitted values in the session cache and it performs any competitions, validations, or processes.

You can use conditions in an application to control how your pages and page components display and when processes, computations, and validations execute. A condition basically is a small unit of logic that helps you control the display of regions, items, buttons and tabs, and the execution of processes, computations and validations. Now let's understand Application User Interface. Universal Theme is a user interface for Oracle APEX that enables developers to build modern web applications without requiring extensive knowledge of HTML, CSS, or JavaScript. With some working knowledge of APEX, you can use Universal Theme to easily build a responsive application that is highly accessible, easily customizable and easy to maintain. Now let's understand the key advantages of Universal Theme.

Universal Theme is designed to work just as well on small screen devices such as smartphones and tablets as it does on larger screen devices including laptops and desktops by responding automatically to the dimensions of the screen on which it is running. The UI components in Universal Theme work across varying screen resolutions while maintaining the same or similar functionality. Universal Theme provides all the components and building blocks necessary to build practically any type of business application user interface. You can effortlessly customize and fully control the look and feel of your applications without becoming an expert in UI design, HTML, CSS, or JavaScript. Session State Management. Let's first understand what is Session State. Session State enables developers to store and retrieve values for a user as the user navigates between different application pages. Hypertext Transfer Protocol, HTTP, the protocol over which HTML pages are most often delivered, is a stateless protocol. A web browser is only connected to the server for as long as it takes to download a complete page.

Each page request is treated by the server as an independent event, unrelated to any page request that happened previously or that may occur in the future. To access form values entered on one page on a subsequent page, the values must be stored as session state. Oracle APEX transparently maintains session state and provides developers with the ability to get and set session state values from any page in the application. Now, what is the session ID? A session ID is a unique number assigned a specific user for the duration of that user's visit. The Oracle APEX engine establishes the identity of the user for each page request and the session ID to fetch session state from the database. The most visible location of the session ID is in the URL for a page request. The session ID displays as the third parameter in the URL. In the slide example, you see hr-app is the application areas, update-employees is the page areas, and the third parameter is the session ID which is 13766599855150. So, what is a session?

A session is a logical construct that establishes persistence or stateful behavior across page views. We already understood that each session is assigned a unique identifier. The Oracle APEX engine uses this identifier or session ID to store and retrieve an application's working set of data or session state before and after each page view. Because sessions are entirely independent of one another, any number of sessions can exist in the database at the same time. A user can also run multiple instances of an application simultaneously in different browser programs. Sessions are logically and physically distinct from Oracle database sessions used to service page requests. A user runs an application in the single APEX session from sign-in to sign-out with a typical duration measured in minutes or hours.

Each page requested during that session results in the APEX engine creating or reusing an Oracle database session to access database resources. Often, these database sessions last just a fraction of a second. Now, let's understand Application URL Syntax. APEX application support two types of URL syntax: Friendly URL Syntax and f?p Syntax. Applications that are created using APEX release 20.1 or later use Friendly URL Syntax. Now, if you have old applications, you can change them to use Friendly URLs by editing the Friendly URLs attributes in the application definition. Friendly URL Syntax creates a URL structure that identifies the address of Oracle APEX, the application, the page, and uses standard web parameter syntax. Friendly URL Syntax creates a URL with the directory hierarchy and syntax as hostname:port/ords/r/path_prefix/ app_alias/page_alias?parameters.

In the slide example, hostname is the domain name of the server. Port is the port number assigned when configuring Oracle REST Data Services. ords years is the service name defined when configuring Oracle REST Data Services. r is the router shortcut. This value is a constant and should never be changed. mycompany is the path_prefix, which is a UI path_prefix used to access RESTful services. When you create a workspace, this value defaults to workspace name. hr-app is the application alias. In a new application, the application alias defaults to the application name. update-employees is the page alias. In a new application, the page alias defaults to the page name. And then you see the session ID here. You can customize a Friendly URL by editing the Path Prefix, Application Alias, or Page Alias. You can customize the UI Path Prefix by existing path_prefix attribute in workspace administration.

You can edit the Application Alias in the application definition and you can edit the Page Alias in the Page Designer. In this lesson, we learned what is an APEX application, what is a page, application user interface, session state, page processing, and page rendering and URL syntax. This concludes the lesson on App Builder Concepts. I hope you found that useful. Thank you for watching.

About the Author
Oracle University
Training Provider
Learning Paths

Oracle University, the learning and training arm of Oracle, is a leader in cloud education, providing modern digital training, certification, and learning solutions across Oracle’s entire product portfolio that enable our customers to master their Oracle Cloud solutions and maximize their investments. Over 2 million certified professionals worldwide have placed their trust Oracle University to reach their learning goals. Learn about Oracle University.

Covered Topics