9
12/10/2014 1 Follow: @UKOUG UKOUG Apps/Tech Conference & Exhibition 2014 8 th 10 th December, ACC Liverpool Extending Oracle E-Business Suite with Oracle Application Development Framework Sveinn Halldór Oddsson Zoëga – Advania Iceland Me Sveinn Halldór Oddsson Zoëga Software developer Oracle Application Development Framework 11g Certified Implementation Specialist Oracle 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 Advania Leading Nordic IT consultancy 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

Extending Oracle E-Business Suite with Oracle Application ...docshare01.docshare.tips/files/25192/251923585.pdf · Extending Oracle E-Business Suite with Oracle ... JQuery … ) Desktop

Embed Size (px)

Citation preview

Page 1: Extending Oracle E-Business Suite with Oracle Application ...docshare01.docshare.tips/files/25192/251923585.pdf · Extending Oracle E-Business Suite with Oracle ... JQuery … ) Desktop

12/10/2014

1

Follow: @UKOUG

UKOUG Apps/Tech Conference & Exhibition 2014

8th – 10th December, ACC Liverpool

Extending Oracle E-Business Suite with Oracle Application Development Framework

Sveinn Halldór Oddsson Zoëga – Advania Iceland

Me

■ Sveinn Halldór Oddsson Zoëga

■ Software developer

■ Oracle Application Development Framework 11g Certified Implementation Specialist

■ Oracle▸ 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

Advania

■ Leading Nordic IT consultancy

▸ 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

Page 2: Extending Oracle E-Business Suite with Oracle Application ...docshare01.docshare.tips/files/25192/251923585.pdf · Extending Oracle E-Business Suite with Oracle ... JQuery … ) Desktop

12/10/2014

2

Agenda

■ EBS Extension options

■ Extending with ADF

▸ 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

When to extend

■ Need for more flexible UI

■ Integration with other systems

■ Customized processes

EBS Extension options

■ In-product - recommended first choice

▸ Personalization

▸Customization

▸OAF pages

▸Use if you need

■ Flex fields

■ Same look and feel as EBS

EBS extension options

■ External – to name a few

▸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.

Page 3: Extending Oracle E-Business Suite with Oracle Application ...docshare01.docshare.tips/files/25192/251923585.pdf · Extending Oracle E-Business Suite with Oracle ... JQuery … ) Desktop

12/10/2014

3

Oracle Application Development Framework (ADF)

■ Prime development platform of Oracle

▸ Fusion Applications

▸New applications in E-Business Suite 12.2

■ Electronic Kanban

▸Oracle Sales Cloud

▸…

■ 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

Oracle Application Development Framework (ADF)

■ Common concepts to E-Business Suite

▸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.

Options for extending EBS with ADF

■ Standalone ADF Application

▸Own database

▸Own user management (single sign on?)

▸Web service communication with EBS

Option for extending EBS with ADF

■ Standalone, EBS JAAS

▸Uses EBS users and roles for authentication and authorization

▸Can use ADF security

▸Authorization based on roles

■ Not responsibilities

Page 4: Extending Oracle E-Business Suite with Oracle Application ...docshare01.docshare.tips/files/25192/251923585.pdf · Extending Oracle E-Business Suite with Oracle ... JQuery … ) Desktop

12/10/2014

4

Options for extending EBS with ADF

■ Linked ADF Application – session management

▸ Shared session with EBS

▸Connected to EBS database

▸ EBS user/security management

Options for extending EBS with ADF

■ Integrated region

▸ Included in OAF page

▸Rich content container

▸Organization Chart in Oracle SSHR

ADF in OAF Region 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

Page 5: Extending Oracle E-Business Suite with Oracle Application ...docshare01.docshare.tips/files/25192/251923585.pdf · Extending Oracle E-Business Suite with Oracle ... JQuery … ) Desktop

12/10/2014

5

The magic sauce

■ Oracle E-Business Suite SDK for Java

▸ Patch 13882058: EBS SDK for Java - VERSION 2.0.1

▸Oracle support note: 974949.1

▸Attached manual: E28169_02.pdf

■ Use cases

▸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

AppsDataSource

■ Enables access to the APPS db without sharing apps db user password.

■ Dedicated EBS user (fnd user)

▸Only needs role: UMX|APPS_SCHEMA_CONNECT

■ Gets same access to DB as APPS user.

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 can’t 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.

Page 6: Extending Oracle E-Business Suite with Oracle Application ...docshare01.docshare.tips/files/25192/251923585.pdf · Extending Oracle E-Business Suite with Oracle ... JQuery … ) Desktop

12/10/2014

6

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)

Setup - AppsDataSource

■ Register the external node and Generate the Desktop DBC file

■ On the ebs application server

▸ 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)

Setup – AppsDataSource

■ Setup specific application user▸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).

Setup AppsDataSource

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

■ Create new Datasource

▸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>

Page 7: Extending Oracle E-Business Suite with Oracle Application ...docshare01.docshare.tips/files/25192/251923585.pdf · Extending Oracle E-Business Suite with Oracle ... JQuery … ) Desktop

12/10/2014

7

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

Page 8: Extending Oracle E-Business Suite with Oracle Application ...docshare01.docshare.tips/files/25192/251923585.pdf · Extending Oracle E-Business Suite with Oracle ... JQuery … ) Desktop

12/10/2014

8

ADF application - PagePhaseListener

■ beforePhase - ADFLifecycle.INIT_CONTEXT_ID

▸ 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

ADF Application – Application Module

■ Initialize

▸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"]/param-

value</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

Page 9: Extending Oracle E-Business Suite with Oracle Application ...docshare01.docshare.tips/files/25192/251923585.pdf · Extending Oracle E-Business Suite with Oracle ... JQuery … ) Desktop

12/10/2014

9

Questions?

[email protected]

About UKOUG

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.

© Copyright 2014 UKOUG

Contact

User Group House

591-593 Kingston Road

Wimbledon

London

SW20 8SA

T: +44 (0)20 8545 9670

W: www.ukoug.org