Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

EBsSDKForJavaWithOracleADF_ppt.ppt

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 57 Anuncio

Más Contenido Relacionado

Similares a EBsSDKForJavaWithOracleADF_ppt.ppt (20)

Más reciente (20)

Anuncio

EBsSDKForJavaWithOracleADF_ppt.ppt

  1. 1. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1
  2. 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 2 Best Practices for Using Oracle E-Business Suite SDK for Java with Oracle ADF Juan Camilo Ruiz Principal Product Manager, ADF Sara Woodhull Principal Product Manager, EBS ATG
  3. 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 3 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle's products remains at the sole discretion of Oracle.
  4. 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 4 Program Agenda  Review of previous EBS SDK webcast  Building ADF applications with the EBS SDK: Best Practices
  5. 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 5 Review of Previous EBS SDK Webcast: Using Oracle ADF with Oracle E-Business Suite
  6. 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 6 Review of Previous EBS SDK Webcast  Choose the right technology for your EBS extension – OA Framework – Oracle ADF – Both (hybrid pages) Right technology
  7. 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 7 Choose OA Framework If You Need to…  Use Flexfields  Have same look and feel as the E-Business Suite application  Use OA Framework Personalization New Applications
  8. 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 8 Choose Oracle ADF If You Need to…  Support multiple data sources such as Web Services, URL, Java …  Have multi-channel rich user interfaces  Same development platform as Oracle Fusion Applications  Support mobile devices New Applications
  9. 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 9 Or Choose OAF Pages with ADF Regions “Hybrid Page” lets OAF fields coexist with ADF OAF Main Page Embedded ADF content Rich Content Container in OAF Other OAF fields such as flexfields
  10. 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 10 Oracle E-Business Suite SDK for Java For Releases 11i to 12.x of Oracle E-Business Suite E-Business Suite SDK for Java JAAS Language Info Messages Profile i18n Session Management Apps Log Handler AppsDataSource
  11. 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 11 Review of Previous EBS SDK Webcast  Use Oracle E-Business Suite SDK for Java with Oracle ADF – AppsDataSource – EBS security – With or without EBS context  JAAS provide provides only credentials and roles  Session management provides credentials, responsibilities, and more
  12. 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 12 Oracle E-Business Suite SDK for Java  “Session” refers to Oracle E-Business Suite ICX session – “User session” or “EBS session” – Context information such as user name, responsibility, NLS locale, other information – Identified by ICX session cookie on browser  “Shared session” means same EBS user session across technologies Session terminology
  13. 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 13 Organization Chart in HCM  Available in Release 12.1 HRMS RUP5 - Patch 13418800 (R12.HR_PF.B.Delta.5) HCM embeds ADF in OA Framework using EBS SDK
  14. 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 14 Oracle Electronic Kanban (roadmap)  Uses session management  Launches from EBS home page  Logging out logs out EBS too  Calls EBS PL/SQL APIs Entire application built using ADF but part of EBS Roadmap
  15. 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 15 Building Applications with Oracle E-Business Suite SDK for Java: Best Practices
  16. 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 16 Development and Navigation
  17. 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 17 What JDeveloper Version to Use?  Use JDeveloper 11g R1 – Latest 11.1.1.6.0 – Oracle Fusion Middleware Stack Tooling  Use JDeveloper 11g R2 – Latest 11.1.2.3.0 – ADF, Java EE specific
  18. 18. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 18 Using the AppsDataSource Avoid connecting to APPS schema directly E-Business Suite SDK for Java JAAS Language Info Messages Profile i18n Session Management Apps Log Handler AppsDataSource  External server does not need APPS password  External application can call stored procedures available in APPS  Dedicated FND user with UMX|APPS_SCHEMA_CONNECT role
  19. 19. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 19 Using AppsDataSource with JDeveloper  Set up AppsDataSource in Oracle WebLogic Server. – Follow MOS 974949.1.  Create Application Server connection in JDeveloper  Testing/Deploying – Set Application Server -> Run to new connection. – Generate EAR file and deploy via Enterprise Manager. Avoid connecting to APPS schema directly from JDeveloper E-Business Suite Database AppsDataSource WebLogic Server
  20. 20. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 20 Navigation to ADF From Oracle E-Business Suite  External ADF server profile option: FND_EXTERNAL_ADF_URL  Register ADF page as ADFX-type functions with WEB_HTML : GWY.jsp?targetPage=<URL for ADF page>  Put functions in EBS menus  Oracle E-Business Suite Release 12.1.3 required
  21. 21. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 21
  22. 22. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 22 UMX Roles
  23. 23. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 23 Using EBS UMX Roles with JAAS  Most users have assigned responsibilities, but JAAS requires UMX roles – Want to avoid adding role directly for hundreds of users  Create a UMX role, then add the role to a responsibility – Be sure to add the responsibility name as the security context for the role’s grant  Use the UMX role for your ADF application – Treat as enterprise role in ADF security
  24. 24. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 24 Using Session Management Feature with ADF Applications
  25. 25. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 25 Session Management Flow Session Management uses EBS login screen Log in to EBS ADF Page Choose ADF Function from Responsibility ADF BC (Model) Initialize Session
  26. 26. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 26 ADF BC Layer ADF UI Layer Application Module getEBSSession() Any calls to PL/SQL stored procedures Architecture of ADF with Session Management You need logic in both UI and ADF Model layers SDK EBiz object ICX Session Page MainPageContainerListener beforePhase() checkEBSSession() getAppModule()* setLocale()
  27. 27. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 27 Configuring ADF UI Log in to EBS ADF Page Choose ADF Function from Responsibility ADF BC (Model) Initialize Session
  28. 28. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 28 ADF UI Artifacts Required • Java file • Custom control for ADF Lifecycle • Execute business logic before page loads • Establish session with E-Business Suite PagePhaseListener • <MyPage>PageDef.xml file • Registers custom phase listener • Holds bindings for accessing business services Page Definition • Holds the Application Server Node ID • ADF Faces Application settings Web.xml
  29. 29. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 29 Create a Custom Phase Listener for ADF Page  Java file <MyPage>ContainerListener  Listener establishes EBS session before the page displays  Implements PagePhaseListener – Recommended: beforePhase(PagePhaseEvent pagePhaseEvent) – If needed: afterPhase(PagePhaseEvent pagePhaseEvent) ADF UI Layer
  30. 30. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 30 Register Custom Phase Listener  Register your listener at the single-page level in the pageDef.xml file or globally in adf-settings.xml  MainPageContainPageDef.xml example: <pageDefinition xmlns=http://xmlns.oracle.com/adfm/uimodel version="11.1.1.56.60" id="MainPageContainPageDef" Package="oracle.apps.flm.ekanban.common.ui.page" ControllerClass="oracle.apps.flm.ekanban.common.ui.bean. MainPageContainerListener">
  31. 31. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 31 Custom Phase Listener public void beforePhase(PagePhaseEvent pagePhaseEvent) { checkEBSSession(pagePhaseEvent); setEBSLocale(pagePhaseEvent); } } beforePhase() example code
  32. 32. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 32  Initialize and check if valid EBS session – get the application module – get session from application module  Redirect to EBS login page if needed  Keeps EBS session alive checkEBSSession() Custom Phase Listener
  33. 33. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 33 Custom Page Listener  Optional: Verify you are at certain phases before calling listener methods – Separate ADF application: make sure user has not logged out by calling checkEBSSession() at every phase (not checking for particular phase) OR – ADF pages embedded in OA Framework pages: Improve performance by checking only certain phases  checkEBSSession(): check ADFLifecycle.INIT_CONTEXT_ID phase  setEBSLocale(): check ADFLifecycle.PREPARE_RENDER_ID phase Tip: Validating ADF life cycle phase
  34. 34. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 34 Custom Phase Listener  getAppModule() in UI code follows ADF best practice of going through model layer to get application module instance public static ApplicationModule getAppModule() { BindingContext bctx = BindingContext.getCurrent(); DCDataControl dc = bctx.findDataControl("[dcname]"); ApplicationModule am = (ApplicationModule)dc.getDataProvider(); return am;}  [dcname] is the name of the application module in the .cpx file DCDataControl dc = bctx.findDataControl("commonAMDataControl"); getAppModule() called by checkEBSSession()
  35. 35. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 35 Custom Phase Listener  Get the EBS locale from the EBS session: if(sessionEBS != null) locale = sessionEBS.getLocale();  Set the ADF locale with the EBS locale value: if(FacesContext.getCurrentInstance().getViewRoot() != null) FacesContext.getCurrentInstance().getViewRoot() .setLocale(locale); setEBSLocale() on the UI
  36. 36. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 36 Configuring ADF Business Components Log in to EBS ADF Page Choose ADF Function from Responsibility ADF BC (Model) Initialize Session
  37. 37. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 37 ADF Business Components Artifacts Required • Code in AMImpl.java file • Manages session against E-Business Suite • Keeps one instance of EBiz object • Implements data access methods • Application business services entry point Application Module
  38. 38. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 38 ADF Business Components Layer: EBiz Object  Getting EBiz instance in the application module – Object representation of the Oracle E-Business Suite environment – Holds information such as protocol, domain name, GUEST user name, database_id, Release 11i or R12, and so on – Requires APPL_SERVER_ID and connection EBiz object needed for session management, profiles, messages
  39. 39. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 39 Accessing Node ID Information  Avoid hard coding the APPL_SERVER_ID needed by EBiz object  Add a parameter to the application’s web.xml: <context-param> <param-name>APPL_SERVER_ID</param-name> <param-value>B6EC2D561F631556E0437C2AD20A33A21117154 5941920540894393938377354</param-value> </context-param> EBiz object requires APPL_SERVER_ID from desktop DBC file
  40. 40. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 40 Accessing Node ID Information  When you need the APPL_SERVER_ID for the EBiz object: ServletContext servContext = (ServletContext)ADFContext.getCurrent().getEnvironment() .getContext(); String applServerID = servContext.getInitParameter("APPL_SERVER_ID"); Access the parameter from your ADF Context
  41. 41. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 41 Accessing Node ID Information  Administrator adds site-specific APPL_SERVER_ID value from desktop DBC file to plan.xml file upon deployment of application on Oracle WebLogic Server  plan.xml value overrides value in web.xml Make the APPL_SERVER_ID deployment-specific
  42. 42. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 42 Put EBS PL/SQL Calls in Application Module  Typically need to initialize database session first  Set up and call PL/SQL fnd_global.APPS_INITIALIZE  Set up and call PL/SQL fnd_global.set_nls_context or use AppsSessionHelper.setNLSContext() from fndext.jar  Set up and call the EBS PL/SQL APIs you need Initialize the ADF Business Components context
  43. 43. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 44 Embedding ADF Pages in OA Framework Pages
  44. 44. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 45 Embedding ADF Content in an OAF Page “Hybrid Page” lets OAF fields coexist with ADF OAF Main Page Other OAF fields such as flexfields ADF Rich Content Container in OAF Embedded ADF content
  45. 45. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 46 Embedding ADF in OA Framework Pages You need two JDeveloper environments: ADF and OA Framework ADF 11g JDeveloper Environment OA Framework JDeveloper 10g Environment ADF
  46. 46. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 47 Embedding ADF in OA Framework Pages  Build ADF page using JDeveloper 11g – Deploy ADF application to external Oracle WebLogic Server  Build OA Framework page using development environment corresponding to your EBS version 12.1.2 or later – See “OA Framework - How to find the correct version of JDeveloper to use with eBusiness Suite 11i or Release 12.x” (Doc ID 416708.1) – Follow OA Framework development standards – Deploy custom OA Framework application in EBS environment You need two JDeveloper environments: ADF and OA Framework
  47. 47. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 48 Embedding ADF in OA Framework Pages  You may need to use a stretchable ADF component to contain your main component (such as a hierarchy viewer) Building the ADF page
  48. 48. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 49 Embedding ADF in OA Framework Pages  Set Type to “External ADF Function” Register the ADF page as EBS function
  49. 49. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 50 Embedding ADF in OA Framework Pages  Set HTML Call to GWY.jsp?targetPage= faces/<your ADF page> Register the ADF page as EBS function
  50. 50. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 51 Embedding ADF in OA Framework Pages  Create a rich container region in your OA Framework page – “Others” Content Type – Set Destination Function to your function code Building the OA Framework page
  51. 51. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 52 Resources
  52. 52. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 53 Resources  “Oracle E-Business Suite Software Development Kit for Java” (My Oracle Support Doc ID 974949.1)  Oracle E-Business Suite System Administrator's Guide – Security  See “Oracle Application Framework Documentation Resources, Release 12” (Doc ID 391554.1)  See “OA Framework - How to find the correct version of JDeveloper to use with eBusiness Suite 11i or Release 12.x” (Doc ID 416708.1)  ADF blogs
  53. 53. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 54 E-Business Suite Technology Stack Blog  Direct from EBS Development  Latest EBS techstack news  Certification announcements  Primers, FAQs, tips  Desupport reminders  Latest upgrade recommendations  Statements of Direction  Early Adopter Programs  Subscribe via email or RSS blogs.oracle.com/stevenChan
  54. 54. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 55 ADF Adventures Blog  ADF Development for EBS Developers  Sample Code  Videos  References  Other ADF related topics  Subscribe via email or RSS blogs.oracle.com/jruiz
  55. 55. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 56 Q&A
  56. 56. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 57
  57. 57. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 58

×