03 - Extending Oracle E-Business Suite With Oracle Application Development Framework

Embed Size (px)

Citation preview

  • 8/10/2019 03 - Extending Oracle E-Business Suite With Oracle Application Development Framework

    1/9

    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 Halldr Oddsson Zoga Advania Iceland

    Me

    Sveinn Halldr Oddsson Zoga

    Software developer

    Oracle Application Development Framework11g Certified Implementation Specialist

    Oracle

    Forms, Reports, PL/SQL, Java, ADF

    Work at Advania in Iceland

    Oracle Applications Consultation anddevelopment

    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

  • 8/10/2019 03 - Extending Oracle E-Business Suite With Oracle Application Development Framework

    2/9

    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

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

  • 8/10/2019 03 - Extending Oracle E-Business Suite With Oracle Application Development Framework

    3/9

    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 andCSS

    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 securityAuthorization based on roles

    Not responsibilities

  • 8/10/2019 03 - Extending Oracle E-Business Suite With Oracle Application Development Framework

    4/9

    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

  • 8/10/2019 03 - Extending Oracle E-Business Suite With Oracle Application Development Framework

    5/9

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

  • 8/10/2019 03 - Extending Oracle E-Business Suite With Oracle Application Development Framework

    6/9

    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 /

    CREATE

    NODE_NAME=

    [IP_ADDRESS=]

    DBC=

    Move the resulting .DBC file to external application server

    (Weblogic)

    Setup AppsDataSource

    Setup specific application user

    Create EBS FND User

    preferably disable password expirationGrant 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 inall caps). At user level (for the user created in earlier step).

    Setup AppsDataSource

    Copy fndext.jar from the patch to /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=

  • 8/10/2019 03 - Extending Oracle E-Business Suite With Oracle Application Development Framework

    7/9

    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

  • 8/10/2019 03 - Extending Oracle E-Business Suite With Oracle Application Development Framework

    8/9

    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

    APPL_SERVER_ID

    ABCDEF1234567890

    Plan.xml

    applServerId

    ABC123

    ...

    applServerId

    /web-app/context-param/[param-name="APPL_SERVER_ID"]/param-

    value

    replace

    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

  • 8/10/2019 03 - Extending Oracle E-Business Suite With Oracle Application Development Framework

    9/9

    12/10/2014

    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