You are on page 1of 9

12/10/2014

UKOUG Apps/Tech Conference & Exhibition 2014


8th 10th December, ACC Liverpool

Extending Oracle E-Business Suite with Oracle


Application Development Framework
Sveinn Halldr Oddsson Zoga Advania Iceland

Follow: @UKOUG

Me

Advania

Sveinn Halldr Oddsson Zoga


Software developer
Oracle Application Development Framework
11g Certified Implementation Specialist
Oracle

Leading Nordic IT consultancy

Forms, Reports, PL/SQL, Java, ADF

Work at Advania in Iceland

Oracle Applications Consultation and


development
OEBS for the Icelandic State

is.linkedin.com/in/sveinnzoega

1,100 Employees, 17 offices in 3 countries: Iceland, Norway and


Sweden

Oracle Solutions department in Iceland


Localized and implemented Oracle E-Business Suite for the
Icelandic State
Support, hosting and customization of Oracle EBS

Thor Data Center

www.advania.com

12/10/2014

Agenda

When to extend

EBS Extension options


Extending with ADF

Need for more flexible UI


Integration with other systems
Customized processes

Standalone external application using EBS authentication


Application sharing EBS session
Application integrated into OAF page

E-Business Suite Software Development Kit for Java


AppsDataSource
Setup

EBS Extension options

EBS extension options

In-product - recommended first choice


Personalization
Customization
OAF pages
Use if you need

External to name a few

Flex fields
Same look and feel as EBS

Oracle: APEX / Forms / Reports / ADF


Other Web tools, J2EE, PHP, .Net, etc etc.
Javascript libraries (AngularJS, JQuery )
Desktop clients . Etc etc.
Web Services
Consider and use if you need any functionality not (as easily)
provided by EBS.

12/10/2014

Oracle Application Development


Framework (ADF)

Oracle Application Development


Framework (ADF)

Prime development platform of Oracle

Common concepts to E-Business Suite

Fusion Applications
New applications in E-Business Suite 12.2
Electronic Kanban

Oracle Sales Cloud

Business Components, Application Modules, View Objects

End to end framework, complete solution.


Productivity
Spend the time solving the business case, not re-inventing the
wheel.

Powerful enterprise java framework


Good support for the Oracle Database
Full-fledged IDE (JDeveloper)
Modern web UI without the need for expertise in JavaScript and
CSS

Options for extending EBS with ADF

Option for extending EBS with ADF

Standalone ADF Application

Standalone, EBS JAAS

Own database
Own user management (single sign on?)
Web service communication with EBS

Uses EBS users and roles for authentication and authorization


Can use ADF security
Authorization based on roles
Not responsibilities

12/10/2014

Options for extending EBS with ADF

Options for extending EBS with ADF

Linked ADF Application session management

Integrated region

Shared session with EBS


Connected to EBS database
EBS user/security management

ADF in OAF Region

Included in OAF page


Rich content container
Organization Chart in Oracle SSHR

Which option to choose


No need for shared session context or ebs authentication
Standalone application

Need for EBS authentication and authorization


EBS SDK JAAS and ADF Security

Need for synchronized sessions and context


EBS SDK Session management
Whole page application or integrated region.

Other uses of the application

12/10/2014

The magic sauce

AppsDataSource

Oracle E-Business Suite SDK for Java

Enables access to the APPS db without sharing apps db user


password.
Dedicated EBS user (fnd user)

Patch 13882058: EBS SDK for Java - VERSION 2.0.1


Oracle support note: 974949.1
Attached manual: E28169_02.pdf

Use cases

Only needs role: UMX|APPS_SCHEMA_CONNECT

Gets same access to DB as APPS user.

Application sharing a session with Oracle E-Business Suite


Session management, logging, profiles, message dictionary

Independent application (not shared session)


JAAS, logging

Both use AppsDataSource

JAAS -Java Authentication and


Authorization Service
Authenticates FND users (EBS users)
Authorization based on EBS roles
Only role codes of the format UMX|ROLECODE
Responsibilities cant be used

ADF Security is supported (and recommended)


Requires recompilation of fndext.jar for every application
server.

Session management
External application shares EBS session (ICX session)
Session information and context synchronized
Context provides EBS Responsibility, application, security group
and organization
NLS parameters, NLS_DATE_FORMAT, NLS_LANGUAGE
Keeps EBS session alive while working in external application
Access to get and set profile options
EBS security context in db connection.

