0% found this document useful (0 votes)
197 views70 pages

Integrating Oracle Application Express With The Oracle Ebusiness Suite

This document discusses integrating Oracle Application Express (ApEx) with the Oracle eBusiness Suite. It covers integration points like using a custom application, single sign-on server, authorization schemes, and workflow. The presentation introduces ApEx and how it can be used to build applications that interface with eBusiness Suite functionality through APIs rather than maintaining separate tables.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
197 views70 pages

Integrating Oracle Application Express With The Oracle Ebusiness Suite

This document discusses integrating Oracle Application Express (ApEx) with the Oracle eBusiness Suite. It covers integration points like using a custom application, single sign-on server, authorization schemes, and workflow. The presentation introduces ApEx and how it can be used to build applications that interface with eBusiness Suite functionality through APIs rather than maintaining separate tables.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 70

Integrating Oracle

Application Express with


the Oracle eBusiness Suite
Scott Spendolini
[email protected]
Sumner Technologies, LLC
http://sumnertech.com

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #1
Agenda

• Introduction
• Integration Points
• “Demo”
• Migrating from Oracle Forms
• Q&A

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #2
Introduction

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #3
Biography

• Oracle employee for almost 10 years in


the Washington, DC region
• From JAN-2002 until SEP-2005 – Senior
Product Manager for Oracle HTML DB
• Helped get three major releases out the
door
• Presented at OpenWorld, IOUG, ODTUG
• Active OTN Forum participant

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #4
Making the Jump

• September 9th, 2005: Last


Day at Oracle
• Started my own
company: Sumner
Technologies, LLC
(http://sumnertech.com)
• Specialize in Oracle
Application Express
consulting & training

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #5
A New Name

• Oracle HTML DB was renamed to


Oracle Application Express on 30-JAN
• Still do not need Oracle Application Server
• No relation to Oracle Express
• But a slight relation to Oracle Database
Express Edition
• Commonly referred to as Oracle ApEx
• http://apex.oracle.com

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #6
Oracle ApEx Roadmap

• Release 2.1
• Only available with Oracle Database
Express Edition
• Virtually Identical to Release 2.0
• Release 2.2
• Additional Themes
• Improved Distribution of Applications
• Support for 9.2.0.3+

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #7
Oracle ApEx Roadmap

• Release 3.0
• First 10g Only Release
• Easier Form Layout tools
• More quick-start applications for common
business scenarios
• Adobe PDF support
• MS Access migration assistant
• Improved charting capabilities
• Improved master-detail functionality

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #8
Integration Points

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #9
Integration Customer

• DoD Contract with SAIC


• Custom Application
integrated with Oracle BOM
and HR
• Custom Forms & Workflows
• Deployed to ~2,000 Forms
Users
• Sub-set of Custom
Functionality needed for
~10,000 users

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #10
ApEx Applications

• Currently Developing several Oracle ApEx


Applications
• Chain of Command Node Manager
• Functional Node Manager
• Staffing
• Item Reassignment
• Workflow Response Processor
• Personal Information
• Login Processor
• Password Reset
• Forgotten Password
• Request New Account

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #11
ApEx Applications

• No Base Tables – all data updated via


eBusiness Suite APIs
• No Additional Licenses
• Customer has 9iR2 Database License
• Quick Deployment Time
• First prototype Node Manager took less than a
week
• No JInitiator or Other Client Software Needed
• Any platform with a modern browser
• Completely Integrated
• Portal, eBusiness Suite, Workflow

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #12
Integration Points

• Custom Application
• Single Sign On Server
• eBusiness Suite Security Model
• Authorization Schemes
• Workflow
• Administration & Monitoring

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #13
Custom Application

• A Custom eBusiness Suite Application


should be created and registered for
your ApEx Applications
• Adhere to the Coding Standards defined in
Chapter 2 of the Oracle Applications
Developer Guide (Part #A83705-03)
• No other special considerations for
ApEx applications required on the
eBusiness Suite Side
Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #14
Custom Application

• Database Object Locations:


• Tables, Views, Sequences, Triggers all go
in the Custom Schema
• Create appropriate Grants & Synonyms in
the APPS schema
• All PL/SQL code (Functions, Procedures &
Packages) goes in the APPS Schema

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #15
Custom Application

• On the ApEx Side:


• Set up your Workspace to parse in the
APPS schema
• Create an Authorization Scheme to use the
SSO Server from Oracle Portal
• More on this later
• Since you’re parsing as APPS, the Object
Browser may be slow – consider using
another PL/SQL Developer tool
• Oracle SQL Developer (Formerly Raptor)

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #16
Custom Application Benefits

• Protection from Upgrades and Patches


• Upgrades and Patches will not impact your
custom data, as it is in a separate schema
• Conform with Oracle Coding Standards
• Can be useful when calling Oracle
Support, for example

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #17
Integration Points

• Custom Application
• Single Sign On Server
• eBusiness Suite Security Model
• Authorization Schemes
• Workflow
• Administration & Monitoring

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #18
Single Sign On Server

• Oracle ApEx can be a Partner


Application to the Oracle Single Sign
On Server
• Thus, when users sign on to Oracle
Portal, they are Authenticated to any
and all Oracle ApEx Applications

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #19
Single Sign On Server

1) User signs on to Oracle eBusiness Suite Home Page

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #20
Single Sign On Server

2) User navigates to and clicks ApEx Application


