intro to application express
DESCRIPTION
Linnemeyer Larry - Intro to Application ExpressTRANSCRIPT
![Page 1: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/1.jpg)
1
Introduction to Application Express
(formerly HTML DB)
By Larry Linnemeyer, TUSC
![Page 2: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/2.jpg)
3
Agenda
• APEX Defined• Uses – who, what, when, where,
why• Building applications with APEX• APEX Administration and
Monitoring• Tips and Techniques
![Page 3: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/3.jpg)
4
APEX Defined
![Page 4: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/4.jpg)
5
What is APEX?• Oracle’s answer to “Wizards”• Meta Data (lots of it!)• Dynamic HTML (fast!)• PL/SQL - No Java• Does anything you can do in SQL
or PL/SQL• Nice Web-based team
development environment
![Page 5: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/5.jpg)
6
It’s Origin• Originated from Tom Kyte’s “ASK
TOM” site• Used mod_plsql to develop• Became “Project Marvel” then
HTML DB• Now it’s APEX• Also referred to as Einstein
![Page 6: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/6.jpg)
7
You’re a good candidate for APEX if you fit the following profile
• You are, or have developers who are, skilled in SQL and PL/SQL
• Your application is database-centric• Your application can be developed using
a hosted service• You are comfortable with a
declarative/4GL programming model • You want to migrate an Access / Excel
application to Oracle
![Page 7: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/7.jpg)
8
Scalable?• APEX.oracle• 5,500 active
workspaces• Dell 6550 4x2.0 Ghz
Xeon Processors• 6 GB RAM• Red Hat AS 2.1• 5,500+ schemas
• DB Size ~75 GB• SGA Size ~1.5GB• Average Unique
Page Views: 25,000+ per weekday
• Average Page View Time: <.5 seconds
• 1 DBA – manages 15 other DBs
![Page 8: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/8.jpg)
9
Major Components• Administration
• SQL Workshop
• Application Builder
![Page 9: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/9.jpg)
10
Components• SQL Workshop
– Interact with your database as with SQL*Plus, but visual
– Data dictionary and object browsing, query by example
• Administration– Manage users– Manage services– Monitor activity
• Application Builder– Centerpiece of APEX– Loaded with wizards– Reports, forms and
charts– Connect pages using
branches– 75 pre-defined widgets– Basic HTML, pop-up lists,
calendars, etc.– Full data entry validation
![Page 10: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/10.jpg)
11
More Features• Session and State
Management– Each user has a session– Valid
username/password is required
• User Interface Control– Look-and-feel is separate
from application logic– Extensive templates
• Flexible Authentication and Authorization Schemes– Can use pre-built /
built-in methods or custom
![Page 11: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/11.jpg)
12
“Installing” APEX• Apply for a free account at apex.oracle.com
– Set up other developers / users for testing• Can optionally download and install locally
– Run the script on your 9iR2 or better database (also need Apache listener)
– Down / Upload your applications to your home system– Continue development on your home system
• Oracle 10g Companion CD• Oracle Express Edition• Develop your application (read the Help
messages – they really do help!)• Excellent support via OTN discussion forum
![Page 12: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/12.jpg)
13
Architecture
BrowserOracle Database
APEXOracle HTTP
Server
![Page 13: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/13.jpg)
14
Architecture B
BrowserOracle Database
APEXOracle HTTP
Server
Firewall
Instead of the Oracle HTTP Server, you can use the HTTP Server supplied with Oracle Application Server 9i or 10g
![Page 14: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/14.jpg)
15
APEX Uses
Who, What, When, Where, Why…
![Page 15: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/15.jpg)
16
What can you do with APEX?
• Select Journal Article review system (developed in 2 weeks)
• Web Collaboration application (developed in 2 days)
• General purpose Customer Survey (developed in 1 day)
• Survey Administration screens (developed in 2 hours)
![Page 16: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/16.jpg)
17
Select Journal Article review
![Page 17: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/17.jpg)
18
Web Collaboration application
![Page 18: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/18.jpg)
19
Customer Survey
![Page 19: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/19.jpg)
20
Survey Administration
![Page 20: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/20.jpg)
21
Testing Application
![Page 21: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/21.jpg)
22
Creating an APEX Application
Generally speaking
![Page 22: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/22.jpg)
23
Log into Workspace• Use the Workspace you chose, the
username and password emailed to you
![Page 23: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/23.jpg)
24
Home Menu• You’re ready to begin
– Build Applications– Work in SQL– Work with Data– Manage users
![Page 24: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/24.jpg)
25
Migrate Data
• Import data from Spreadsheets, XML or Delimited Files
![Page 25: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/25.jpg)
26
Load Northwinds?
• I loaded the Northwinds Database from SQL Server
• Used Periscope to load/copy data
• Once loaded, view data using SQL Workshop
![Page 26: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/26.jpg)
27
Drill and Create
• Can – Drill into data– Count rows– Insert/Edit rows– Query by Example– View components– Much more…
![Page 27: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/27.jpg)
28
Use the Wizards• APEX’s many
wizards will simplify your life – use them!
• Reports, Charts, Forms, Calendars, Trees, etc.
![Page 28: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/28.jpg)
29
Create a Hardware Inventory Application
![Page 29: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/29.jpg)
30
Building an application “from scratch” – in 5 simple steps
• Login with developer privileges• Use the SQL tools to make your tables,
constraints, triggers, procedures etc.• Start a new application (use the wizard)• Customize the application (check each
change as you make it)• Deploy to the users!
![Page 30: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/30.jpg)
31
ExampleHardware Inventory
App• Record and view hardware
inventory• Searchable report • Present analysis graphically as well
as numerically• Design for novice users• Remote users with access to
Internet
![Page 31: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/31.jpg)
32
Main Menu
![Page 32: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/32.jpg)
33
Import Data (SQL Workshop)
![Page 33: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/33.jpg)
34
Converting Data
• Previously, data was stored in an Excel spreadsheet
• Conveniently, this can be made into an Oracle table by simply copying and pasting into the APEX create table wizard
• Select Region• Copy from Excel
![Page 34: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/34.jpg)
35
Import Data Wizard
![Page 35: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/35.jpg)
36
Paste Your Data In…
![Page 36: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/36.jpg)
37
Set Column Preferences
![Page 37: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/37.jpg)
38
Create a Primary Keyand sequence
![Page 38: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/38.jpg)
39
Object Detail for Table Created (in Object Browser)
![Page 39: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/39.jpg)
40
Create Lookup Table
• Select column for look up
• Specify lookup table specifics
![Page 40: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/40.jpg)
41
Create an Application
![Page 41: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/41.jpg)
42
Create the application form scratch (this time)
![Page 42: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/42.jpg)
43
Add Report and Form based on Hardware table
• Notice inclusion of Analysis pages
![Page 43: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/43.jpg)
44
Specify Details for Analysis
![Page 44: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/44.jpg)
45
Could add as many pages as you want
![Page 45: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/45.jpg)
46
Select Levels of Tabs
![Page 46: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/46.jpg)
47
Can Share Components for
other applications
![Page 47: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/47.jpg)
48
Specify Security and Language
![Page 48: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/48.jpg)
49
Choose a Theme
![Page 49: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/49.jpg)
50
Verify and Finish
![Page 50: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/50.jpg)
51
Run your new Application!(you will need to log in)
![Page 51: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/51.jpg)
52
Instant Application!• Searchable report • Links to edit individual rows
![Page 52: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/52.jpg)
53
Instant Application!• Edit form with
– Calendar widget– Picklist based off lookup table
![Page 53: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/53.jpg)
54
Instant Application!• Analysis Chart and Report
![Page 54: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/54.jpg)
55
Good start but improvements can be made
• Makes “codes” more meaningful
• Format output
Edit page through edit link
![Page 55: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/55.jpg)
56
Three basic areas for each page
![Page 56: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/56.jpg)
57
Elements of a Page
• Shared Components– Tabs– Navigation bar– Templates
• Regions– Items– Labels– Buttons– Widgets
![Page 57: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/57.jpg)
58
Most things are created through WIZARDS
• Step by step • Collect
essential info
![Page 58: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/58.jpg)
59
EVERYTHINGhas attributes and almost
everything has an edit page
All of the basic attributes collected through the wizards, and many more detailed attributes are editable through an elements attribute/edit page. All of this information is called Meta Data.
![Page 59: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/59.jpg)
60
Attribute/Edit Pages
• Attributes in regions by logical groups
• Quick navigation to each region
• Many items are select lists
• Almost all have context sensitive help
![Page 60: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/60.jpg)
61
Reuse of Shared Components
LOV used for both report and edit
![Page 61: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/61.jpg)
62
Easy Data Validation
• Some validation created automatically based on database.
• Others easily created with wizard.
![Page 62: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/62.jpg)
63
Validation Wizard
• Choose the item
• Specify the validation type
![Page 63: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/63.jpg)
64
Validation Wizard
• Choose subtype• Specify
sequence and where error message is to be displayed
![Page 64: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/64.jpg)
65
Validation Wizard
• Depending on method, provide validation details
• Specify error message
• Always look for help provided– Examples– Item lookups
![Page 65: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/65.jpg)
66
MOST things can beCONDITIONAL!
• Many, many different types of conditions available.
• Item is displayed or processed depending on the outcome of the condition.
![Page 66: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/66.jpg)
67
Validation• Message displayed by item, central location or
both • Navigation not allowed until validations pass
![Page 67: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/67.jpg)
68
Security• Two levels
– Authentication, controls initial access to the application– Authorization, can control access to tabs, pages, regions, items,
buttons, read/write vs read only, …..
• Use APEX built in functionality, totally custom or somewhere in between.
![Page 68: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/68.jpg)
69
Make a backup!
![Page 69: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/69.jpg)
70
Save the export
![Page 70: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/70.jpg)
71
Deployment Process
Development Production
Data
HTML DB App
PL/SQL Code
(Periodic Refresh)
![Page 71: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/71.jpg)
72
APEX Administration• Administrator controls
Workspaces • Workspaces control
developer access and provide resources.
![Page 72: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/72.jpg)
73
APEX Administration• Workspaces can be
requested.• Workspaces are
“provisioned”• Initial users are
created, more can be created by the “workspace” administrator
• Workspaces/Applications can be monitored.
![Page 73: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/73.jpg)
74
Workspace Administration• Workspace
administrator manages services
• Creates and alters workspace / application users
• Monitors Activity
![Page 74: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/74.jpg)
75
Workspace Administration
Many reports and charts are available to monitor workspace activity.
Many application reports are also available (to developers also)
![Page 75: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/75.jpg)
76
APEX Tips and Techniques
![Page 76: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/76.jpg)
77
Sample Applications
• The Sample Applications have great examples
• Take some time to understand the applications
• Standard Sample – Common Concepts
![Page 77: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/77.jpg)
78
More Examples
• Collections Showcase – Shopping cart concepts
• Web Services• Presidential
Inaugural Addresses – Oracle Text Examples
![Page 78: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/78.jpg)
79
Spend Time onAnalysis/Design
• Time Well Spent– Follows standard design
principals– Storyboard approach
makes it a visual process• Pay me now or pay me
more later…– Poor design, results in a
poor application• Important to understand
Web development to design
![Page 79: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/79.jpg)
80
Storyboard Design
• Take the time to map our your tabs, menus, layout and design
Home Page
Products
Consulting Training
A…B…C...
ProductsConsultingTraining
![Page 80: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/80.jpg)
81
Debugging
• To view the current value of any object (if you’re a developer), you can click on the session button at any time
![Page 81: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/81.jpg)
82
Help!• The online help
that is available is very well written as a reference
• The OTN Discussion Forum is very helpful!
http://forums.oracle.com/forums/forum.jspa?forumID=137
![Page 82: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/82.jpg)
83
Web Services
• Web Services provide you the power of running a process on someone else’s machine as if it’s on your own machine
![Page 83: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/83.jpg)
84
Creating a Popup
• You can specify a TARGET=NEW for an href if you want the URL / Link to pop up a new page when clicked
• This is useful when referencing other sites
![Page 84: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/84.jpg)
85
“Report” on Page
• If you wish to execute a query and return the results to page region that you create, rather than using a PL/SQL block, use a “Report.”
![Page 85: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/85.jpg)
86
Adding Images• To add images, static HTML / Docs
and CSS files to the application, click on– Shared Components
• Images• CSS• Static Files
![Page 86: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/86.jpg)
87
Beware!
• Bugs do exist in APEX
• Be careful about changing things once they are created– Changing “Types”– Changing Item
Names
![Page 87: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/87.jpg)
88
Advanced Topics• Debugging• Using Collections• Authentication & Authorization• Administration• Deployment Process• Available Functions & APIs• Monitoring Activity
![Page 88: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/88.jpg)
89
Debugging• Run any page in your application• Turn on debug mode by clicking on
Debug in the developer toolbar• Timing is processor time, not rendering
time• Append &p_trace=YES to your URL to
generate SQL Trace Filehttp://hostname.com/pls/htmldb/f?p=100:1&p_trace=YES
![Page 89: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/89.jpg)
90
Using Collections• Enable you to temporarily capture rows
and columns of data• Data is persistent throughout a users
unique session• Examples of when to use a collection:
– A wizard with more than one page– A shopping cart application
![Page 90: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/90.jpg)
91
Controlling Collections
• HTMLDB_COLLECTION API– Create– Delete– Truncate– Add/Update/Delete Members– Check Status– Merging– Managing
![Page 91: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/91.jpg)
92
Authentication & Authorization
• Establish User Identity Through Authentication
• Provide Security Through Authorization
![Page 92: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/92.jpg)
93
Authentication• HTML DB will assign the authenticated
username to the built-in substitution string :APP_USER
• Several Schemes– No Authentication/DAD– LDAP– OracleAS SSO (App as a Partner App)– OracleAS SSO (HTLM DB as Partner App)– HTML DB Internal– Open Door– Custom
![Page 93: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/93.jpg)
94
Authorization• Once a user is Authenticated,
Authorization Schemes control what that user can/cannot see & do
• Several Scheme Types– Exists or NOT Exists SQL Query– Item is NULL or NOT NULL– PL/SQL Function– Value of Item = or != Specified Value
![Page 94: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/94.jpg)
95
Administration• An HTML DB Administrator’s main task is to
manage the instance of HTML DB• Monitor Activity to ensure good performance• Some common tasks include
– Approving Service & Change Requests– Managing Schema to Workspace Mappings– Managing Schemas & Tablespaces– All Other Associated DBA functions
http://hostname.com/pls/htmldb/htmldb_admin
![Page 95: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/95.jpg)
96
Available Functions & APIs
• Four major APIs– HTMLDB_UTIL– HTMLDB_ITEM– HTMLDB_APPLICATION– HTMLDB_CUSTOM_AUTH
![Page 96: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/96.jpg)
97
APEX Summary• For additional information, check out:
– http://apex.oracle.com• Externally Hosted Instance
• OTN Discussion Forums• HTML DB “How To” Documents
![Page 97: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/97.jpg)
98
Reference Materials
![Page 98: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/98.jpg)
99
Referencing Items• Substitution String
– #variableName#• Short Substitution
String– &variableName
• PL/SQL– v(‘variableName’)– nv(‘numericValue’)
• Bind Variable– :variableName
• Items can be used to:– Include a substitution
string within a template
– Create an item at the application or page level
– Use built-in substitution strings to achieve a specific type of functionality
![Page 99: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/99.jpg)
100
&variableName.• &variableName is used when you
need to substitute a variable as when you are building a link to another page
• You often need to place a period at the end of the name
• For example:– f?p=&app_id.:2:&session
![Page 100: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/100.jpg)
101
#variableName#• #variableName# is similar to
&variableName. but is used in templates and as a parameter in SQL statements
![Page 101: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/101.jpg)
102
:variableName• :variableName represents a bind
variable and can be used in SQL Query and PL/SQL regions
• For example:– SELECT project_title, total_cost– FROM projects– WHERE project_id = :P1_project_id
![Page 102: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/102.jpg)
103
v(‘variableName’)• v('variableName') or
nv(‘numericVariableName') are functions from the HTML DB APIs that can be used in PL/SQL or SQL statement where a function is called
• For example:– htp.anchor('f?p=' || :app_id || ':2:' ||
v('SESSION'), 'An HTML DB Link') ;
![Page 103: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/103.jpg)
104
Implicit Variables• APP_SESSION • APP_USER • IMAGE_PREFIX • WORKSPACE_IMAGES • APP_IMAGES • BROWSER_LANGUAGE • PRINTER_FRIENDLY • HOME_LINK • PROXY SERVER • REQUEST • SYSDATE_YYYYMMDD• DEBUG
• APP_ID • APP_PAGE_ID • APP SCHEMA OWNER • SQLERRM • AUTHENTICATED_URL_PR
EFIX • LOGOUT_URL • PUBLIC_URL_PREFIX • CURRENT_PARENT_TAB_T
EXT • APP_ALIAS • APP_UNIQUE_PAGE_ID
![Page 104: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/104.jpg)
105
f?p Syntax• f=function, that
handles it all• p=parameters,
separated by a colon• f?p=16654:104
– 1) Application Number (16654, &APP_ID.)
– 2) Page Number (104)– 3) Session
(&SESSION.)– 4) Request
– 5) Debug– 6) Clear Cache (RP
resets pagination)– 7) Item Names,
comma separated– 8) Item Values,
comma separated– 9) Printer Friendly
• For blank parameters, just include the colon with nothing between
![Page 105: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/105.jpg)
106
Summary
• Powerful• Relatively Easy• Fast• Secure• Really works• Hosted
Passionate about the Technology
Best in
the World
Economic
engine
Oracle
TUSC’s Vision
![Page 106: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/106.jpg)
107
Questions and Answers
![Page 107: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/107.jpg)
108
• htmldb.oracle.com• metalink.oracle.com• technet.oracle.com• otn.oracle.com• www.tusc.com
• Oracle Press, “Oracle HTML DB Handbook” by Lawrence C Linnemeyer and Bradley D. Brown
Where to Get More Information
![Page 108: Intro to Application Express](https://reader033.vdocuments.site/reader033/viewer/2022061122/546f8f8eaf7959a40a8b45b1/html5/thumbnails/108.jpg)
109
• Thank you to Brad Brown, the other team members of TUSC for their contributions to this presentation.
• Please report errors to TUSC. Neither TUSC, or the author warrant that this document is error-free.
• TUSC © 2006. This document may not be copied or reproduced without the express written consent of TUSC.
Special Thanks To…