12/10/2014

Setup - AppsDataSource

Setup - AppsDataSource

Register the external node and Generate the Desktop DBC file
Setup specific application user with the
UMX|APPS_SCHEMA_CONNECT role
Configure EBS profile options
Configure the datasource in the java container (e.g. Weblogic)

Register the external node and Generate the Desktop DBC file
On the ebs application server

Setup AppsDataSource

Setup AppsDataSource

Setup specific application user

Copy fndext.jar from the patch to <domain>/lib


Create new Datasource

Create EBS FND User

preferably disable password expiration

Grant role UMX|APPS_SCHEMA_CONNECT

Verify profile option values


FND: Validate User Type
Desktop Only at site level

FND: Validate IP address


Desktop Only at site level

FND: Desktop Nodes allowed


Comma separated list of allowed external nodes (full hostname in
all caps). At user level (for the user created in earlier step).

cd $JAVA_TOP
java oracle.apps.fnd.security.AdminDesktop <apps user>/<apps
pwd>
CREATE
NODE_NAME=<node name of the external application server>
[IP_ADDRESS=<IP address of external application server>]
DBC=<full name and path of existing standard dbc_file>
Move the resulting .DBC file to external application server
(Weblogic)

Oracle's Driver (Thin) for Instance connections


Specify name and JNDI name
Deselect support global transactions
DB sid,hostname, port as usual
DB Username/pwd: the user_name/pwd of the ebs user
created earlier
Driver class:
oracle.apps.fnd.ext.jdbc.datasource.AppsDataSource
Properties, add: dbcFile=<full path of your desktop DBC file>

12/10/2014

Launching ADF from EBS


From EBS 12.1.3
Function of type External ADF Application
HTML Call: GWY.jsp?targetPage=ADF1/faces/home

Profile option External ADF Application URL


URL of ADF application context root

The actual URL fetched is those 2 combined


Call this function e.g. from a menu to launch the ADF
application
Patch (16197693:R12.FND.B )is needed to launch from Forms

Launching ADF from EBS

ADF application
Parts involved
Application Module
PagePhaseListener
adf-settings.xml

12/10/2014

ADF application - PagePhaseListener

ADF Application Application Module

beforePhase - ADFLifecycle.INIT_CONTEXT_ID

Initialize

checkEBSSession
Get session from application module
Check status of session
Redirect to EBS login if session is not valid

beforePhase - ADFLifecycle.PREPARE_RENDER_ID
Call initialization in application module
Get Locale from EBS session and set in ADF application

Construct Ebiz object, using database connection


(appsDataSource) and application server id
Id is the same as in the dbc file and table fnd_nodes
Id should not be hardcoded web.xml

Set session variables for ADF session, copy from EBS Session
Ping EBS session to keep it alive

Helper methods
To access and modify EBS session data

Node Id parameter overwrite


web.xml
<context-param>
<param-name>APPL_SERVER_ID</param-name>
<param-value>ABCDEF1234567890</param-value>
</context-param>
Plan.xml
<variable>
<name>applServerId</name>
<value>ABC123</value>
</variable>
...
<variable-assignment>
<name>applServerId</name>
<xpath>/web-app/context-param/[param-name="APPL_SERVER_ID"]/paramvalue</xpath>
<operation>replace</operation>
</variable-assignment>

References
FAQ for Integration of Oracle E-Business Suite and Oracle
Application Development Framework (ADF) Applications
My Oracle Support Doc ID: 1296491.1

Oracle support note: 974949.1


Attached manual: E28169_02.pdf

Patch 13882058: EBS SDK for Java version 2.0.1


Using the Organization Chart Feature in Oracle SSHR
My Oracle Support Doc ID 1408355.1

12/10/2014

Questions?

About UKOUG

Contact

UKOUG exists to serve the Oracle


community in the UK and Ireland. We act
as a focal point for sharing knowledge
about Oracle applications, technologies,
tools and developments and, as an
independent, not for profit membership
organisation, represent the views of
users and partners to Oracle.

User Group House


591-593 Kingston Road
Wimbledon
London
SW20 8SA
T: +44 (0)20 8545 9670
W: www.ukoug.org

Copyright 2014 UKOUG

sveinn.zoega@advania.is