link via standard Application Menus

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #21
Single Sign On Server

Redirecting to the Login Server

3) Oracle ApEx application redirects to the


Oracle Login Server to validate Authentication

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #22
Single Sign On Server

4) User is Granted or Denied access to


Oracle ApEx Application

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #23
Alternative to SSO

• If integrating to the SSO is not


possible, consider using a Custom
Authorization Scheme based on the
fnd_web_sec.validate_login
Procedure

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #24
Alternative to SSO

• Create a Custom Authentication Function:


create or replace function custom_ebiz_suite_auth
(p_username IN VARCHAR2, p_password IN VARCHAR2)
return boolean
as
begin
if fnd_web_sec.validate_login(p_username, p_password) =
'Y' then
return true;
else
return false;
end if;
end;
/

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #25
Alternative to SSO

• Create a new Authentication Scheme


• Select From Scratch
• Enter a Name
• Leave Sentry Function empty
• Leave Session Verification Function empty
• Set Invalid Session Target = ApEx Built in
Login Page
• Leave Pre-Authentication Process empty

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #26
Alternative to SSO

• Select Use my custom function to authenticate for


the Credentials Authentication Method and enter
return custom_ebiz_suite_auth;
for the Authentication Function
• Leave the Post-Authentication Process empty
• Leave all Cookie Information empty
• Enter
wwv_flow_custom_auth_std.logout?p_this_flo
w=&APP_ID.&p_next_flow_page_sess=&APP_ID.:
1:&SESSION.
for the Logout URL (all on one line)
• Create & Activate your Authentication Scheme

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #27
SSO Benefits

• Single Point of Administration


• FND_USER via Standard COTS Forms
• Access automatically revoked when users expired
or deleted
• Reuse Existing Directory
• Not “another” username & password to remember
• Self Service Security
• Users reset their passwords based on pre-
determined policy
• Users Like It!
• Anything that you can do to make users happy is
typically a good thing

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #28
Integration Points

• Custom Application
• Single Sign On Server
• eBusiness Suite Security Model
• Authorization Schemes
• Workflow
• Administration & Monitoring

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #29
eBusiness Suite Security Model

• ApEx can be integrated with the


standard eBusiness Suite Security
Model
• Functions
• Menus
• Responsibilities

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #30
eBusiness Suite Security Model

• Steps to Integrate:
• Create a Function
• Create a Menu
• Create an Application
• Register a Data Group
• Create a Responsibility
• Create a Package
• Grant Execute on the Package to PUBLIC
• Assign the Responsibility to Users
• Secure the ApEx Application with an
Authorization Scheme

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #31
eBusiness Suite Security Model

• Create a Function for Each ApEx Application


• Description Tab
• Function: APEX_DB_100
• User Function Name: Run ApEx DB Application 100
• Properties Tab
• Type: SSWA plsql function
• Maintenance Mode Support: None
• Context Dependence: Responsibility
• Web HTML Tab
• HTML Call: apps.apex_launcher.launch_100
• Web Host Tab
• Agent Name: pls/apex

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #32
eBusiness Suite Security Model

