Introduction to Oracle Application Express

Download Report

Transcript Introduction to Oracle Application Express

Progressive Skill
Who Are We?
We are a full services Business Consulting
and Internet Technology Company.
Our mission is to improve business
process and or generate net income for
our customers.
We focus on database driven solutions
leveraging ‘open source code’ models so
that our customers are not ‘Hostage’ to the
technology.
2
Projects/Clients
3
Rapid Application
Development








Quick Development of Software Applications
Visual Tools for Development
Very Little Custom Coding/Programming
Easier to Manage Code and Functionality
Faster Testing and Debugging
Simpler Collaboration among multiple skill sets
Shorter Timelines Lower Budgets
Greater Flexibility with changing/adding
requirements
4
Introduction to
Application Express
(formerly HTML DB)
5
Agenda
• APEX Defined
• Uses – who, what, when, where,
why
• Building applications with APEX
• APEX Administration and
Monitoring
• Tips and Techniques
7
APEX
Defined
8
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
9
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
10
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
11
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(System Global
Area) Size ~1.5GB
• Average Unique
Page Views:
25,000+ per
weekday
• Average Page View
Time: <.5 seconds
• 1 DBA – manages
15 other DBs
12
Major Components
• Administration
• SQL Workshop
• Application Builder
13
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
14
More Features
• Session and State
Management
– Each user has a
session
– Valid
username/password is
required
• User Interface
Control
• Flexible
Authentication and
Authorization
Schemes
– Can use pre-built /
built-in methods or
custom
– Look-and-feel is
separate from
application logic
– Extensive templates
15
“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
16
Architecture
Browser
Oracle HTTP
Server
Oracle Database
APEX
17
Architecture B
Browser
Oracle HTTP
Server
Firewall
Oracle Database
APEX
Instead of the Oracle HTTP Server, you can use the
HTTP Server supplied with Oracle Application Server 9i or 10g
18
APEX
Uses
Who, What, When,
Where, Why…
19
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)
20
Select Journal Article
review
21
Web Collaboration
application
22
Customer Survey
23
Survey Administration
24
Testing Application
25
Creating an APEX
Application
Generally speaking
26
Log into Workspace
• Use the Workspace you chose, the
username and password emailed to
you
27
Home Menu
• You’re ready to begin
–
–
–
–
Build Applications
Work in SQL
Work with Data
Manage users
28
Migrate Data
• Import data from Spreadsheets, XML
or Delimited Files
29
Load Northwinds?
• I loaded the
Northwinds
Database from
SQL Server
• Used Periscope
to load/copy
data
• Once loaded,
view data using
SQL Workshop
30
Drill and Create
• Can
–
–
–
–
–
–
Drill into data
Count rows
Insert/Edit rows
Query by Example
View components
Much more…
31
Use the Wizards
• APEX’s many
wizards will
simplify your life
– use them!
• Reports, Charts,
Forms,
Calendars,
Trees, etc.
32
Create a Hardware
Inventory Application
33
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!
34
Example
Hardware 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
35
Main Menu
36
Import Data
(SQL Workshop)
37
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
38
Import Data Wizard
39
Paste Your Data In…
40
Set Column
Preferences
41
Create a Primary Key
and sequence
42
Object Detail for Table
Created (in Object Browser)
43
Create Lookup Table
• Select column for
look up
• Specify lookup
table specifics
44
Create an Application
45
Create the application
form scratch (this time)
46
Add Report and Form
based on Hardware table
• Notice inclusion of Analysis pages
47
Specify Details for Analysis
48
Could add as many
pages as you want
49
Select Levels of
Tabs
50
Can Share
Components for
other applications
51
Specify Security
and Language
52
Choose a Theme
53
Verify and Finish
54
Run your new Application!
(you will need to log in)
55
Instant Application!
• Searchable report
• Links to edit individual rows
56
Instant Application!
• Edit form with
– Calendar widget
– Picklist based off lookup table
57
Instant Application!
• Analysis Chart and Report
58
Good start but
improvements can be made
• Makes
“codes” more
meaningful
• Format output
Edit page
through edit
link
59
Three basic areas for each
page
60
Elements of a Page
• Shared
Components
– Tabs
– Navigation bar
– Templates
• Regions
–
–
–
–
Items
Labels
Buttons
Widgets
61
Most things are created
through WIZARDS
• Step by step
• Collect
essential info
62
EVERYTHING
has 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.
63
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
64
Reuse of Shared Components
LOV used for both report and edit
65
Easy Data Validation
• Some validation created
automatically based on
database.
• Others easily created with
wizard.
66
Validation Wizard
• Choose the
item
• Specify the
validation type
67
Validation Wizard
• Choose
subtype
• Specify
sequence and
where error
message is to
be displayed
68
Validation Wizard
• Depending on
method, provide
validation
details
• Specify error
message
• Always look for
help provided
– Examples
– Item lookups
69
MOST things can be
CONDITIONAL!
• Many, many
different
types of
conditions
available.
• Item is
displayed or
processed
depending on
the outcome
of the
condition.
70
Validation
• Message displayed by item, central location or
both
• Navigation not allowed until validations pass
71
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.
72
Make a backup!
73
Save the export
74
Deployment
Process
HTML DB App
PL/SQL Code
Data
Development
(Periodic Refresh)
Production
75
APEX Administration
• Administrator
controls Workspaces
• Workspaces control
developer access
and provide
resources.
76
APEX Administration
• Workspaces can be
requested.
• Workspaces are
“provisioned”
• Initial users are
created, more can
be created by the
“workspace”
administrator
• Workspaces/Applic
ations can be
monitored.
77
Workspace
Administration
• Workspace
administrator
manages services
• Creates and alters
workspace /
application users
• Monitors Activity
78
Workspace
Administration
Many reports
and charts are
available to
monitor
workspace
activity.
Many
application
reports are also
available (to
developers also)
79
APEX
Tips and Techniques
80
Sample Applications
• The Sample
Applications
have great
examples
• Take some time
to understand
the applications
• Standard
Sample –
Common
Concepts
81
Spend Time on
Analysis/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
82
Storyboard Design
• Take the time to
map our your
tabs, menus,
layout and
design
Home Page
Products
Consulting
Training
Consulting
Products
A…
B…
C...
Training
83
Debugging
• To view the
current value of
any object (if
you’re a
developer), you
can click on the
session button
at any time
84
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
85
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
86
Adding Images
• To add images, static HTML /
Docs and CSS files to the
application, click on
– Shared Components
• Images
• CSS
• Static Files
87
Advanced Topics
•
•
•
•
•
•
•
Debugging
Using Collections
Authentication & Authorization
Administration
Deployment Process
Available Functions & APIs
Monitoring Activity
88
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 File
http://hostname.com/pls/htmldb/f?p=100:1&p_trace=YES
89
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
90
Authentication &
Authorization
• Establish User Identity Through
Authentication
• Provide Security Through
Authorization
91
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
92
APEX Summary
• For additional information, check
out:
– http://apex.oracle.com
• Externally Hosted Instance
• OTN Discussion Forums
• HTML DB “How To” Documents
93
&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
94
Summary
•
•
•
•
•
•
Powerful
Relatively Easy
Fast
Secure
Really works
Hosted
95
Questions and
Answers
96
Where to Get
More Information
•
•
•
•
•
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
97