Title: Progressive Skill
1Progressive Skill
2Who 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.
3Projects/Clients
4Rapid 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
5Introduction to Application Express(formerly
HTML DB)
6Abstract
- You may have heard about Oracle Application
Express or HTML DB. - It's a powerful and easy way to quickly develop a
database-centric HTML Web application. You can
install APEX on your own machines or run in a
hosted environment on Oracle's site. All
development (construction of pages) is done
through the browser interface. You can use the
SQL Workshop and the Data Workshop to run SQL and
add data to your environment. This easy-to-use
tool will impress you in no time at all!
7Agenda
- APEX Defined
- Uses who, what, when, where, why
- Building applications with APEX
- APEX Administration and Monitoring
- Tips and Techniques
8APEX Defined
9What is APEX?
- Oracles 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
10Its Origin
- Originated from Tom Kytes ASK TOM site
- Used mod_plsql to develop
- Became Project Marvel then HTML DB
- Now its APEX
- Also referred to as Einstein
11Youre 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
12Scalable?
- 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 lt.5 seconds
- 1 DBA manages 15 other DBs
13Major Components
- Administration
- SQL Workshop
- Application Builder
14Components
- SQL Workshop
- Interact with your database as with SQLPlus, 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
15More 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
16Installing 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
17Architecture
Browser
Oracle Database APEX
Oracle HTTP Server
18Architecture B
Browser
Firewall
Oracle Database APEX
Oracle HTTP Server
Instead of the Oracle HTTP Server, you can use
the HTTP Server supplied with Oracle Application
Server 9i or 10g
19APEX Uses
- Who, What, When,
- Where, Why
20What 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)
21Select Journal Article review
22Web Collaboration application
23Customer Survey
24Survey Administration
25Testing Application
26Creating an APEX Application
27Log into Workspace
- Use the Workspace you chose, the username and
password emailed to you
28Home Menu
- Youre ready to begin
- Build Applications
- Work in SQL
- Work with Data
- Manage users
29Migrate Data
- Import data from Spreadsheets, XML or Delimited
Files
30Load Northwinds?
- I loaded the Northwinds Database from SQL Server
- Used Periscope to load/copy data
- Once loaded, view data using SQL Workshop
31Drill and Create
- Can
- Drill into data
- Count rows
- Insert/Edit rows
- Query by Example
- View components
- Much more
32Use the Wizards
- APEXs many wizards will simplify your life
use them! - Reports, Charts, Forms, Calendars, Trees, etc.
33Create a Hardware Inventory Application
34Building 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!
35ExampleHardware 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
36Main Menu
37Import Data (SQL Workshop)
38Converting 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
39Import Data Wizard
40Paste Your Data In
41Set Column Preferences
42Create a Primary Keyand sequence
43Object Detail for Table Created (in Object
Browser)
44Create Lookup Table
- Select column for look up
- Specify lookup table specifics
45Create an Application
46Create the application form scratch (this time)
47Add Report and Form based on Hardware table
- Notice inclusion of Analysis pages
48Specify Details for Analysis
49Could add as many pages as you want
50Select Levels of Tabs
51Can Share Components for other applications
52Specify Security and Language
53Choose a Theme
54Verify and Finish
55Run your new Application!(you will need to log
in)
56Instant Application!
- Searchable report
- Links to edit individual rows
57Instant Application!
- Edit form with
- Calendar widget
- Picklist based off lookup table
58Instant Application!
- Analysis Chart and Report
59Good start but improvements can be made
- Makes codes more meaningful
- Format output
- Edit page through edit link
60Three basic areas for each page
61Elements of a Page
- Shared Components
- Tabs
- Navigation bar
- Templates
- Regions
- Items
- Labels
- Buttons
- Widgets
62Most things are created through WIZARDS
- Step by step
- Collect essential info
63EVERYTHINGhas 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.
64Attribute/Edit Pages
- Attributes in regions by logical groups
- Quick navigation to each region
- Many items are select lists
- Almost all have context sensitive help
65Reuse of Shared Components
LOV used for both report and edit
66Easy Data Validation
- Some validation created automatically based on
database. - Others easily created with wizard.
67Validation Wizard
- Choose the item
- Specify the validation type
68Validation Wizard
- Choose subtype
- Specify sequence and where error message is to be
displayed
69Validation Wizard
- Depending on method, provide validation details
- Specify error message
- Always look for help provided
- Examples
- Item lookups
70MOST things can beCONDITIONAL!
- Many, many different types of conditions
available. - Item is displayed or processed depending on the
outcome of the condition.
71Validation
- Message displayed by item, central location or
both - Navigation not allowed until validations pass
72Security
- 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.
73Make a backup!
74Save the export
75Deployment Process
76APEX Administration
- Administrator controls Workspaces
- Workspaces control developer access and provide
resources.
77APEX 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.
78Workspace Administration
- Workspace administrator manages services
- Creates and alters workspace / application users
- Monitors Activity
79Workspace Administration
Many reports and charts are available to
monitor workspace activity.
Many application reports are also available
(to developers also)
80APEX Tips and Techniques
81Sample Applications
- The Sample Applications have great examples
- Take some time to understand the applications
- Standard Sample Common Concepts
82Spend 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
83Storyboard Design
- Take the time to map our your tabs, menus, layout
and design
84Debugging
- To view the current value of any object (if
youre a developer), you can click on the session
button at any time
85Help!
- 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
86Creating a Popup
- You can specify a TARGETNEW for an href if you
want the URL / Link to pop up a new page when
clicked - This is useful when referencing other sites
87Adding Images
- To add images, static HTML / Docs and CSS files
to the application, click on - Shared Components
- Images
- CSS
- Static Files
88Advanced Topics
- Debugging
- Using Collections
- Authentication Authorization
- Administration
- Deployment Process
- Available Functions APIs
- Monitoring Activity
89Debugging
- 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_traceYES to your URL to generate SQL
Trace File
http//hostname.com/pls/htmldb/f?p1001p_traceY
ES
90Using 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
91Authentication Authorization
- Establish User Identity Through Authentication
- Provide Security Through Authorization
92Administration
- An HTML DB Administrators 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
93APEX Summary
- For additional information, check out
- http//apex.oracle.com
- Externally Hosted Instance
- OTN Discussion Forums
- HTML DB How To Documents
94variableName.
- 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?papp_id.2session
95Summary
- Powerful
- Relatively Easy
- Fast
- Secure
- Really works
- Hosted
96Questions and Answers
97Where 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