• Create a Menu
• Menu Name: APEX_APPS
• User Menu Name: Oracle ApEx Applications
• Seq: 10
• Prompt: Application 100
• Function: Run ApEx
Application 100
• Description:
Oracle ApEx
Application 100

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #33
eBusiness Suite Security Model

• Create an Application
• Application: ApEx Applications
• Short Name: APEX
• Basepath: APEX_TOP
• Description: Oracle ApEx Applications

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #34
eBusiness Suite Security Model

• Register a Data Group


• Query for your Data Group (typically “Standard”)
• Application: APEX Applications
• Oracle ID: APPS

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #35
eBusiness Suite Security Model

• Create a Responsibility for Each ApEx Application


• Responsibility Name: Oracle ApEx Applications
• Application: ApEx Applications
• Responsibility Key: APEX_APPS
• Available From:
Oracle Self Service
Web Applications
• Data Group Name:
Standard
• Application: ApEx
Applications
• Menu: Oracle ApEx
Applications

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #36
eBusiness Suite Security Model

• Create a Package in the APPS Schema:


create or replace package apex_launcher
is
procedure launch_100;
end apex_launcher;
/
create or replace package body apex_launcher
as
procedure launch_100
as
begin
f(p=>'100:1');
end;
end apex_launcher;
/

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #37
eBusiness Suite Security Model

• Grant Execute on the Package to


PUBLIC
grant execute on apex_launcher to public;

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #38
eBusiness Suite Security Model

• Assign Responsibility to Users


• Assign the Responsibility to appropriate
users
• An Apache bounce may be needed for
users to see the new Responsibility on
their Portal Page

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #39
eBusiness Suite Security Model

• Secure ApEx Application with an


Authorization Scheme based on a
Responsibility
• More about this next

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #40
eBusiness Suite Security Model

• Best Practices:
• At Least One Responsibility per ApEx
Application
• Additional Responsibilities can be added for
different user classes (Admin, Read Only, etc.)
• Define and adhere to a Naming Standard
• Start all ApEx eBusiness Suite items with
APEX_<APP_NAME>

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #41
eBusiness Suite Security Model Benefits

• Single Point of Administration


• All access to applications is maintained in the
COTS System Administration screens
• Data stored in COTS tables FND_USER,
FND_USER_RESP_GROUPS &
FND_RESPONSIBILITY
• Easier to Manage Access
• Easily determine who has access to which
application

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #42
eBusiness Suite Security Model Benefits

• Programmatically Add and Remove


Responsibilities via APIs in your ApEx
Applications
• fnd_user_pkg.AddResp(user, app_short_name,
resp_key, data_group, comment, start_date,
end_date);
• fnd_user_pkg.DelResp(user, app_short_name,
resp_key, data_group);

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #43
Integration Points

• Custom Application
• Single Sign On Server
• eBusiness Suite Security Model
• Authorization Schemes
• Workflow
• Administration & Monitoring

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #44
Authorization Schemes

• Authorization Schemes are built-in


ApEx security components
• Can be associated with almost
anything – from an entire Application to
a Report Column
• Based on a variety of criteria
• Item = Value, PL/SQL Function, Exists/Not
Exists Query

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #45
Authorization Schemes

User
Applications
User
Pages
User
Tabs

Responsibility Authorization Scheme

Menu Regions

Function Items
Function
Report Columns
Function

Oracle eBusiness Suite Oracle ApEx

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #46
Authorization Schemes

User
Applications
User
Pages
User
Tabs

Responsibility Authorization Scheme

Menu Regions

Function Items
Function
Report Columns
Function

Oracle eBusiness Suite Oracle ApEx

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #47
Authorization Schemes

• Sample Authorization Exists Scheme

select 1 from apps.fnd_user_resp_groups ur,


apps.fnd_user u, apps.fnd_responsibility r
where u.user_name = :APP_USER
and u.user_id = ur.user_id
and ur.responsibility_id = r.responsibility_id
and r.responsibility_key like 'APEX_APP100%'
and (ur.end_date is null or ur.end_date > sysdate)

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #48
Authorization Schemes

• Best Practices:
• Create multiple Authorization Schemes &
Responsibilities per Application based on User
Roles
• Set Authorization Scheme to
Per Session, not Per Page View
• Choose a Unique Naming Standard for
Responsibility Keys
• Default Role: APEX_APP100
• Admin Role: APEX_APP100_ADMIN
• Update Role: APEX_APP100_UPDATE
• This way, any user with APEX_APP100% can gain
default level access to the system

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #49
Integration Points

