Upload
trinhtruc
View
296
Download
9
Embed Size (px)
Citation preview
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
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.
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
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
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.
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>
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
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
12/10/2014
9
Questions?
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