• Custom Application
• Single Sign On Server
• eBusiness Suite Security Model
• Authorization Schemes
• Workflow
• Administration & Monitoring

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #50
Workflow

• Supplement Notifications
• Response Processing

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #51
Workflow

• Supplement Notifications
• Some notifications require additional data
to be input
• Before ApEx, hand-coded forms were used
to select the data
• Inefficient, not secure, hard to maintain
• A simple 1-page ApEx Application was
created to facilitate data entry

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #52
Workflow

• Before ApEx:
• Over 750 lines of PL/SQL
& JavaScript code
• Most of it for validating the
Due Date field
• Can’t Search Report
• Can’t Sort Report
• No Security
• 2 days Development
Time

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #53
Workflow

• With ApEx
• 2 ApEx Pages &
35 Lines of Code
(96% savings!)
• Searchable Report
• Sort by Any Column
• Integrated with Single
Sign On Security
• 30 minutes Development
Time

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #54
Workflow

• Response Processing
• Substitute for Workflow Response
Processing
• Used ApEx because IMAP port cannot be
opened

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #55
Workflow

• User receives Workflow Notification


• Notification has custom links
• User clicks a link
• A key is sent to ApEx
• If it’s a valid Key, the Response is
Processed
• Otherwise, the attempt is logged and
no action is taken
Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #56
Workflow

1) User receives a Workflow Notification via E-Mail

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #57
Workflow

A$4KN#s(1n@d)9no

2) User clicks on a custom link in the E-Mail which


contains a unique Key

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #58
Workflow

A$4KN#s(1n@d)9no

KEY VALID USERNAME ACTION


A$4KN#s(1n@d)9no Y SCOTT Approve
Item
%d92(!kMX0Ss)31q6 Y SHANNON Start
Approval

3) The Key is sent to Oracle ApEx where it is checked


against a table of valid keys

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #59
Workflow

A$4KN#s(1n@d)9no

KEY VALID USERNAME ACTION


A$4KN#s(1n@d)9no N SCOTT Approve
Item
%d92(!kMX0Ss)31q6 Y SHANNON Start
Approval

4) If the Key is valid & matches the signed on user,


the action is taken and the key is then invalidated

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #60
Workflow

Ks*3mD4(*%mdSd24%

KEY VALID USERNAME ACTION


A$4KN#s(1n@d)9no Y SCOTT Approve
Item
%d92(!kMX0Ss)31q6 Y SHANNON Start
Approval

5) If the Key is invalid, the IP Address and


Invalid Key is logged and no action is taken

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #61
Workflow Benefits

• Easy to enhance standard Notifications


• Less Code to Maintain
• Another way to handle Response
Processing

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #62
Integration Points

• Custom Application
• Single Sign On Server
• eBusiness Suite Security Model
• Authorization Schemes
• Workflow
• Administration & Monitoring

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #63
Administration & Monitoring

• Simple to build ApEx Admin &


Monitoring applications
• Can call eBusiness Suite APIs
• Create and Remove Users &
Responsibilities
• Useful for Auditing Reports and Charts
• Can be in the same application but
restricted by a Responsibility to Admin
Users

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #64
Another Quick Example

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #65
eBusiness Suite Supplement

• PGA of America runs


Oracle Financials 11i
• Plain Vanilla Implementation with No
Customizations
• Small organization with an even smaller IT
department
• In the process of consolidating Accounting
for all 41 sections
• Oracle ApEx Reference
• http://htmldb.oracle.com/references

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #66
eBusiness Suite Supplement

• Dashboard Application
• Monitors Key Financial Statistics
• First Version was Live in a Week
• Purse Management System
• Pays tournament winners
• Integrated with
• SiteMinder Single Sign On
• Oracle Project Accounting,
Purchasing & Payables
• Total Cost Savings of over $250,000

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #67
“Demo”

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #68
Migrating from Forms

• Stateless vs. Stateful


• Reuse DB Objects & PL/SQL
• Look & Feel
• Events – Same but Different
• AJAX for Client/Server UI Components

Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #69
Integrating Oracle ApEx & Oracle eBusiness Suite ‐ Slide #70

You might also like